📄 grepsearchdlg.pas
字号:
Unit GrepSearchDlg;
Interface
//! StH: This unit has been completely prepared for localization
//! StH: This unit is fully compatible with C++Builder
Uses
Windows,
Messages,
SysUtils,
Classes,
Graphics,
Controls,
Forms,
Dialogs,
StdCtrls,
Buttons,
Registry,
GrepResultsDlg,
MRUCombo,
vgNLS,
EditModule,
MainEdit,
Mask,
ToolEdit,
Placemnt;
Type
TfrmGrepSearch = Class(TForm)
lblFind: TLabel;
cbText: TMRUComboBox;
gbxOptions: TGroupBox;
chkNoCase: TCheckBox;
chkNoComments: TCheckBox;
gbxWhere: TGroupBox;
rbAllFiles: TRadioButton;
rbOpenFiles: TRadioButton;
rbDirectories: TRadioButton;
gbxDirectories: TGroupBox;
lblDirectory: TLabel;
lblMasks: TLabel;
cbMasks: TComboBox;
chkInclude: TCheckBox;
BtnOK: TButton;
BtnCancel: TButton;
chkWholeWord: TCheckBox;
rbCurrentOnly: TRadioButton;
BtnHelp: TButton;
sbVCL: TSpeedButton;
sbRTL: TSpeedButton;
chkRegEx: TCheckBox;
chkGrepANSI: TCheckBox;
cbDirectory: TDirectoryEdit;
FormStorage: TFormStorage;
Procedure FormCreate(Sender: TObject);
Procedure FormShow(Sender: TObject);
Procedure rbDirectoriesClick(Sender: TObject);
Procedure sbVCLClick(Sender: TObject);
Procedure sbRTLClick(Sender: TObject);
Procedure FormCloseQuery(Sender: TObject; Var CanClose: Boolean);
Private
{ Private declarations }
tran: TvgTranslator;
Procedure DirEnable(New: Boolean);
Public
{ Public declarations }
End;
Implementation
{$R *.DFM}
Uses
Menus,
AppUtils;
Procedure TfrmGrepSearch.FormCreate(Sender: TObject);
Var
I: Integer;
Begin
tran := TvgTranslator.Create(Self);
FormStorage.IniFileName := ExtractFilePath(Application.ExeName) + GetDefaultIniName;
BtnHelp.Visible := False;
rbCurrentOnly.Enabled := frmJediEdit.CurrentEditor <> Nil;
rbAllFiles.Enabled := False; //Allfiles in the Project
rbOpenFiles.Enabled := rbCurrentOnly.Enabled; //Current Open Files in Editor
rbDirectories.Checked := True;
DirEnable(rbDirectories.Checked);
With TFilterList.Create Do Try
Filters := frmJediEdit.OpenFileDialog.Filter;
cbMasks.Items.Clear;
For I := 0 To Count - 2 Do
cbMasks.Items.Add(Extension[i]);
Finally
Free;
End; //try
cbText.IniSection := 'Grep_Text';
cbText.IniFile := FormStorage.IniFileName;
End;
Procedure TfrmGrepSearch.DirEnable(New: Boolean);
Begin
cbDirectory.Enabled := New;
cbMasks.Enabled := New;
chkInclude.Enabled := New;
sbVCL.Enabled := New;
sbRTL.Enabled := New;
If Not New Then Begin
cbDirectory.Color := clBtnFace;
cbMasks.Color := clBtnFace;
End
Else Begin
cbDirectory.Color := clWindow;
cbMasks.Color := clWindow;
End
End;
Procedure TfrmGrepSearch.rbDirectoriesClick(Sender: TObject);
Begin
DirEnable(rbDirectories.Checked);
End;
Procedure TfrmGrepSearch.sbVCLClick(Sender: TObject);
Begin
cbDirectory.Text := VCLPath;
End;
Procedure TfrmGrepSearch.sbRTLClick(Sender: TObject);
Var
Path: String;
SubPos: Integer;
Begin
Path := VCLPath;
SubPos := Pos('VCL', Path);
If SubPos > 0 Then Begin
Delete(Path, SubPos, 3);
Insert('RTL', Path, SubPos);
cbDirectory.Text := Path;
End;
End;
Procedure TfrmGrepSearch.FormShow(Sender: TObject);
Begin
tran.LanguageFile := CurrentLan;
tran.Translate;
End;
Procedure TfrmGrepSearch.FormCloseQuery(Sender: TObject;
Var CanClose: Boolean);
Begin
cbText.WriteList;
End;
Initialization
End.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -