Replace.pas 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. unit Replace;
  2. interface
  3. uses
  4. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5. Dialogs, StdCtrls, ExtCtrls;
  6. type
  7. TfrmReplace = class(TForm)
  8. Label1: TLabel;
  9. cboSearchText: TComboBox;
  10. btnOK: TButton;
  11. btnCancel: TButton;
  12. Label2: TLabel;
  13. cboReplaceText: TComboBox;
  14. optScope: TRadioGroup;
  15. optOrigin: TRadioGroup;
  16. optDirection: TRadioGroup;
  17. gbSearchOptions: TGroupBox;
  18. chkSearchCaseSensitive: TCheckBox;
  19. chkSearchWholeWords: TCheckBox;
  20. chkRegularExpression: TCheckBox;
  21. btnReplaceAll: TButton;
  22. chkPrompt: TCheckBox;
  23. procedure btnOKClick(Sender: TObject);
  24. procedure btnCancelClick(Sender: TObject);
  25. procedure FormCreate(Sender: TObject);
  26. procedure btnReplaceAllClick(Sender: TObject);
  27. procedure FormShow(Sender: TObject);
  28. private
  29. { Private declarations }
  30. public
  31. { Public declarations }
  32. SearchText: String;
  33. ReplaceText: String;
  34. function IsCaseSensitive: Boolean;
  35. function IsWholeWordOnly: Boolean;
  36. function IsResgularExpression: Boolean;
  37. function IsReplaceAll: Boolean;
  38. function IsPromptForReplace: Boolean;
  39. function GetDirection: Integer;
  40. function GetScope: Integer;
  41. function GetOrigin: Integer;
  42. end;
  43. var
  44. frmReplace: TfrmReplace;
  45. bReplaceAll: Boolean;
  46. implementation
  47. {$R *.dfm}
  48. function TfrmReplace.IsCaseSensitive: Boolean;
  49. begin
  50. Result := chkSearchCaseSensitive.Checked;
  51. end;
  52. function TfrmReplace.IsWholeWordOnly: Boolean;
  53. begin
  54. Result := chkSearchWholeWords.Checked;
  55. end;
  56. function TfrmReplace.IsResgularExpression: Boolean;
  57. begin
  58. Result := chkRegularExpression.Checked;
  59. end;
  60. function TfrmReplace.IsReplaceAll: Boolean;
  61. begin
  62. Result := bReplaceAll;
  63. end;
  64. function TfrmReplace.IsPromptForReplace: Boolean;
  65. begin
  66. Result := chkPrompt.Checked
  67. end;
  68. function TfrmReplace.GetDirection: Integer;
  69. begin
  70. Result := optDirection.ItemIndex;
  71. end;
  72. function TfrmReplace.GetScope: Integer;
  73. begin
  74. Result := optScope.ItemIndex;
  75. end;
  76. function TfrmReplace.GetOrigin: Integer;
  77. begin
  78. Result := optOrigin.ItemIndex;
  79. end;
  80. procedure TfrmReplace.btnOKClick(Sender: TObject);
  81. begin
  82. if cboSearchText.Text <> '' then
  83. begin
  84. SearchText := cboSearchText.Text;
  85. ReplaceText := cboReplaceText.Text;
  86. Self.Close;
  87. end
  88. else
  89. begin
  90. Application.MessageBox('The search string cannot be blank.', 'LuaEdit', MB_OK+MB_ICONERROR);
  91. end;
  92. end;
  93. procedure TfrmReplace.btnCancelClick(Sender: TObject);
  94. begin
  95. ReplaceText := '';
  96. SearchText := '';
  97. Self.Close;
  98. end;
  99. procedure TfrmReplace.FormCreate(Sender: TObject);
  100. begin
  101. bReplaceAll := False;
  102. ReplaceText := '';
  103. SearchText := '';
  104. end;
  105. procedure TfrmReplace.btnReplaceAllClick(Sender: TObject);
  106. begin
  107. bReplaceAll := True;
  108. btnOk.Click;
  109. end;
  110. procedure TfrmReplace.FormShow(Sender: TObject);
  111. begin
  112. cboSearchText.SetFocus;
  113. end;
  114. end.