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

📄 freplace.pas

📁 Delphi编写的一个支持语法高亮显示和很多语言的文本编辑器
💻 PAS
字号:
unit fReplace;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, fDoc, CorelButton;

type
  TfrmReplace = class(TForm)
    lblFind: TLabel;
    btnFind: TCorelButton;
    btnCancel: TCorelButton;
    cmbFind: TComboBox;
    cmbReplace: TComboBox;
    lblReplace: TLabel;
    btnRepAll: TCorelButton;
    gpOptions: TGroupBox;                                         
    chkMatch: TCheckBox;
    chkCase: TCheckBox;
    chkCaret: TCheckBox;
    chkSel: TCheckBox;
    gbDir: TGroupBox;
    rdDown: TRadioButton;
    rdUp: TRadioButton;
    procedure btnFindClick(Sender: TObject);
    procedure btnCancelClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    flags: Integer;
    { Private declarations }
    function GetSearchBackwards: boolean;
    function GetSearchCaseSensitive: boolean;
    function GetSearchFromCursor: boolean;
    function GetSearchInSelection: boolean;
    function GetSearchText: string;
    function GetReplaceText: string;
    function GetSearchTextHistory: string;
    function GetSearchWholeWords: boolean;
    procedure SetSearchBackwards(Value: boolean);
    procedure SetSearchCaseSensitive(Value: boolean);
    procedure SetSearchFromCursor(Value: boolean);
    procedure SetSearchInSelection(Value: boolean);
    procedure SetSearchText(Value: string);
    procedure SetSearchTextHistory(Value: string);
    procedure SetSearchWholeWords(Value: boolean);

  public
    { Public declarations }
    property SearchBackwards: boolean read GetSearchBackwards
      write SetSearchBackwards;
    property SearchCaseSensitive: boolean read GetSearchCaseSensitive
      write SetSearchCaseSensitive;
    property SearchFromCursor: boolean read GetSearchFromCursor
      write SetSearchFromCursor;
    property SearchInSelectionOnly: boolean read GetSearchInSelection
      write SetSearchInSelection;
    property SearchText: string read GetSearchText write SetSearchText;
    property SearchTextHistory: string read GetSearchTextHistory
      write SetSearchTextHistory;
    property SearchWholeWords: boolean read GetSearchWholeWords
      write SetSearchWholeWords;
    property ReplaceText: String read GetReplaceText;
  end;

var
  frmReplace: TfrmReplace;

implementation

uses fMain, uDialogSettings;

{$R *.dfm}

function TfrmReplace.GetSearchBackwards: boolean;
begin
  Result := rdUp.Checked = True;
end;

function TfrmReplace.GetReplaceText: string;
begin
  Result := cmbReplace.Text;
end;

procedure TfrmReplace.SetSearchBackwards(Value: boolean);
begin
  rdUp.Checked := Value;
end;

function TfrmReplace.GetSearchCaseSensitive: boolean;
begin
  Result := chkCase.Checked;
end;

function TfrmReplace.GetSearchFromCursor: boolean;
begin
  Result := chkCaret.Checked;
end;

function TfrmReplace.GetSearchText: string;
begin
  Result := cmbFind.Text;
end;

function TfrmReplace.GetSearchTextHistory: string;
var
  i: integer;
begin
  Result := '';
  for i := 0 to cmbFind.Items.Count - 1 do begin
    if i >= 10 then
      break;
    if i > 0 then
      Result := Result + #13#10;
    Result := Result + cmbFind.Items[i];
  end;
end;

function TfrmReplace.GetSearchWholeWords: boolean;
begin
  Result := chkMatch.Checked;
end;

function TfrmReplace.GetSearchInSelection: boolean;
begin
  Result := chkSel.Checked;
end;

procedure TfrmReplace.SetSearchCaseSensitive(Value: boolean);
begin
  chkCase.Checked := Value;
end;

procedure TfrmReplace.SetSearchFromCursor(Value: boolean);
begin
  chkCaret.Checked := Value;
end;

procedure TfrmReplace.SetSearchInSelection(Value: boolean);
begin
  chkSel.Checked := Value;
end;

procedure TfrmReplace.SetSearchText(Value: string);
begin
  cmbFind.Text := Value;
end;

procedure TfrmReplace.SetSearchTextHistory(Value: string);
begin
  cmbFind.Items.Text := Value;
end;

procedure TfrmReplace.SetSearchWholeWords(Value: boolean);
begin
  chkMatch.Checked := Value;
end;


procedure TfrmReplace.btnFindClick(Sender: TObject);
begin
  SaveOpts(Self);
end;

procedure TfrmReplace.btnCancelClick(Sender: TObject);
begin
  close;
end;

procedure TfrmReplace.FormCreate(Sender: TObject);
begin
  LoadOpts(Self);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -