?? 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 + -