unit21.pas
来自「停车厂管理系统 麻雀虽小 但是五脏齐全」· PAS 代码 · 共 351 行
PAS
351 行
unit Unit21;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, Buttons, DB, ADODB;
type
Ttckbl = class(TForm)
Label14: TLabel;
edcardid: TEdit;
Label15: TLabel;
edmoney: TEdit;
Label16: TLabel;
userclass: TComboBox;
bsstopcard: TBitBtn;
Label18: TLabel;
dbedit1: TEdit;
Label17: TLabel;
dbedit2: TEdit;
Label19: TLabel;
dbcombobox1: TComboBox;
Label20: TLabel;
dbedit3: TEdit;
Label21: TLabel;
dbedit4: TEdit;
Label22: TLabel;
dbedit5: TEdit;
Label23: TLabel;
DBGrid5: TDBGrid;
Label24: TLabel;
DBGrid4: TDBGrid;
adot_card: TADOTable;
adoq_car: TADOQuery;
adot_customers: TADOTable;
ds_customers: TDataSource;
ds_card: TDataSource;
adoq_recharge: TADOQuery;
Label8: TLabel;
ShFenId: TEdit;
BitBtn1: TBitBtn;
procedure FormShow(Sender: TObject);
procedure edcardidExit(Sender: TObject);
procedure edmoneyKeyPress(Sender: TObject; var Key: Char);
procedure edcardidKeyPress(Sender: TObject; var Key: Char);
procedure userclassChange(Sender: TObject);
procedure bsstopcardClick(Sender: TObject);
procedure dbedit4KeyPress(Sender: TObject; var Key: Char);
procedure dbedit1Exit(Sender: TObject);
procedure dbedit3KeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormResize(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
tckbl: Ttckbl;
FormOldWid:Integer;
implementation
uses Unit17, Unit1, Unit2, Unit11;
{$R *.dfm}
procedure clearface();
begin
with tckbl do
begin
edcardid.Clear;
edmoney.Clear;
dbedit1.Clear;
dbedit1.Enabled:=false;
dbedit2.Clear;
dbedit2.Enabled:=false;
dbedit3.Clear;
dbedit3.Enabled:=false;
dbedit4.Clear;
dbedit4.Enabled:=false;
dbedit5.Clear;
dbedit5.Enabled:=false;
dbcombobox1.Enabled:=false;
shfenid.Clear;
shfenid.Enabled:=false;
adot_customers.Close;
adot_customers.Filtered:=false;
adot_customers.Open; //打开客户信息表
adot_customers.First;
adot_card.Open; //打开停车卡表
adoq_car.Close;
adoq_car.SQL.Clear;
adoq_car.SQL.Add('select customerclass from customerclass');
adoq_car.Open;
adoq_car.First;
userclass.Items.Clear;
while(not adoq_car.Eof) do
begin
userclass.Items.Add(adoq_car.Fields[0].AsString);
adoq_car.Next;
end ;
end;
end;
procedure Ttckbl.FormShow(Sender: TObject);
begin
FormOldWid:=self.Width;
end;
procedure Ttckbl.edcardidExit(Sender: TObject);
begin
if edcardid.Text<>'' then //如果卡号为空则才可以修改用户信息
else
begin
adot_customers.First;
end
end;
procedure Ttckbl.edmoneyKeyPress(Sender: TObject; var Key: Char);
begin
if not(key in['0'..'9',#008]) then
begin
key:=#0;
end
end;
procedure Ttckbl.edcardidKeyPress(Sender: TObject; var Key: Char);
begin
if not(key in['0'..'9','a'..'z',#008]) then
begin
key:=#0;
end
end;
procedure Ttckbl.userclassChange(Sender: TObject);
begin
if trim(userclass.Text)='临时用户' then
begin
dbedit1.Enabled:=false;
dbedit2.Enabled:=false;
dbedit3.Enabled:=false;
dbedit4.Enabled:=false;
dbedit5.Enabled:=false;
dbcombobox1.Enabled:=false
//*****************临时用户不用填写用户信息
end
else
begin
dbedit1.Enabled:=true;
dbedit2.Enabled:=true;
dbedit3.Enabled:=true;
dbedit4.Enabled:=true;
dbedit5.Enabled:=true;
shfenid.Enabled:=true;
dbcombobox1.Enabled:=true;
adot_customers.Open;
adot_customers.Last;
adot_customers.Append;
dbedit1.ReadOnly:=false;
end
end;
procedure Ttckbl.bsstopcardClick(Sender: TObject);
begin
if trim(edcardid.Text)='' then
begin
edcardid.SetFocus;
showmessage('对不起!卡号不能为空');
end
else if trim(edmoney.Text)='' then
begin
edmoney.SetFocus;
showmessage('对不起!预存金额不能为空');
end
else if trim(userclass.Text)='' then
begin
userclass.SetFocus;
showmessage('对不起!请选择用户类型');
end
else
begin // 1
adot_card.Open;
if adot_card.Locate('cardid',edcardid.Text,[locaseInsensitive]) then
begin
edcardid.SetFocus;
edcardid.Clear;
showmessage('该卡号已在使用中,请换个卡号!');
end
else
begin
if (trim(userclass.text)<>'临时用户') then
begin //2
if trim(dbedit1.Text)='' then
begin
dbedit1.SetFocus;
showmessage('对不起!请输入用户ID');
end
else if trim(dbedit2.Text)='' then
begin
dbedit2.SetFocus;
showmessage('对不起!请输入用户姓名');
end
else if trim(dbedit4.Text)='' then
begin
dbedit4.SetFocus;
showmessage('对不起!请输入联系电话');
end
else if trim(shfenid.Text)='' then
begin
shfenid.SetFocus;
showmessage('对不起!请输入身份证号');
end
else
begin
adot_card.Open;
adot_card.Edit;
adot_card.AppendRecord([trim(edcardid.Text),trim(edmoney.Text),trim(userclass.Text)]);
//**********************插入一个停车卡记录
adot_customers.Open;
adot_customers.Edit;
adot_customers.AppendRecord([trim(dbedit1.Text),trim(edcardid.Text),trim(dbedit2.Text),trim(shfenid.Text),trim(dbcombobox1.Text),trim(dbedit3.Text),trim(dbedit4.Text),trim(dbedit5.Text)]);
// adot_customers.Post;
showmessage('停车卡办理成功');
with form17 do
begin
qrlabel4.Caption:=trim(edcardid.Text);
qrlabel6.Caption:=trim(edmoney.Text);
qrlabel8.Caption:=trim(userclass.Text);
qrlabel11.Caption:=trim(dbedit1.Text);
qrlabel13.Caption:=trim(dbedit2.Text);
qrlabel15.Caption:=trim(dbcombobox1.Text);
qrlabel17.Caption:=trim(dbedit3.Text);
qrlabel19.Caption:=trim(dbedit4.Text);
qrlabel21.Caption:=trim(dbedit5.Text);
qrlabel25.Caption:=trim(user);
QRLabel26.Caption:=trim(shfenid.Text);
quickrep1.Print;
end; //打印办卡信息给客户
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(edcardid.Text);
adoq_recharge.Parameters.ParamByName('money').Value:=strtofloat(trim(edmoney.Text));
adoq_recharge.Parameters.ParamByName('chargetime').Value:=now;
adoq_recharge.Parameters.ParamByName('opname').Value:=trim(user);
adoq_recharge.ExecSQL; //把收费金额记录起来供查询 statues为1表示为非临时用户
userclass.ItemIndex:=-1;
//**********************插入客户信息
clearface();
end ;
end
else
begin
//*************临时用户只插入停车卡记录,不用插入客户信息
adot_card.Open;
adot_card.Edit;
adot_card.AppendRecord([edcardid.Text,edmoney.Text,userclass.Text]);
showmessage('停车卡办理成功');
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(edcardid.Text);
adoq_recharge.Parameters.ParamByName('money').Value:=strtofloat(trim(edmoney.Text));
adoq_recharge.Parameters.ParamByName('chargetime').Value:=now;
adoq_recharge.Parameters.ParamByName('opname').Value:=trim(user);
adoq_recharge.ExecSQL; //把收费金额记录起来供查询statues为0表示为临时用户
// dbedit1.Enabled:=false;
clearface();
end;
end;
end ;
end ;
procedure Ttckbl.dbedit4KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in['0'..'9',#008]) then
begin
key:=#0;
end
end;
procedure Ttckbl.dbedit1Exit(Sender: TObject);
begin
adoq_car.Close;
adoq_car.SQL.Clear;
adoq_car.SQL.Add('select useid from customers where useid=:useid') ;
adoq_car.Parameters.ParamByName('useid').Value:=dbedit1.Text;
adoq_car.Open;
if not adoq_car.IsEmpty then
begin
showmessage('该用户ID已经被使用,请换个用户ID');
dbedit1.SetFocus;
dbedit1.Clear;
end;
end;
procedure Ttckbl.dbedit3KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in['0'..'9',#008]) then
begin
key:=#0;
end
end;
procedure Ttckbl.FormClose(Sender: TObject; var Action: TCloseAction);
begin
tckbl:=nil;
Action:=caFree;
end;
procedure Ttckbl.FormResize(Sender: TObject);
begin
if FormOldWid>0 then
begin
ScaleBy(self.Width,FormOldWid);
FormOldWid:=self.Width;
end ;
end;
procedure Ttckbl.FormActivate(Sender: TObject);
begin
clearface();
end;
procedure Ttckbl.BitBtn1Click(Sender: TObject);
begin
if trim(edcardid.text)<>'' then
begin
if not adot_card.Locate('cardid',trim(edcardid.Text),[locaseinsensitive]) then
begin
messagebox(handle,'没找到您查询的卡号,请确认卡号正确','系统提示',mb_ok+mb_iconinformation);
edcardid.SetFocus;
end ;
end
else
begin
messagebox(handle,'卡号不能为空,请输入要查询的卡号','系统提示',mb_ok+mb_iconinformation);
edcardid.SetFocus;
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?