?? cash.pas
字號:
unit cash;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, StdCtrls, Buttons, Grids, DBGrids, ComCtrls;
type
TF_cash = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
date1: TDateTimePicker;
date2: TDateTimePicker;
e_hzmx: TComboBox;
DBGrid1: TDBGrid;
Label3: TLabel;
e_hjsr: TEdit;
Label4: TLabel;
e_hjzc: TEdit;
Label5: TLabel;
e_hjye: TEdit;
b_cx: TBitBtn;
b_prn: TBitBtn;
DataSource1: TDataSource;
procedure b_cxClick(Sender: TObject);
procedure b_prnClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
F_cash: TF_cash;
sr,zc,ye: Variant;
implementation
uses datam, qrcash;
{$R *.dfm}
procedure TF_cash.b_cxClick(Sender: TObject);
begin
if date1.Date>date2.Date then
begin
application.MessageBox(pchar('起始日期不能大于終止日期!')
,pchar('提示'),48);
date1.SetFocus();
exit;
end;
if e_hzmx.Text='匯總' then
begin
dm.ADOQ_cx.Close;
dm.adoq_cx.SQL.Clear;
dm.ADOQ_cx.SQL.Add('select 日期,sum(收入) as 收入,sum(支出) as 支出,sum(收入)-sum(支出) as 余額 from cashbook where 日期>=:rq1 and 日期<=:rq2 group by 日期');
dm.ADOQ_cx.Parameters[0].value:=datetostr(date1.DATE);
dm.ADOQ_cx.Parameters[1].Value:=datetostr(date2.DATE);
dm.ADOQ_cx.Open;
end
else
begin
dm.ADOQ_cx.Close;
dm.adoq_cx.SQL.Clear;
dm.ADOQ_cx.SQL.Add('select 日期,摘要,sum(收入) as 收入,sum(支出) as 支出,sum(收入)-sum(支出) as 余額 from cashbook where 日期>=:rq1 and 日期<=:rq2 group by 日期,摘要');
dm.ADOQ_cx.Parameters[0].value:=datetostr(date1.DATE);
dm.ADOQ_cx.Parameters[1].Value:=datetostr(date2.DATE);
dm.ADOQ_cx.Open;
end;
sr:=0;
zc:=0;
ye:=0;
dm.ADOQ_cx.First;
while not dm.ADOQ_cx.Eof do
begin
sr:=sr+dm.adoq_cx.fieldbyname('收入').asvariant;
zc:=zc+dm.adoq_cx.fieldbyname('支出').asvariant;
dm.ADOQ_cx.next;
end;
e_hjsr.Text:=formatfloat('0.00',sr);
e_hjzc.Text:=formatfloat('0.00',zc);
e_hjye.Text:=formatfloat('0.00',sr-zc);
end;
procedure TF_cash.b_prnClick(Sender: TObject);
begin
if qr_cash=nil then
qr_cash:=Tqr_cash.Create(Application);
with qr_cash do
begin
qr_cash.QRLabelrq.Caption:='日期:'+datetostr(date1.date)+' ---- '+datetostr(date2.date);
qr_cash.Preview;
end;
end;
procedure TF_cash.FormClose(Sender: TObject; var Action: TCloseAction);
begin
dm.ADOQ_cx.Close;
dm.adoq_cx.SQL.Clear;
release;
end;
procedure TF_cash.FormShow(Sender: TObject);
begin
dm.ADOQ_cx.Close;
dm.adoq_cx.SQL.Clear;
dm.ADOQ_cx.SQL.Add('select 日期,sum(收入) as 收入,sum(支出) as 支出,sum(收入)-sum(支出) as 余額 from cashbook where 日期>=:rq1 and 日期<=:rq2 group by 日期');
dm.ADOQ_cx.Parameters[0].value:=datetostr(date());
dm.ADOQ_cx.Parameters[1].Value:=datetostr(date());
dm.ADOQ_cx.Open;
date1.Date:=date();
date2.Date:=date();
sr:=0;
zc:=0;
ye:=0;
dm.ADOQ_cx.First;
while not dm.ADOQ_cx.Eof do
begin
sr:=sr+dm.adoq_cx.fieldbyname('收入').asvariant;
zc:=zc+dm.adoq_cx.fieldbyname('支出').asvariant;
dm.ADOQ_cx.next;
end;
e_hjsr.Text:=formatfloat('0.00',sr);
e_hjzc.Text:=formatfloat('0.00',zc);
e_hjye.Text:=formatfloat('0.00',sr-zc);
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -