📄 unit22.pas
字号:
unit Unit22;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB;
type
Ttckwh = class(TForm)
Edit1: TEdit;
Label26: TLabel;
Edit2: TEdit;
Label27: TLabel;
Edit3: TEdit;
DBGrid6: TDBGrid;
Button1: TButton;
Button2: TButton;
Label25: TLabel;
adot_card: TADOTable;
adoq_recharge: TADOQuery;
adot_carstop: TADOTable;
adot_customers: TADOTable;
DataSource1: TDataSource;
procedure Edit1Exit(Sender: TObject);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure DBGrid6CellClick(Column: TColumn);
procedure FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
tckwh: Ttckwh;
implementation
uses Unit18, Unit1, Unit11;
{$R *.dfm}
procedure Ttckwh.Edit1Exit(Sender: TObject);
begin
adot_card.Open;
if edit1.Text<>'' then
begin
if not adot_card.Locate('cardid',edit1.Text,[locaseInsensitive]) then
begin
showmessage('此停车卡无效,请重新输入卡号') ;
edit1.Clear;
edit1.SetFocus;
end
else
edit2.Text:=adot_card.fieldByName('storemoney').Value; //显示此卡的余额
end;
end;
procedure Ttckwh.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in['0'..'9',#008]) then
begin
key:=#0;
end
end;
procedure Ttckwh.Button1Click(Sender: TObject);
var
money: single;
begin
if (trim(edit1.Text)<>'') and (trim(edit3.Text)<>'') then
begin
money:=strtofloat(edit2.Text)+strtofloat(edit3.Text);
adot_card.Edit;
adot_card.FieldByName('storemoney').Value:=money;
adot_card.Post;
showmessage('预存金额成功!');
adoq_recharge.Close;
adoq_recharge.SQL.Clear;
if trim(adot_card.FieldByName('customerclass').Value)='临时用户' then
adoq_recharge.SQL.Add('insert into recharge(cardid,money,chargetime,statues,opname) values(:cardid,:money,:chargetime,0,:opname)')
else
adoq_recharge.SQL.Add('insert into recharge(cardid,money,chargetime,statues,opname) values(:cardid,:money,:chargetime,1,:opname)');
adoq_recharge.Parameters.ParamByName('cardid').Value:=trim(edit1.Text);
adoq_recharge.Parameters.ParamByName('money').Value:=strtofloat(trim(edit3.Text));
adoq_recharge.Parameters.ParamByName('chargetime').Value:=now;
adoq_recharge.Parameters.ParamByName('opname').Value:=trim(user);
adoq_recharge.ExecSQL; //把收费金额记录起来供查询
with ccdy do
begin
qrlabel3.Caption:=trim(edit1.Text);
qrlabel5.Caption:=trim(edit3.Text);
qrlabel11.Caption:=floattostr(strtofloat(edit2.Text)+strtoint(edit3.Text));
qrlabel9.Caption:=trim(user);
quickrep1.Print;
end ;//打印充值收据
edit1.Clear;
edit2.Clear;
edit3.Clear;
end
else
showmessage('请输入完整信息!');
end;
procedure Ttckwh.Button2Click(Sender: TObject);
begin
if (edit1.Text<>'') then
begin //如果停车没有在使用,则可以删除出
if not adot_carstop.Locate('cardid',edit1.Text,[locaseInsensitive]) then
begin
if not adot_customers.Locate('cardid',edit1.Text,[locaseInsensitive]) then
begin
if messagedlg('您确定要删除该停车卡',mtconfirmation,[mbno,mbok],0)=mrok then
begin
adot_card.Edit;
adot_card.Delete;
showmessage('停车卡删除成功!'+#10+'退还余额:'+edit2.Text+'元');
adoq_recharge.Close;
adoq_recharge.SQL.Clear;
adoq_recharge.SQL.Add('insert into recharge(cardid,money,chargetime,statues,opname) values(:cardid,:money,:chargetime,0,:opname)');
adoq_recharge.Parameters.ParamByName('cardid').Value:=trim(edit1.Text);
adoq_recharge.Parameters.ParamByName('money').Value:=strtofloat('-'+trim(edit2.Text));
adoq_recharge.Parameters.ParamByName('chargetime').Value:=now;
adoq_recharge.Parameters.ParamByName('opname').Value:=trim(user);
adoq_recharge.ExecSQL; //把退还余额记录起来供查询
end
end
else
begin
if messagedlg('该卡有用户信息,将会删除用户信息',mtconfirmation,[mbok,mbno],0)=mrok then
begin
adot_customers.Edit;
adot_customers.Delete;
adot_card.Edit;
adot_card.Delete;
showmessage('停车卡删除成功!'+#10+'退还余额:'+edit2.Text+'元');
adoq_recharge.Close;
adoq_recharge.SQL.Clear;
adoq_recharge.SQL.Add('insert into recharge(cardid,money,chargetime,statues,opname) values(:cardid,:money,:chargetime,1,:opname)');
adoq_recharge.Parameters.ParamByName('cardid').Value:=trim(edit1.Text);
adoq_recharge.Parameters.ParamByName('money').Value:=strtofloat('-'+trim(edit2.Text));
adoq_recharge.Parameters.ParamByName('chargetime').Value:=now;
adoq_recharge.Parameters.ParamByName('opname').Value:=trim(user);
adoq_recharge.ExecSQL; //把退还余额记录起来供查询
end;
end ;
edit1.Clear;
edit2.Clear;
edit3.Clear;
end
else
showmessage('该停车卡正在使用中,不能删除');
end
else
begin
showmessage('请输入您要删除的停车卡号');
edit1.SetFocus;
end;
end;
procedure Ttckwh.FormShow(Sender: TObject);
begin
begin
edit1.Clear;
edit2.Clear;
edit3.Clear;
end;
end;
procedure Ttckwh.DBGrid6CellClick(Column: TColumn);
begin
if not (adot_card.FieldByName('cardid').Value=null) then
begin
edit1.text:=trim(adot_card.FieldByName('cardid').Value);
edit2.Text:=trim(floattostr(adot_card.FieldByName('storemoney').Value));
end;
end;
procedure Ttckwh.FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
begin
Resize:=false;
end;
procedure Ttckwh.FormActivate(Sender: TObject);
begin
adot_customers.Open;
adot_card.Open;
adot_carstop.Open;
end;
procedure Ttckwh.FormClose(Sender: TObject; var Action: TCloseAction);
begin
adot_customers.Close;
adot_card.Close;
adot_carstop.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -