【delphi开源代码栏目提醒】:网学会员鉴于大家对delphi开源代码十分关注,论文会员在此为大家搜集整理了“consumemodelF.pas”一文,供大家参考学习
unit consumemodelF;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, Mask, DBCtrls, StdCtrls, ComCtrls, ToolWin, Buttons,
ExtCtrls, DB, ADODB;
type
Tconsumemodel = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit2: TEdit;
StringGrid1: TStringGrid;
Panel1: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
procedure BitBtn3Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
no:string; //信息
procedure stringclear(); //定义清空信息函数clear();
procedure clear();
end;
var
consumemodel: Tconsumemodel;
implementation
{$R *.dfm}
uses mainF;
//***********清空信息函数clear()**********
procedure Tconsumemodel.clear;
begin
edit1.Clear;
edit2.Clear;
dbedit1.Clear;
dbedit2.Clear;
end;
//*********清空stringgrid中的信息********
procedure Tconsumemodel.stringclear;
var
column,row:integer;
begin
for column:=1 to 2 do
for row:=0 to 3 do
stringgrid1.Cells[row,column]:='';
end;
//************退出窗口并清空信息***********
procedure Tconsumemodel.BitBtn3Click(Sender: TObject);
begin
clear();
close;
end;
//*************按回车鍵执行显示用户卡信息(,余额)********
procedure Tconsumemodel.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from 卡用户信息 where 卡号='''+trim(edit1.Text)+'''');
adoquery1.Open;
if (adoquery1.fieldbyname('').AsString)='' then
begin
MessageDlg(' 没有这个卡号! ',mtWarning,[mbOk], 0);
edit1.SetFocus;
exit;
end;
DBedit1.Clear;
dbedit2.Clear;
DBedit1.Text:=adoquery1.fieldbyname('').AsString;
no:=adoquery1.fieldbyname('').AsString;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from 卡信息 where 卡号='''+trim(edit1.Text)+'''');
adoquery1.Open;
DBedit2.Text:=adoquery1.fieldbyname('金额').AsString;
adoquery1.Close;
end;
end;
//************刷卡消费***********
procedure Tconsumemodel.BitBtn1Click(Sender: TObject);
var
money,money1,state:string; //金额,卡状态
begin
//记录用户消费
if (trim(edit2.Text)='') then
begin
messagedlg('没有确定消费金额!',mtWarning,[mbOK],0);
edit2.SetFocus;
exit;
end;
adoquery2.Close;
adoquery2.SQL.Clear;
//判断余额是否足够
adoquery2.SQL.Add('select * from 卡信息 where 卡号='''+trim(edit1.Text)+'''');
adoquery2.Open;
state:=trim(adoquery2.fieldbyname('状态').AsString);
if (state<>'正常') then
begin
messagedlg('此卡已经挂失!',mtWarning,[mbOK],0);
exit;
end;
money1:=adoquery2.fieldbyname('金额').AsString;
adoquery2.close;
if ((strtofloat(money1)-strtofloat(trim(edit2.Text)))<0) then
begin
messagedlg('余额不足! 请充卡。',mtInformation,[mbOK],0);
exit;
end;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('insert into 用户消费(卡号,,消费金额,消费日期) values ('''+trim(edit1.Text)+''','''+no+''','''+trim(edit2.Text)+''','''+datetostr(now)+''')');
adoquery1.ExecSQL;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from 卡信息 where ='''+no+'''');
adoquery1.Open;
money:=adoquery1.fieldbyname('金额').AsString;
money:=floattostr(strtofloat(money)-strtofloat(trim(edit2.Text)));
//在用户IC卡上扣上相应金额
adoquery1.Close;
adoquery1.SQL.Clear;
//在用户IC卡上扣上相应金额
adoquery1.SQL.Add('update 卡信息 set 金额='''+money+''' where ='''+no+'''');
adoquery1.ExecSQL;
adoquery1.close;
//显示刷卡记录
stringclear();
stringgrid1.Cells[0,1]:=edit1.Text;
stringgrid1.Cells[1,1]:=dbedit1.Text;
stringgrid1.Cells[2,1]:=edit2.Text;
stringgrid1.Cells[3,1]:=datetostr(now);
MessageDlg(' 刷卡成功! ',mtInformation,[mbOk], 0);
//清空余额,刷卡金额信息
dbedit2.Clear;
edit2.Clear;
end;
//********设置stringgrid属性**********
procedure Tconsumemodel.FormCreate(Sender: TObject);
begin
stringgrid1.Cells[0,0]:='卡号';
stringgrid1.ColWidths[0]:=50;
stringgrid1.Cells[1,0]:='';
stringgrid1.ColWidths[0]:=50;
stringgrid1.Cells[2,0]:=' 消费金额';
stringgrid1.ColWidths[0]:=60;
stringgrid1.Cells[3,0]:=' 消费日期';
stringgrid1.ColWidths[0]:=60;
clear();
end;
//****************退出并清除信息**********
procedure Tconsumemodel.BitBtn2Click(Sender: TObject);
begin
clear();
stringclear();
close;
end;
end.
上一篇:
FrmCustomerMan.frm
下一篇:
法律专业开题报告范文