86 lines
1.5 KiB
ObjectPascal
86 lines
1.5 KiB
ObjectPascal
unit formfind;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ButtonPanel,
|
|
StdCtrls;
|
|
|
|
type
|
|
|
|
{ TfmFind }
|
|
|
|
TfmFind = class(TForm)
|
|
bCount: TButton;
|
|
bMarkAll: TButton;
|
|
bFind: TButton;
|
|
bCancel: TButton;
|
|
bRep: TButton;
|
|
bRepAll: TButton;
|
|
chkFromCaret: TCheckBox;
|
|
chkConfirm: TCheckBox;
|
|
chkRep: TCheckBox;
|
|
chkRegex: TCheckBox;
|
|
chkBack: TCheckBox;
|
|
chkCase: TCheckBox;
|
|
chkWords: TCheckBox;
|
|
edFind: TEdit;
|
|
edRep: TEdit;
|
|
Label1: TLabel;
|
|
procedure chkRegexChange(Sender: TObject);
|
|
procedure chkRepChange(Sender: TObject);
|
|
procedure FormShow(Sender: TObject);
|
|
private
|
|
procedure Update;
|
|
{ private declarations }
|
|
public
|
|
{ public declarations }
|
|
end;
|
|
|
|
var
|
|
fmFind: TfmFind;
|
|
|
|
implementation
|
|
|
|
{$R *.lfm}
|
|
|
|
{ TfmFind }
|
|
|
|
procedure TfmFind.chkRegexChange(Sender: TObject);
|
|
begin
|
|
Update;
|
|
end;
|
|
|
|
procedure TfmFind.chkRepChange(Sender: TObject);
|
|
begin
|
|
Update;
|
|
end;
|
|
|
|
procedure TfmFind.FormShow(Sender: TObject);
|
|
begin
|
|
Update;
|
|
end;
|
|
|
|
procedure TfmFInd.Update;
|
|
var
|
|
rep: boolean;
|
|
begin
|
|
rep:= chkRep.Checked;
|
|
|
|
chkWords.Enabled:= not chkRegex.Checked;
|
|
chkBack.Enabled:= not chkRegex.Checked;
|
|
chkConfirm.Enabled:= rep;
|
|
edRep.Enabled:= rep;
|
|
bFind.Visible:= not rep;
|
|
bRep.Visible:= rep;
|
|
bRepAll.Visible:= rep;
|
|
|
|
if rep then Caption:= 'Replace' else Caption:= 'Find';
|
|
if rep then bRep.Default:= true else bFind.Default:= true;
|
|
end;
|
|
|
|
end.
|
|
|