⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 glaccountsearchform.pas

📁 功能全面的商业财会系统源码,清晰,很有参考价值.扩展性强.
💻 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 + -