【delphi开源代码栏目提醒】:网学会员delphi开源代码为您提供BankBookForm.pas参考,解决您在BankBookForm.pas学习中工作中的难题,参考学习。
unit BankBookForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DBCtrls, Grids, DBGrids, DB, DBTables, Menus, ExtCtrls, StdCtrls, Buttons;
type
TfrmBankBook = class(TForm)
Panel1: TPanel;
Bevel1: TBevel;
qryGLHist: TQuery;
StringGrid1: TStringGrid;
qryGLHistGLAccount: TStringField;
qryGLHistTransDate: TDateField;
qryGLHistAmount: TCurrencyField;
Label1: TLabel;
cboBank: TComboBox;
qryGLHistTransDescription: TStringField;
qryGLHistVendorID: TIntegerField;
qryGLHistCustomerID: TIntegerField;
qryGLHistSource: TStringField;
tblBank: TTable;
procedure mnuRefreshClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Panel1DblClick(Sender: TObject);
procedure mnuExitClick(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure mnuBankBookHelpClick(Sender: TObject);
procedure qryGLHistCalcFields(DataSet: TDataSet);
procedure StringGrid1DrawCell(Sender: TObject; Col, Row: Longint;
Rect: TRect; State: TGridDrawState);
procedure FormShow(Sender: TObject);
procedure SetDefaultBankID;
procedure cboBankDropDown(Sender: TObject);
procedure cboBankKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
procedure SetBankID(BankID: integer);
function GetBankID: integer;
public
property BankID: integer read GetBankID write SetBankID;
end;
var
frmBankBook: TfrmBankBook;
implementation
var
intClientHeight, intClientWidth: Integer;
OldWindowState: TWindowState;
cboBankIDs: TStringList;
{$R *.DFM}
procedure TfrmBankBook.SetBankID(BankID: integer);
begin
CboBank.ItemIndex := cboBankIDs.IndexOf(IntToStr(BankID));
end;
function TfrmBankBook.GetBankID: integer;
begin
if cboBank.ItemIndex > 0 then Result := StrToInt(cboBankIDs[cboBank.ItemIndex])
else Result := 0;
end;
procedure TfrmBankBook.SetDefaultBankID;
{var
LookupResults: variant; }
begin
{ if CboBank.Items.count > 0 then begin
if frmBS1.tblCompanyDefaultCurrencyID.value > 0 then begin
LookupResults := dmLookUps.tblBank.LookUp('CurrencyID', frmBS1.tblCompanyDefaultCurrencyID.value, 'BankID');
if LookupResults = null then CboBank.ItemIndex := 0
else CboBank.ItemIndex := cboBankIDs.IndexOf(VarToStr(LookupResults));
end else CboBank.ItemIndex := 0;
end; }
end;
procedure cboBank_Load(const Tbl: TTable; const Cbo: TCombobox);
begin
Cbo.Items.Clear;
cboBankIDs.Clear;
Tbl.First;
while not Tbl.EOF do begin
Cbo.Items.Add(Tbl['BankName']);
cboBankIDs.Add(Tbl['BankID']);
Tbl.Next;
end;
//frmBankBook_cboFind_RequeryRequired := false;
end;
procedure TfrmBankBook.mnuRefreshClick(Sender: TObject);
var
R: Integer;
LookupResults: variant;
Balance: currency;
begin
if cboBank.Items.count = 0 then exit;
screen.cursor := crHourglass;
with qryGLHist do begin
close;
//LookupResults := tblBank.LookUp('BankID', cboBankIDs[cboBank.ItemIndex], 'BankGLAccount');
//if LookupResults =null then Params[0].AsString := ''
//else Params[0].AsString := LookupResults;
open;
end;
R := 1;
Balance := 0;
qryGLHist.first;
while not qryGLHist.eof do begin
Balance := Balance + qryGLHistAmount.value;
if qryGLHist.recno > (qryGLHist.RecordCount - 300) then begin
StringGrid1.cells[0,R] := FormatDateTime('dd mmm yy',qryGLHistTransDate.value);
if qryGLHistSource.value = 'AP' then StringGrid1.cells[1,R] := copy(qryGLHistTransDescription.value,11,10)
else if qryGLHistSource.value = 'AR' then StringGrid1.cells[1,R] := 'Deposit'
else StringGrid1.cells[1,R] := '';
//if qryGLHistSource.value = 'AP' then begin
// LookupResults := dmLookUps.tblVendor.Lookup('VendorID', qryGLHistVendorID.value, 'VendorName;VendorNo');
// if LookupResults[0] <> null then StringGrid1.cells[2,R] := LookupResults[0] + ' (' + LookupResults[1] + ')';
// end else if qryGLHistSource.value = 'AR' then begin
// LookupResults := dmLookUps.tblCustomer.Lookup('CustomerID', qryGLHistCustomerID.value, 'CustomerName;CustomerNo');
// if LookupResults[0] <> null then StringGrid1.cells[2,R] := LookupResults[0] + ' (' + LookupResults[1] + ')';
// end else StringGrid1.cells[2,R] := qryGLHistTransDescription.value;
StringGrid1.cells[3,R] := FloatToStrF(qryGLHistAmount.value,ffCurrency,18,2);
StringGrid1.cells[4,R] := FloatToStrF(Balance,ffCurrency,18,2);
R := R+1;
end;
qryGLHist.next;
end;
if R>1 then StringG