?? vcdhz.~pas
字號:
unit vcdhz;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ExtCtrls, Grids, DBGrids,
StdCtrls, Buttons, ComCtrls;
type
TF_vcdhz = class(TForm)
group_zlr: TRadioGroup;
Group_hz: TGroupBox;
Label7: TLabel;
DBGrid1: TDBGrid;
e_vcdid: TEdit;
Group_js: TGroupBox;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
e_qk: TEdit;
e_ys: TEdit;
e_ss: TEdit;
e_thyj: TEdit;
Group_zl: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
e_zlname: TEdit;
e_zlsex: TEdit;
e_zlzlx: TEdit;
e_zlyj: TEdit;
e_zltel: TEdit;
DataSource1: TDataSource;
b_ok: TBitBtn;
ZTL: TStatusBar;
Group_lz: TGroupBox;
Label8: TLabel;
Label9: TLabel;
e_yjid: TEdit;
e_yj: TEdit;
group_hy: TGroupBox;
Label1: TLabel;
e_hyid: TEdit;
Group_qp: TGroupBox;
Label14: TLabel;
procedure group_zlrClick(Sender: TObject);
procedure e_hyidChange(Sender: TObject);
procedure e_hyidExit(Sender: TObject);
procedure e_yjidChange(Sender: TObject);
procedure e_yjidExit(Sender: TObject);
procedure e_vcdidExit(Sender: TObject);
procedure e_ssExit(Sender: TObject);
procedure e_ssKeyPress(Sender: TObject; var Key: Char);
procedure e_thyjExit(Sender: TObject);
procedure e_thyjKeyPress(Sender: TObject; var Key: Char);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure b_okClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure FormActivate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure ysje;//應收金額計算
procedure hylzcx;//vcdid反查會員零租
end;
var
F_vcdhz: TF_vcdhz;
sqlz:string;
hylzbh:string;//會員或零租證號
implementation
uses datam;
{$R *.dfm}
procedure TF_vcdhz.ysje;
var
ysje,czts:real;//應收金額,出租天數
begin
czts:=trunc(Date)-trunc(dm.ADO_czbtmp.FieldByName('出租日期').asdatetime);
if czts=0 then czts:=1;
ysje:=strtofloat(e_ys.text)+czts*dm.ADO_czbtmp.fieldbyname('出租單價').asfloat;
e_ys.Text:=formatfloat('0.00',ysje);
end;
procedure TF_vcdhz.hylzcx;//vcdid反查會員零租
begin
dm.ADO_czb.open;
dm.ADO_czb.first;
if not dm.ado_czb.locate('編號',e_vcdid.Text,[]) then
begin
application.MessageBox(pchar('無此圖書、影碟的出租記錄,請檢查!')
,pchar('提示'),MB_ICONEXCLAMATION);
e_vcdid.text:='';
e_vcdid.setfocus();
exit;
end;
hylzbh:=dm.ADO_czb.fieldbyname('證號').asstring;
if Length(hylzbh)=5 then
begin
group_zlr.itemindex:=0;
group_zlr.onclick(group_zlr);
e_hyid.text:=hylzbh;
e_hyid.onexit(e_hyid);
e_hyid.enabled:=false;
e_hyid.color:=cl3dlight;
end;
if length(hylzbh)=6 then
begin
group_zlr.itemindex:=1;
group_zlr.onclick(group_zlr);
e_yjid.text:=hylzbh;
e_yjid.onexit(e_yjid);
e_yjid.enabled:=false;
e_yjid.color:=cl3dlight;
end;
end;
procedure TF_vcdhz.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_czbtmp.Open;
e_qk.Text:='0.00';
e_ys.Text:='0.00';
e_ss.Text:='0.00';
e_thyj.Text:='0.00';
//刪除czbtmp
CASE GROUP_ZLR.ItemIndex OF
0:BEGIN
GROUP_HY.Visible:=true;
group_lz.Visible:=False;
e_hyid.Enabled:=true;
e_hyid.SetFocus();
group_lz.Visible:=false;
group_qp.Visible:=false;
e_yjid.Text:='';
e_yj.Text:='0.00';
e_ss.Enabled:=true;
e_ss.Color:=clwindow;
e_thyj.Enabled:=false;
e_thyj.Color:=cl3dlight;
end;
1:begin
group_hy.Visible:=false;
group_lz.Visible:=true;
group_qp.Visible:=false;
e_zlname.Text:='';
e_zlsex.Text:='';
e_zlzlx.Text:='';
e_zlyj.Text:='';
e_zltel.Text:='';
e_ss.Enabled:=true;
e_ss.Color:=clwindow;
e_thyj.Enabled:=true;
e_thyj.Color:=clwindow;
e_hyid.Text:='';
e_yjid.Enabled:=true;
// e_yjid.SetFocus();
end;
2:begin
GROUP_HY.Visible:=false;
group_lz.Visible:=false;
group_qp.Visible:=true;
e_zlname.Text:='';
e_zlsex.Text:='';
e_zlzlx.Text:='';
e_zlyj.Text:='';
e_zltel.Text:='';
e_hyid.Text:='';
e_yjid.Text:='';
e_yj.Text:='0.00';
e_ss.Enabled:=false;
e_ss.Color:=cl3dlight;
e_thyj.Enabled:=false;
e_thyj.Color:=cl3dlight;
e_vcdid.SetFocus();
//生成租借臨時庫
dm.adoq_czbtmp.Close;
dm.adoq_czbtmp.SQL.Clear;
sqlz:='insert into czbtmp select * from czb where 證號='+'"'+'親朋'+'"';
dm.adoq_czbtmp.SQL.Add(sqlz);
dm.adoq_czbtmp.ExecSQL;
dm.ADO_czbtmp.close;
dm.ADO_czbtmp.Open;
end;
end;
end;
procedure TF_vcdhz.e_hyidChange(Sender: TObject);
begin
e_zlname.Text:='';
e_zlsex.Text:='';
e_zlzlx.Text:='';
e_zlyj.Text:='';
e_zltel.Text:='';
e_qk.Text:='0.00';
e_ys.Text:='0.00';
e_ss.Text:='0.00';
e_thyj.Text:='0.00';
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;
end;
procedure TF_vcdhz.e_hyidExit(Sender: TObject);
begin
if e_hyid.text='' then exit;
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;
if dm.ADO_czbtmp.IsEmpty=false then exit;
dm.ADO_czdt.Open;
dm.ADO_czdt.First;
dm.ADO_czdt.Sort:='證號';
if not dm.ADO_czdt.Locate('證號',e_hyid.Text,[]) then
begin
Application.MessageBox(PChar('證號錯誤或無此用戶租借記錄,請重新錄入!')
, PChar('提示'),MB_ICONEXCLAMATION);
e_hyid.Text:='';
e_hyid.SetFocus();
end
else
begin
dm.ADO_vip.Open;
dm.ADO_vip.First;
dm.ADO_vip.Locate('證號',e_hyid.Text,[]);
e_zlname.Text:=dm.ADO_vip.fieldbyname('姓名').asstring;
e_zlsex.Text:=dm.ADO_vip.fieldbyname('性別').asstring;
e_zlzlx.Text:=dm.ADO_vip.fieldbyname('證類型').asstring;
e_zlyj.Text:=formatfloat('0.00',dm.ADO_vip.fieldbyname('押金').asfloat);
e_zltel.Text:=dm.ADO_vip.fieldbyname('電話').asstring;
dm.ADO_vip.Close;
//生成租借臨時庫
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;
dm.ADO_czbtmp.close;
dm.ADO_czbtmp.Open;
//查詢有無欠款
dm.ado_qk.open;
dm.ado_qk.first;
if dm.ado_qk.locate('證號',e_hyid.Text,[]) then
e_qk.Text:=formatfloat('0.00',dm.ado_qk.fieldbyname('金額').asfloat);
dm.ado_qk.Close;
e_vcdid.SetFocus();
end;
end;
procedure TF_vcdhz.e_yjidChange(Sender: TObject);
begin
e_zlname.Text:='';
e_zlsex.Text:='';
e_zlzlx.Text:='';
e_zlyj.Text:='';
e_zltel.Text:='';
e_yj.Text:='0.00';
e_qk.Text:='0.00';
e_ys.Text:='0.00';
e_ss.Text:='0.00';
e_thyj.Text:='0.00';
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;
end;
procedure TF_vcdhz.e_yjidExit(Sender: TObject);
begin
if e_yjid.Text='' then exit;
if dm.ADO_czbtmp.IsEmpty=false then exit;
dm.ADO_czdt.Open;
dm.ADO_czdt.First;
dm.ADO_czdt.Sort:='證號';
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -