⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c_vcdrent.pas

📁 《delphi数据库设计与实例开发》随书光盘
💻 PAS
📖 第 1 页 / 共 2 页
字号:
     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 + -