📄 fltr.pas
字号:
unit Fltr;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Mask, DBCtrls, ExtCtrls;
type
TFilterForm = class(TForm)
Panel1: TPanel;
Label4: TLabel;
DBEdit1: TDBEdit;
cbFiltered: TCheckBox;
Label5: TLabel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
Panel2: TPanel;
EValue: TEdit;
LocateBtn: TButton;
Label1: TLabel;
Label2: TLabel;
CBField: TComboBox;
MatchGB: TGroupBox;
RBExact: TRadioButton;
RBClosest: TRadioButton;
CBCaseSens: TCheckBox;
procedure cbFilteredClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure LocateBtnClick(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
end;
var
FilterForm: TFilterForm;
implementation
uses DB, DataMod, Main;
{$R *.DFM}
procedure TFilterForm.cbFilteredClick(Sender: TObject);
begin
{ Filter table if checkbox is checked }
DM.Table1.Filtered := cbFiltered.Checked;
end;
procedure TFilterForm.FormCreate(Sender: TObject);
var
i: integer;
begin
with DM.Table1 do begin
for i := 0 to FieldCount - 1 do
CBField.Items.Add(Fields[i].FieldName);
end;
end;
procedure TFilterForm.LocateBtnClick(Sender: TObject);
var
LO: TLocateOptions;
begin
LO := [];
if not CBCaseSens.Checked then Include(LO, loCaseInsensitive);
if RBClosest.Checked then Include(LO, loPartialKey);
if not DM.Table1.Locate(CBField.Text, EValue.Text, LO) then
MessageDlg('Unable to locate match', mtInformation, [mbOk], 0);
end;
procedure TFilterForm.SpeedButton1Click(Sender: TObject);
begin
DM.Table1.FindFirst;
end;
procedure TFilterForm.SpeedButton2Click(Sender: TObject);
begin
DM.Table1.FindNext;
end;
procedure TFilterForm.SpeedButton3Click(Sender: TObject);
begin
DM.Table1.FindPrior;
end;
procedure TFilterForm.SpeedButton4Click(Sender: TObject);
begin
DM.Table1.FindLast;
end;
procedure TFilterForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caHide;
MainForm.Filter1.Checked := False;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -