📄 vcdcz.pas
字号:
end;
end;
end;
procedure Tfrm_vcdcz.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
perform(wm_nextdlgctl,0,0);
end;
end;
procedure Tfrm_vcdcz.e_hyidExit(Sender: TObject);
var
sqlz:string;
begin
e_hypass.Text:='';
if e_hyid.Text='' then exit
else
begin
if Length(e_hyid.Text)<5 then
case Length(e_hyid.Text) of
1: e_hyid.text:='0000'+e_hyid.text;
2: e_hyid.text:='000'+e_hyid.text;
3: e_hyid.text:='00'+e_hyid.text;
4: e_hyid.text:='0'+e_hyid.text;
end
end;
dm.ADO_vip.Open;
dm.ADO_vip.First;
if not dm.ADO_vip.Locate('证号',e_hyid.Text,[]) then
begin
Application.MessageBox(PChar('证号错误,请重新录入!')
, PChar('提示'),MB_ICONEXCLAMATION);
e_hyid.Text:='';
e_hyid.SetFocus();
exit;
end;
e_zl_name.Text:=dm.ADO_vip.fieldbyname('姓名').asstring;
e_zl_sex.Text:=dm.ADO_vip.fieldbyname('性别').asstring;
e_zl_nl.Text:=dm.ADO_vip.fieldbyname('年龄').asstring;
e_zl_zlx.Text:=dm.ADO_vip.fieldbyname('证类型').asstring;
e_zl_yj.Text:=dm.ADO_vip.fieldbyname('押金').asstring;
e_zl_tel.Text:=dm.ADO_vip.fieldbyname('电话').asstring;
{搜索有无未还记录}
dm.ADO_czdt.Open;
dm.ADO_czdt.First;
dm.ADO_czdt.Sort:='证号';
if not dm.ADO_czdt.Locate('证号',e_hyid.Text,[]) then
begin
dm.ADO_czdt.Append;
dm.ADO_czdt.FieldByName('证号').AsString:=e_hyid.Text;
dm.ADO_czdt.FieldByName('类别').AsString:='会员';
end
else
begin
dm.adoq_czbtmp.Close;
dm.adoq_czbtmp.SQL.Clear;
sqlz:='insert into czbtmp select * from czb where 证号='+'"'+e_hyid.text+'"';
dm.adoq_czbtmp.SQL.Add(sqlz);
dm.adoq_czbtmp.ExecSQL;
end;
dm.ADO_czdt.Edit;
dm.ADO_czbtmp.Close;
dm.ado_czbtmp.open;
{搜索结束}
end;
procedure Tfrm_vcdcz.e_hypassExit(Sender: TObject);
begin
begin
if e_hyid.Text='' then exit;
if e_hypass.Text<>dm.ADO_vip.FieldByName('pass').AsString then
begin
Application.MessageBox(PChar('密码错误!')
, PChar('提示'),MB_ICONEXCLAMATION);
e_hyid.SetFocus();
e_hypass.Text:='';
group_vcd.Enabled:=false;
groupcolor;
exit;
end;
e_hypass.Tag:=0;
group_vcd.Enabled:=true;
e_vcdid.SetFocus();
groupcolor;
end;
end;
procedure Tfrm_vcdcz.E_yjidExit(Sender: TObject);
var
sqlz:string;
begin
if e_yjid.Text='' then
begin
b_yjid.Enabled:=true;
exit;
end;
if e_yjid.tag=1 then exit;//自动成生不搜索
{搜索有无未还记录}
dm.ADO_czdt.Open;
dm.ADO_czdt.First;
dm.ADO_czdt.Sort:='证号';
if dm.ADO_czdt.Locate('证号',e_yjid.Text,[]) then
begin
e_yj.Text:=dm.ADO_czdt.fieldbyname('押金').AsString;
e_yjid.Enabled:=false;
e_yj.Enabled:=false;
e_yj.Color:=cl3dlight;
e_yjid.Color:=cl3dlight;
dm.adoq_czbtmp.Close;
dm.adoq_czbtmp.SQL.Clear;
sqlz:='insert into czbtmp select * from czb where 证号='+'"'+e_yjid.text+'"';
dm.adoq_czbtmp.SQL.Add(sqlz);
dm.adoq_czbtmp.ExecSQL;
group_vcd.Enabled:=true;
e_vcdid.SetFocus();
groupcolor;
end
else
begin
e_yjid.Text:='';
e_yjid.SetFocus;
end;
dm.ADO_czbtmp.Close;
dm.ado_czbtmp.open;
{搜索结束}
end;
procedure Tfrm_vcdcz.e_vcdidExit(Sender: TObject);
begin
if e_vcdid.Text='' then
begin
if group_zlr.ItemIndex<>2 then
dm.ADO_czdt.Cancel;
exit;
end;
dm.ADO_vcd.open;
dm.ADO_vcd.First;
if not dm.ADO_vcd.Locate('编号',e_vcdid.Text,[]) then
begin
Application.MessageBox(PChar('未查到任何图书(影碟),请检查!')
, PChar('提示'),MB_ICONEXCLAMATION);
e_vcdid.Text:='';
e_vcdid.SetFocus();
exit;
end;
dm.ado_czbtmp.OPEN;
dm.ado_czbtmp.Append;
case group_zlr.ItemIndex of
0:
begin
dm.ado_czbtmp.FieldByName('证号').AsString:=e_hyid.Text;
if e_zl_zlx.Text='年证' then
dm.ado_czbtmp.FieldByName('出租单价').AsString:=dm.ADO_vcd.fieldbyname('年证租金').AsString
else
dm.ado_czbtmp.FieldByName('出租单价').AsString:=dm.ADO_vcd.fieldbyname('月证租金').AsString;
end;
1:
begin
dm.ado_czbtmp.FieldByName('证号').AsString:=e_yjid.Text;
dm.ado_czbtmp.FieldByName('出租单价').AsString:=dm.ADO_vcd.fieldbyname('零租租金').AsString;
end;
2:dm.ado_czbtmp.FieldByName('证号').AsString:='亲朋';
end;
dm.ado_czbtmp.FieldByName('编号').AsString:=dm.ADO_vcd.fieldbyname('编号').AsString;
dm.ado_czbtmp.FieldByName('名称').AsString:=dm.ADO_vcd.fieldbyname('名称').AsString;
dm.ado_czbtmp.FieldByName('出租日期').AsDateTime:=date();
dm.ADO_czbtmp.FieldByName('状态').AsString:='未还';
try
dm.ado_czbtmp.Post;
except
Application.MessageBox(PChar('此图书(影碟)已存,请重新录入!'), PChar('提示'),
MB_ICONEXCLAMATION);
dm.ADO_czbtmp.Cancel;
end;
e_vcdid.Text:='';
e_vcdid.SetFocus();
end;
procedure Tfrm_vcdcz.b_yjidClick(Sender: TObject);
var
i,count:integer;//生成序号
begin
//生成6位序号
count := GetTickCount();
Randomize;
i := random(999999);
while (i < 100000) do
i := random(999999);
e_yjid.Text:=inttostr(i);
e_yjid.Tag:=1; //标始为自动生成
e_yjid.Enabled:=false;
e_yj.setfocus();
end;
procedure Tfrm_vcdcz.BitBtn1Click(Sender: TObject);
begin
dm.adoq_czbtmp.SQL.Clear;
dm.ADOQ_czbtmp.SQL.Add('delete from czbtmp');
dm.ADOQ_czbtmp.ExecSQL;
dm.adoq_czbtmp.Close;
dm.ADO_czdt.Cancel;
end;
procedure Tfrm_vcdcz.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//vcdzthf;
dm.adoq_czbtmp.SQL.Clear;
dm.ADOQ_czbtmp.SQL.Add('delete from czbtmp');
dm.ADOQ_czbtmp.ExecSQL;
dm.adoq_czbtmp.Close;
dm.ADO_czbtmp.close;
dm.ADO_czdt.close;
dm.ADO_vip.close;
dm.ADO_vcd.Close;
release;
end;
procedure Tfrm_vcdcz.e_yjExit(Sender: TObject);
begin
frm_vcdcz.KeyPreview:=true;
if e_yjid.Text='' then
begin
e_yj.Text:='0.00';
e_yjid.SetFocus();
exit;
end;
e_yj.Text:=formatfloat('0.00',strtofloat(e_yj.Text));
dm.ado_czdt.OPEN;
dm.ADO_czdt.Append;
dm.ADO_czdt.FieldByName('证号').AsString:=e_yjid.Text;
dm.ADO_czdt.FieldByName('押金').AsString:=e_yj.Text;
dm.ADO_czdt.FieldByName('类别').AsString:='零租';
group_vcd.Enabled:=true;
groupcolor;
end;
procedure Tfrm_vcdcz.b_okClick(Sender: TObject);
begin
dm.ADO_czbtmp.Open;
if dm.ADO_czbtmp.IsEmpty then
begin
Application.MessageBox(PChar('没有出租明细,不可保存!'), PChar('提示'),
MB_ICONEXCLAMATION);
exit;
end;
//删除多余记录
case group_zlr.ItemIndex of
0: begin
dm.ADOQ_czbtmp.Close;
dm.ADOQ_czbtmp.SQL.Clear;
dm.ADOQ_czbtmp.SQL.Add('delete from czb where 证号='+'"'+e_hyid.Text+'"');
dm.adoq_czbtmp.ExecSQL;
dm.ADOQ_czbtmp.Close;
end;
1:begin
dm.ADOQ_czbtmp.Close;
dm.ADOQ_czbtmp.SQL.Clear;
dm.ADOQ_czbtmp.SQL.Add('delete from czb where 证号='+'"'+e_yjid.Text+'"');
dm.adoq_czbtmp.ExecSQL;
dm.ADOQ_czbtmp.Close;
end;
end;
//添加记录
dm.ADOQ_czbtmp.Close;
dm.ADOQ_czbtmp.SQL.Clear;
dm.ADOQ_czbtmp.SQL.Add('insert into czb select * from czbtmp');
dm.adoq_czbtmp.ExecSQL;
dm.ADOQ_czbtmp.Close;
//更改tsvcd库状态为已租
dm.ADO_czbtmp.Open;
dm.ADO_czbtmp.First;
while not dm.ADO_czbtmp.Eof do
begin
dm.ADO_vcd.Open;
dm.ADO_vcd.Locate('编号',dm.ADO_czbtmp.fieldbyname('编号').AsString,[]);
dm.ADO_vcd.Edit;
dm.ado_vcd.FieldByName('状态').AsString:='已租';
dm.ADO_vcd.Post;
dm.ADO_czbtmp.Next;
end;
//
//删除临时记录
dm.ADOQ_czbtmp.SQL.Clear;
dm.ADOQ_czbtmp.SQL.Add('delete from czbtmp');
dm.adoq_czbtmp.ExecSQL;
dm.ADO_czbtmp.Close;
//czdt写入
dm.ADO_czdt.Open;
dm.ADO_czdt.Edit;
dm.ADO_czdt.Post;
//零租押金写入cash库
if (group_zlr.ItemIndex=1) and (strtofloat(e_yj.text)>0) and (e_yjid.tag=1) then
begin
dm.ADO_cash.Open;
dm.ADO_cash.AppendRecord([e_yjid.text,date(),'收零租押金',e_yj.text]);
dm.ADO_cash.Close;
end;
e_hyid.Text:='';
e_hypass.Text:='';
e_yjid.Text:='';
e_yj.Text:='0.00';
group_zlr.ItemIndex:=0;
e_hyid.SetFocus();
group_vcd.Enabled:=false;
groupcolor;
end;
procedure Tfrm_vcdcz.E_yjidEnter(Sender: TObject);
begin
dm.ADOQ_czbtmp.Close;
dm.ADOQ_czbtmp.SQL.Clear;
dm.ADOQ_czbtmp.SQL.Add('delete from czbtmp');
dm.adoq_czbtmp.ExecSQL;
dm.ADO_czbtmp.Close;
end;
procedure Tfrm_vcdcz.e_hyidEnter(Sender: TObject);
begin
e_zl_name.Text:='';
e_zl_sex.Text:='';
e_zl_nl.Text:='';
e_zl_zlx.Text:='';
e_zl_yj.Text:='';
e_zl_tel.Text:='';
//vcdzthf;
dm.adoq_czbtmp.SQL.Clear;
dm.ADOQ_czbtmp.SQL.Add('delete from czbtmp');
dm.ADOQ_czbtmp.ExecSQL;
dm.adoq_czbtmp.Close;
dm.ADO_czdt.Cancel;
dm.ADO_czbtmp.Close;
group_vcd.Enabled:=false;
groupcolor;
end;
procedure Tfrm_vcdcz.e_yjKeyPress(Sender: TObject; var Key: Char);
begin
if not ( Key in ['0'..'9',#13,#8,'.']) then Key := #0;
end;
procedure Tfrm_vcdcz.e_yjEnter(Sender: TObject);
begin
frm_vcdcz.KeyPreview:=true;
end;
procedure Tfrm_vcdcz.E_yjidChange(Sender: TObject);
begin
e_yjid.Tag:=0;
end;
procedure Tfrm_vcdcz.FormActivate(Sender: TObject);
begin
ztl.Panels[1].Text:=' 当前日期:'+datetostr(date());
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -