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

📄 itemsearchform.pas

📁 功能全面的商业财会系统源码,清晰,很有参考价值.扩展性强.
💻 PAS
字号:
unit ItemSearchForm;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
  Buttons, ExtCtrls, DBTables, DB, Grids, DBGrids;

type
  TfrmItemSearch = class(TForm)
    btnOK: TButton;
    btnCancel: TButton;
    DBGrid1: TDBGrid;
    tblItem: TTable;
    dsItem: TDataSource;
    editFindItemNo: TEdit;
    editFindItemDescription: TEdit;
    tblItemItemNo: TStringField;
    tblItemItemDescription: TStringField;
    procedure DBGrid1DblClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure editFindItemNoEnter(Sender: TObject);
    procedure editFindItemDescriptionEnter(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure editFindItemNoKeyPress(Sender: TObject; var Key: Char);
    procedure editFindItemDescriptionKeyPress(Sender: TObject; var Key: Char);
  private
    procedure SetItemNo(ItemNo: String);
    function GetItemNo: String;
  public
    property ItemNo: String read GetItemNo write SetItemNo;
  end;

var
  frmItemSearch: TfrmItemSearch;

implementation

uses BS1Form;

{$R *.DFM}

procedure TfrmItemSearch.SetItemNo(ItemNo: String);
begin
  if not tblItem.Locate('ItemNo', ItemNo, []) then tblItem.First;
end;

function TfrmItemSearch.GetItemNo: String;
begin
  Result := tblItemItemNo.value;
end;

procedure TfrmItemSearch.DBGrid1DblClick(Sender: TObject);
begin
  ModalResult := mrOK;   //Close form as per OK button.
end;

procedure TfrmItemSearch.FormCreate(Sender: TObject);
var
  x, intClientWidth: integer;
begin
  tblItem.DatabaseName := strDatabaseName;
  tblItem.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 TfrmItemSearch.editFindItemNoEnter(Sender: TObject);
begin
  editFindItemDescription.text := '';
end;

procedure TfrmItemSearch.editFindItemDescriptionEnter(Sender: TObject);
begin
  editFindItemNo.text := '';
end;

procedure TfrmItemSearch.FormShow(Sender: TObject);
begin
  editFindItemNo.setfocus;
  editFindItemNo.text := '';
  editFindItemDescription.text := '';
end;

procedure TfrmItemSearch.editFindItemNoKeyPress(Sender: TObject;
  var Key: Char);
begin
  if key <> #8 then begin   //Not Backspace
    if tblItem.IndexName <> '' then tblItem.IndexName := '';
    if not tblItem.Locate('ItemNo', editFindItemNo.Text + Key,[loPartialKey]) then begin
      Beep;
      key := #0;
    end;
  end;
end;

procedure TfrmItemSearch.editFindItemDescriptionKeyPress(Sender: TObject;
  var Key: Char);
begin
  if key <> #8 then begin   //Not Backspace
    if tblItem.IndexName <> 'ItemDescription1' then tblItem.IndexName := 'ItemDescription1';
    if not tblItem.Locate('ItemDescription', editFindItemDescription.Text + Key,[loCaseInsensitive, loPartialKey]) then begin
      Beep;
      Key := #0;
    end;
  end;  
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -