📄 keysrch.pas
字号:
unit KeySrch;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TKeySearchForm = class(TForm)
Panel1: TPanel;
Label3: TLabel;
SearchEdit: TEdit;
RBNormal: TRadioButton;
Incremental: TRadioButton;
Label6: TLabel;
ExactButton: TButton;
NearestButton: TButton;
procedure ExactButtonClick(Sender: TObject);
procedure NearestButtonClick(Sender: TObject);
procedure RBNormalClick(Sender: TObject);
procedure IncrementalClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
procedure NewSearch(Sender: TObject);
end;
var
KeySearchForm: TKeySearchForm;
implementation
uses DataMod, Main;
{$R *.DFM}
procedure TKeySearchForm.ExactButtonClick(Sender: TObject);
begin
{ Try to find record where key field matches SearchEdit's Text value. }
{ Notice that Delphi handles the type conversion from the string }
{ edit control to the numeric key field value. }
if not DM.Table1.FindKey([SearchEdit.Text]) then
MessageDlg(Format('Match for "%s" not found.', [SearchEdit.Text]),
mtInformation, [mbOk], 0);
end;
procedure TKeySearchForm.NearestButtonClick(Sender: TObject);
begin
{ Find closest match to SearchEdit's Text value. Note again the }
{ implicit type conversion. }
DM.Table1.FindNearest([SearchEdit.Text]);
end;
procedure TKeySearchForm.NewSearch(Sender: TObject);
{ This is the method which is wired to the SearchEdit's OnChange }
{ event whenever the Incremental radio is selected. }
begin
DM.Table1.FindNearest([SearchEdit.Text]); // search for text
end;
procedure TKeySearchForm.RBNormalClick(Sender: TObject);
begin
ExactButton.Enabled := True; // enable search buttons
NearestButton.Enabled := True;
SearchEdit.OnChange := Nil; // unhook the OnChange event
end;
procedure TKeySearchForm.IncrementalClick(Sender: TObject);
begin
ExactButton.Enabled := False; // disable search buttons
NearestButton.Enabled := False;
SearchEdit.OnChange := NewSearch; // hook the OnChange event
NewSearch(Sender); // search current text
end;
procedure TKeySearchForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caHide;
MainForm.KeySearch1.Checked := False;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -