📄 glaccountsearchform.pas
字号:
unit GLAccountSearchForm;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls, DBTables, DB, Grids, DBGrids;
type
TfrmGLAccountSearch = class(TForm)
btnOK: TButton;
btnCancel: TButton;
DBGrid1: TDBGrid;
tblGLAccnt: TTable;
dsGLAccnt: TDataSource;
tblGLAccntGLAccount: TStringField;
tblGLAccntAccountName: TStringField;
editFindGLAccount: TEdit;
editFindAccountName: TEdit;
procedure DBGrid1DblClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure editFindGLAccountEnter(Sender: TObject);
procedure editFindAccountNameEnter(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure editFindGLAccountKeyPress(Sender: TObject; var Key: Char);
procedure editFindAccountNameKeyPress(Sender: TObject; var Key: Char);
private
procedure SetGLAccount(GLAccount: String);
function GetGLAccount: String;
public
property GLAccount: String read GetGLAccount write SetGLAccount;
end;
var
frmGLAccountSearch: TfrmGLAccountSearch;
implementation
uses BS1Form;
{$R *.DFM}
procedure TfrmGLAccountSearch.SetGLAccount(GLAccount: String);
begin
if not tblGLAccnt.Locate('GLAccount', GLAccount, []) then tblGLAccnt.First;
end;
function TfrmGLAccountSearch.GetGLAccount: String;
begin
Result := tblGLAccntGLAccount.value;
end;
procedure TfrmGLAccountSearch.DBGrid1DblClick(Sender: TObject);
begin
ModalResult := mrOK; //Close form as per OK button.
end;
procedure TfrmGLAccountSearch.FormCreate(Sender: TObject);
var
x, intClientWidth: integer;
begin
tblGLAccnt.DatabaseName := strDatabaseName;
tblGLAccnt.Active := true;
if FontFactor <> 1 then begin //If using large fonts, resize grid columns.
intClientWidth := Trunc(20*FontFactor) + DBGrid1.Columns.Count - 1; //Scrollbar + grid lines.
for x := 0 to DBGrid1.Columns.Count - 1 do begin
DBGrid1.Columns[x].width := Trunc(DBGrid1.Columns[x].width*FontFactor);
intClientWidth := intClientWidth + DBGrid1.Columns[x].width;
end;
ClientWidth := intClientWidth;
end;
end;
procedure TfrmGLAccountSearch.editFindGLAccountEnter(Sender: TObject);
begin
editFindAccountName.text := '';
end;
procedure TfrmGLAccountSearch.editFindAccountNameEnter(Sender: TObject);
begin
editFindGLAccount.text := '';
end;
procedure TfrmGLAccountSearch.FormShow(Sender: TObject);
begin
editFindGLAccount.setfocus;
editFindGLAccount.text := '';
editFindAccountName.text := '';
end;
procedure TfrmGLAccountSearch.editFindGLAccountKeyPress(Sender: TObject;
var Key: Char);
begin
if key <> #8 then begin //Not Backspace
if tblGLAccnt.IndexName <> '' then tblGLAccnt.IndexName := '';
if not tblGLAccnt.Locate('GLAccount', editFindGLAccount.Text + Key,[loPartialKey]) then begin
Beep;
key := #0;
end;
end;
end;
procedure TfrmGLAccountSearch.editFindAccountNameKeyPress(Sender: TObject;
var Key: Char);
begin
if key <> #8 then begin //Not Backspace
if tblGLAccnt.IndexName <> 'AccountName1' then tblGLAccnt.IndexName := 'AccountName1';
if not tblGLAccnt.Locate('AccountName', editFindAccountName.Text + Key,[loCaseInsensitive, loPartialKey]) then begin
Beep;
Key := #0;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -