📄 c_vcdrent.pas
字号:
dm.ado_czbtmp.FieldByName('出租单价').AsString:=dm.ADO_vcd.fieldbyname('零租租金').AsString;
end;
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;
end;
procedure Tcfrm_vcdrent.SpeedButton1Click(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 Tcfrm_vcdrent.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
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 Tcfrm_vcdrent.e_yjExit(Sender: TObject);
begin
cfrm_vcdrent.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));//对输入的押金进行格式化
group_vcd.Enabled:=true;
groupcolor;
end;
procedure Tcfrm_vcdrent.BitBtn1Click(Sender: TObject);//保存出租信息
begin
dm.ADO_czbtmp.Open;
if dm.ADO_czbtmp.IsEmpty then //如果临时租借表的内容为空则不保存
begin
Application.MessageBox(PChar('没有出租明细,不可保存!'), PChar('提示'),
MB_ICONEXCLAMATION);
exit;
end;
//删除多余记录 (多余的记录实际上已经插入了czbtmp表中,后面会再添加)
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写入
case group_zlr.ItemIndex of
0:begin
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:='会员';
dm.ADO_czdt.Post;
end;
end;
1:begin
if e_yjid.Text<>''then
dm.ado_czdt.OPEN;
if not dm.ADO_czdt.Locate('证号',e_yjid.Text,[]) then
begin
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:='零租';
dm.ADO_czdt.Post;
end;
end;
end;
//零租押金写入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 Tcfrm_vcdrent.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 Tcfrm_vcdrent.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 Tcfrm_vcdrent.e_yjKeyPress(Sender: TObject; var Key: Char);
begin
if not ( Key in ['0'..'9',#13,#8,'.']) then Key := #0;
end;
procedure Tcfrm_vcdrent.e_yjEnter(Sender: TObject);
begin
cfrm_vcdrent.KeyPreview:=true;
end;
procedure Tcfrm_vcdrent.e_yjidChange(Sender: TObject);
begin
e_yjid.Tag:=0;
end;
procedure Tcfrm_vcdrent.FormActivate(Sender: TObject);
begin
ztl.Panels[1].Text:=' 当前日期:'+datetostr(date());
end;
procedure tcfrm_vcdrent.groupcolor;
begin
e_vcdid.Text:='';
if cfrm_vcdrent.group_vcd.Enabled then
begin
cfrm_vcdrent.e_vcdid.Color:=clwindow;
e_vcdid.SetFocus();
end
else
cfrm_vcdrent.e_vcdid.Color:=cl3DLight;
end;
{出租明细及颜色改变}
procedure Tcfrm_vcdrent.Group_zlrClick(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_czbtmp.Close;
dm.ADO_czdt.Cancel;
case group_zlr.ItemIndex of
0:
begin
group_hy.Visible:=true;
group_lz.Visible:=false;
group_qp.Visible:=false;
group_vcd.Enabled:=false;
e_hyid.SetFocus();
Groupcolor;
end;
1:
begin
e_hyid.Text:='';
e_hypass.Text:='';
e_zl_name.Text:='';
e_zl_sex.Text:='';
e_zl_nl.Text:='';
e_zl_zlx.Text:='';
e_zl_yj.Text:='';
e_zl_tel.Text:='';
group_hy.Visible:=false;
group_lz.Visible:=true;
group_qp.Visible:=false;
group_vcd.Enabled:=false;
e_yjid.Enabled:=true;
e_yjid.Tag:=0;
e_yj.Enabled:=true;
e_yj.Text:='0.00';
e_yjid.Text:='';
e_yjid.Color:=clwindow;
e_yj.Color:=clwindow;
e_yjid.SetFocus();
Groupcolor;
end;
2:
begin
e_hyid.Text:='';
e_hypass.Text:='';
e_zl_name.Text:='';
e_zl_sex.Text:='';
e_zl_nl.Text:='';
e_zl_zlx.Text:='';
e_zl_yj.Text:='';
e_zl_tel.Text:='';
group_hy.Visible:=false;
group_lz.Visible:=false;
group_qp.Visible:=true;
group_vcd.Enabled:=true;
e_vcdid.SetFocus();
Groupcolor;
end;
end;
end;
procedure Tcfrm_vcdrent.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
EnterToTab(Self, Key, Shift);
end;
procedure Tcfrm_vcdrent.e_hypassKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
EnterToTab(Self, Key, Shift);
end;
procedure Tcfrm_vcdrent.e_hyidKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
EnterToTab(Self, Key, Shift);
end;
procedure Tcfrm_vcdrent.e_yjKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
EnterToTab(Self, Key, Shift);
end;
procedure Tcfrm_vcdrent.e_yjidKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
EnterToTab(Self, Key, Shift);
end;
procedure Tcfrm_vcdrent.e_vcdidKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
EnterToTab(Self, Key, Shift);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -