📄 usecreplacedialogs.~pas
字号:
unit uSecReplaceDialogs;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, uSecDialogs;
type
TSecReplaceFrm = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
CheckBox1: TCheckBox;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure CheckBox1Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
private
FOnFind: TNotifyEvent;
FOnReplace: TNotifyEvent;
FOptions: TFindOptions;
FFindText: string;
FReplaceText: string;
procedure SetOnFind(const Value: TNotifyEvent);
procedure SetOnReplace(const Value: TNotifyEvent);
procedure SetFindText(const Value: string);
function GetFindText:string;
procedure SetReplaceText(const Value: string);
function GetReplaceText:string;
{ Private declarations }
public
{ Public declarations }
constructor create(Aowner:TComponent);override;
property FindText:string read GetFindText write SetFindText;
property ReplaceText:string read GetReplaceText write SetReplaceText;
property OnFind:TNotifyEvent read FOnFind write SetOnFind;
property OnReplace:TNotifyEvent read FOnReplace write SetOnReplace;
property Options: TFindOptions read FOptions write FOptions;
end;
implementation
{$R *.dfm}
{ TSecReplaceFrm }
procedure TSecReplaceFrm.SetOnFind(const Value: TNotifyEvent);
begin
FOnFind := Value;
end;
procedure TSecReplaceFrm.Button1Click(Sender: TObject);
begin
if assigned(FOnFind) then
FOnFind(Sender);
end;
constructor TSecReplaceFrm.create(Aowner: TComponent);
begin
inherited create(AOwner);
FOnFind:=TSecReplaceDialog(AOwner).OnFind;
FOnReplace:=TSecReplaceDialog(AOwner).OnReplace;
FOptions:=FOptions+[frDown];
Button1.Enabled:=Edit1.Text<>'';
Button2.Enabled:=Edit1.Text<>'';
Button3.Enabled:=Edit1.Text<>'';
end;
procedure TSecReplaceFrm.SetOnReplace(const Value: TNotifyEvent);
begin
FOnReplace := Value;
end;
procedure TSecReplaceFrm.Button2Click(Sender: TObject);
begin
FOptions:=FOptions-[frReplaceAll]+[frReplace];
if assigned(FOnReplace) then
FOnReplace(Sender);
end;
procedure TSecReplaceFrm.Button3Click(Sender: TObject);
begin
if assigned(FOnReplace) then
FOnReplace(Sender);
end;
procedure TSecReplaceFrm.Button4Click(Sender: TObject);
begin
close;
end;
procedure TSecReplaceFrm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=cafree;
end;
procedure TSecReplaceFrm.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked then
FOptions:=FOptions+[frMatchCase]
else
FOptions:=FOptions-[frMatchCase];
end;
procedure TSecReplaceFrm.SetFindText(const Value: string);
begin
FFindText := Value;
Edit1.Text := FFindText;
end;
function TSecReplaceFrm.GetFindText: string;
begin
FFindText := Edit1.Text;
result := FFindText;
end;
procedure TSecReplaceFrm.SetReplaceText(const Value: string);
begin
FReplaceText := Value;
Edit2.Text := FReplaceText;
end;
function TSecReplaceFrm.GetReplaceText: string;
begin
FReplaceText := Edit2.Text;
result := FReplaceText;
end;
procedure TSecReplaceFrm.Edit1Change(Sender: TObject);
begin
Button1.Enabled:=Edit1.Text<>'';
Button2.Enabled:=Edit1.Text<>'';
Button3.Enabled:=Edit1.Text<>'';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -