⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grepsearchdlg.pas

📁 此软件支持多文档打开
💻 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 + -