Search.pas 2.3 KB

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