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

📄 vcdcz.pas

📁 一个关于VCD销售的系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
       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 + -