📄 c_cash.pas
字号:
unit c_cash;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls, Grids, DBGrids, ExtCtrls, DB;
type
Tcfrm_cash = class(TForm)
Panel1: TPanel;
DBGrid1: TDBGrid;
Label5: TLabel;
Label4: TLabel;
Label3: TLabel;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
date1: TDateTimePicker;
date2: TDateTimePicker;
e_hzmx: TComboBox;
e_hjzc: TEdit;
e_hjye: TEdit;
e_hjsr: TEdit;
BitBtn1: TBitBtn;
DataSource1: TDataSource;
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
cfrm_cash: Tcfrm_cash;
sr,zc,ye: Variant;
implementation
uses datam;
{$R *.dfm}
procedure Tcfrm_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;
procedure Tcfrm_cash.BitBtn1Click(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 Tcfrm_cash.FormClose(Sender: TObject; var Action: TCloseAction);
begin
dm.ADOQ_cx.Close;
dm.adoq_cx.SQL.Clear;
release;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -