unit26.pas
来自「停车厂管理系统 麻雀虽小 但是五脏齐全」· PAS 代码 · 共 161 行
PAS
161 行
unit Unit26;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, ComCtrls, Buttons;
type
TShouFenJinEr = class(TForm)
Label3: TLabel;
DTP1: TDateTimePicker;
Label4: TLabel;
DTP2: TDateTimePicker;
Button3: TButton;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Label5: TLabel;
BitBtn2: TBitBtn;
BitBtn1: TBitBtn;
BitBtn3: TBitBtn;
procedure FormShow(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
ShouFenJinEr: TShouFenJinEr;
implementation
uses Unit11, Unit1, Unit16;
{$R *.dfm}
procedure TShouFenJinEr.FormShow(Sender: TObject);
begin
if trim(opcase)='管理员' then
BitBtn1.Enabled:=true
else
BitBtn1.Enabled:=false;
BitBtn2.Enabled:=false;
BitBtn3.Enabled:=false;
dtp1.DateTime:=now;
dtp2.DateTime:=now;
edit1.Clear;
edit2.Clear;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select sum(money) as 总收费金额,count(*) as 收费次数 from recharge where opname=:opname');
adoquery1.Parameters.ParamByName('opname').Value:=trim(user);
adoquery1.Open;
edit1.Text:=inttostr(adoquery1.Fields[1].Value); //显示所有的收费次数
edit2.Text:=floattostr(adoquery1.Fields[0].Value); //显示所有的总收费金额
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select cardid as 卡号,money as 收费,chargetime as 收费时间 from recharge where opname=:opname');
adoquery1.Parameters.ParamByName('opname').Value:=trim(user);
adoquery1.Open;
self.Caption:='收费金额 - '+trim(user);
end;
procedure TShouFenJinEr.Button3Click(Sender: TObject);
begin
BitBtn2.Enabled:=false;
BitBtn3.Enabled:=false; //个人收费不能打印和删除
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select sum(money) as 总收费金额,count(*) as 收费次数 from recharge where chargetime between :time1 and :time2 and opname=:opname');
adoquery1.Parameters.ParamByName('opname').Value:=trim(user);
adoquery1.Parameters.ParamByName('time1').Value:=dtp1.DateTime;
adoquery1.Parameters.ParamByName('time2').Value:=dtp2.DateTime;
adoquery1.Open;
if (adoquery1.Fields[0].Value<>null)and(adoquery1.Fields[1].Value<>null) then
begin
edit1.Text:=inttostr(adoquery1.Fields[1].Value); //显示某个时间段的收费次数
edit2.Text:=floattostr(adoquery1.Fields[0].Value); //显示某个时间段的总收费金额
end
else
begin
edit1.Text:='0';
edit2.Text:='0';
end;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select cardid as 卡号,money as 收费,chargetime as 收费时间 from recharge where chargetime between :time1 and :time2 and opname=:opname');
adoquery1.Parameters.ParamByName('opname').Value:=trim(user);
adoquery1.Parameters.ParamByName('time1').Value:=dtp1.DateTime;
adoquery1.Parameters.ParamByName('time2').Value:=dtp2.DateTime;
adoquery1.Open;
self.Caption:='收费金额 - '+trim(user);
end;
procedure TShouFenJinEr.FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
begin
Resize:=false;
end;
procedure TShouFenJinEr.BitBtn1Click(Sender: TObject);
begin
BitBtn2.Enabled:=true;
BitBtn3.Enabled:=true;
ADOQuery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select opname as 操作员,sum(money)as 收费总额,count(*) as 收费次数 from recharge where chargetime between :time1 and :time2 group by opname');
adoquery1.Parameters.ParamByName('time1').Value:=dtp1.DateTime;
adoquery1.Parameters.ParamByName('time2').Value:=dtp2.DateTime;
adoquery1.Open;
edit1.Clear;
edit2.Clear;
self.Caption:='所以用户的收费统计';
end;
procedure TShouFenJinEr.BitBtn2Click(Sender: TObject);
begin
if messagedlg('您确定要删除收费记录?'+#13+'删除后将不能恢复。',mtconfirmation,[mbok,mbno],0)=mrok then
begin
ADOQuery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('delete from recharge where chargetime between :time1 and :time2');
adoquery1.Parameters.ParamByName('time1').Value:=dtp1.DateTime;
adoquery1.Parameters.ParamByName('time2').Value:=dtp2.DateTime;
adoquery1.ExecSQL;
end
end;
procedure TShouFenJinEr.BitBtn3Click(Sender: TObject);
begin
with czysf do
begin
adoquery1.Open;
quickrep1.DataSet:=adoquery1;
qrdbtext1.DataSet:=adoquery1;
qrdbtext1.DataField:='操作员';
qrdbtext2.DataSet:=adoquery1;
qrdbtext2.DataField:='收费总额';
qrdbtext3.DataSet:=adoquery1;
qrdbtext3.DataField:='收费次数';
qrlabel5.Caption:=datetostr(dtp1.DateTime);
qrlabel7.Caption:=datetostr(dtp2.DateTime);
qrlabel9.Caption:=trim(user);
quickrep1.Preview;
end
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?