📄 c_nbjd.pas
字号:
procedure TNbjdForm.tblKrzdBeforePost(DataSet: TDataSet);
begin
inherited;
if tblKrzdD_KFBH.Value = '' then
raise Exception.Create('请输入房间号!');
if tblKrzdD_SJFJ.IsNull then
raise Exception.Create('请输入房价!');
if (tblKryjD_FKFS.Value=FKFS_RMB)and(tblKryjD_YFJE.IsNull) then
raise Exception.Create('请输入预付金额');
UpdateKrzd;
UpdateKrxx;
UpdateKryj;
UpdateKfzt;
end;
//检查房价
procedure TNbjdForm.tblKrzdD_SJFJValidate(Sender: TField);
begin
inherited;
if tblKrzdD_SJFJ.Value <= 0 then
raise Exception.Create('房价必须大于零!');
end;
//检查预付金额
procedure TNbjdForm.tblKryjD_YFJEValidate(Sender: TField);
begin
inherited;
if (tblKryjD_YFJE.Required)and(tblKryjD_YFJE.Value<=0) then
raise Exception.Create('预付金额必须大于零!');
end;
//改变预付方式
procedure TNbjdForm.tblKryjD_FKFSChange(Sender: TField);
begin
inherited;
tblKryjD_YFJE.Required := tblKryjD_FKFS.Value = FKFS_RMB;
tblKryjD_XYKBH.Required:= tblKryjD_FKFS.Value = FKFS_XYK;
tblKryjD_KHBH.Required := tblKryjD_FKFS.Value = FKFS_JZ;
if tblKryjD_FKFS.Value <> FKFS_RMB then
tblKryjD_YFJE.Value := 0;
dbeYfje.Visible := tblKryjD_FKFS.Value = FKFS_RMB;
dbcXykbh.Visible := tblKryjD_FKFS.Value = FKFS_XYK;
dbcKhbh.Visible := tblKryjD_FKFS.Value = FKFS_JZ;
lblYfje.Visible := tblKryjD_FKFS.Value <> FKFS_ZP;
if dbeYfje.Visible then lblYfje.Caption := '预付金额';
if dbcXykbh.Visible then lblYfje.Caption := '信用卡';
if dbcKhbh.Visible then lblYfje.Caption := '记帐客户';
lblMc.Caption := '';
dbcXykbh.Left := dbeYfje.Left;
dbcXYkbh.Top := dbeYfje.Top;
dbcKhbh.Left := dbeYfje.Left;
dbcKhbh.Top := dbeYfje.Top;
end;
procedure TNbjdForm.tblKrzdD_CZYXMChange(Sender: TField);
begin
inherited;
FCzyxm := tblKrzdD_CZYXM.Value;
DQCZY.CzyXm := FCzyxm;
end;
procedure TNbjdForm.tblKrzdD_JZYXMChange(Sender: TField);
begin
inherited;
FJzyxm := tblKrzdD_JZYXM.Value;
DQJZY.CzyXm := FJzyxm;
end;
//检查客房入住有效性
procedure TNbjdForm.tblKrzdD_KFBHValidate(Sender: TField);
begin
inherited;
if HotelData.CheckKfzt(tblKrzdD_KFBH.Value)<>KFZT_OK then
raise Exception.Create('该客房已经有人入住,请选择其他客房!');
end;
//检查身份证
procedure TNbjdForm.tblKrxxD_ZJHMValidate(Sender: TField);
begin
inherited;
if (not ValidSfz(tblKrxxD_ZJHM.Value))and(tblKrxxD_ZJHM.Value<>'') then
raise Exception.Create('非法身份证号码!');
end;
//改变证件类型时
procedure TNbjdForm.tblKrxxD_ZJBHChange(Sender: TField);
begin
inherited;
//清空证件号码
tblKrxxD_ZJHM.Value := '';
//如果是身份证
if HotelData.FindMc('ZJDM','D_ZJBH','D_ZJMC',tblKrxxD_ZJBH.Value) = '身份证' then
begin
tblKrxxD_ZJHM.OnValidate := tblKrxxD_ZJHMValidate;
dbeZjhm.OnKeyPress := dbeZjhmKeyPress;
end
else
begin
tblKrxxD_ZJHM.OnValidate := nil;
dbeZjhm.OnKeyPress := nil;
end;
end;
procedure TNbjdForm.dbeZjhmKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if (not (Key in ['0'..'9'])) and (Ord(Key) <> VK_BACK) then
begin
Key := #0;
Beep;
end;
end;
//判断来店次数和黑名单
procedure TNbjdForm.dbeKrxmExit(Sender: TObject);
var
i : Integer;
s : string;
begin
inherited;
if dbeKrxm.Text <> '' then
begin
i := HotelData.Ldcs(dbeKrxm.Text);
if i=0 then
lblInfo.Caption := '友情提醒:该客人是首次来店'
else
lblInfo.Caption := '友情提醒:该客人是第'+IntToStr(i+1)+'次来店';
s := HotelData.IsHmd(dbeKrxm.Text,'');
if s<>'' then
ShowInfo('该客人姓名列入了黑名单!'+#13#10+s);
LoadKrxx(dbeKrxm.Text);
end
else
dbeKrxm.SetFocus;
end;
procedure TNbjdForm.dbcXbKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if Key = '2' then tblKrxxD_XB.Value := '女'
else
if Key = '1' then tblKrxxD_XB.Value := '男';
end;
procedure TNbjdForm.HelpInfo(Sender: TObject);
begin
inherited;
lblHelp.Caption := Info_Help[(Sender as TComponent).Tag];
end;
procedure TNbjdForm.dbcFkfsKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if Key = '1' then tblKryjD_FKFS.Value := '人民币'
else
if Key = '2' then tblKryjD_FKFS.Value := '信用卡'
else
if Key = '3' then tblKryjD_FKFS.Value := '支票'
else
if Key = '4' then tblKryjD_FKFS.Value := '记帐';
end;
procedure TNbjdForm.dbcCzyxmExit(Sender: TObject);
begin
inherited;
if HotelData.FindBh('YGDA','D_YGBH','D_YGXM',tblKrzdD_CZYXM.Value)='' then
begin
FCzyxm := GetMc(dbcCzyxm.Items[dbcCzyxm.ItemIndex]);
DQCZY.CzyXm := FCzyxm;
if HotelData.FindBh('YGDA','D_YGBH','D_YGXM',FCzyxm)<>'' then
tblKrzdD_CZYXM.Value := FCzyxm
else
dbcCzyxm.SetFocus;
end;
end;
procedure TNbjdForm.dbcJzyxmExit(Sender: TObject);
var
AJzybh: string;
begin
inherited;
if HotelData.FindBh('YGDA','D_YGBH','D_YGXM',tblKrzdD_JZYXM.Value)='' then
begin
FJzyxm := GetMc(dbcJzyxm.Items[dbcJzyxm.ItemIndex]);
AJzybh := HotelData.FindBh('YGDA','D_YGBH','D_YGXM',FJzyxm);
if AJzybh<>'' then
begin
tblKrzdD_JZYXM.Value := FJzyxm;
JZY.CzyBh := AJzybh;
JZY.CzyXm := FJzyxm;
DQJZY.CzyXm := FJzyxm;
end
else
dbcJzyxm.SetFocus;
end;
end;
procedure TNbjdForm.dbcXykbhExit(Sender: TObject);
var
AXykbh,AXykmc: string;
begin
inherited;
AXykmc := HotelData.FindMc('XYK','D_XYKBH','D_XYKMC',tblKryjD_XYKBH.Value);
if AXykmc='' then
begin
AXykmc := GetMc(dbcXykbh.Items[dbcXykbh.ItemIndex]);
AXykbh := HotelData.FindBh('XYK','D_XYKBH','D_XYKMC',AXykmc);
if AXykbh<>'' then
begin
tblKryjD_XYKBH.Value := AXykbh;
lblMc.Caption := AXykmc;
end
else
dbcXykbh.SetFocus;
end
else
lblMC.Caption := AXykmc;
end;
procedure TNbjdForm.dbcKhbhExit(Sender: TObject);
var
AKhbh,AKhmc: string;
begin
inherited;
AKhmc := HotelData.FindMc('KHDA','D_KHBH','D_KHMC',tblKryjD_KHBH.Value);
if AKhmc='' then
begin
AKhmc := GetMc(dbcKhbh.Items[dbcKhbh.ItemIndex]);
AKhbh := HotelData.FindBh('KHDA','D_KHBH','D_KHMC',AKhmc);
if AKhbh<>'' then
begin
tblKryjD_KHBH.Value := AKhbh;
lblMc.Caption := AKhmc;
end
else
dbcKhbh.SetFocus;
end
else
lblMc.Caption := AKhmc;
end;
procedure TNbjdForm.dbcMzExit(Sender: TObject);
var
AMzbh,AMzmc: string;
begin
inherited;
AMzmc := HotelData.FindMc('MZDM','D_MZBH','D_MZMC',tblKrxxD_MZBH.Value);
if AMzmc='' then
begin
AMzmc := dbcMz.Text;
AMzbh := HotelData.FindBh('MZDM','D_MZBH','D_MZMC',AMzmc);
if AMzbh<>'' then
begin
tblKrxxD_MZBH.Value := AMzbh;
lblMz.Caption := AMzmc;
Exit;
end;
//edit
AMzmc := GetMc(dbcMz.Items[dbcMz.ItemIndex]);
AMzbh := HotelData.FindBh('MZDM','D_MZBH','D_MZMC',AMzmc);
if AMzbh<>'' then
begin
tblKrxxD_MZBH.Value := AMzbh;
lblMz.Caption := AMzmc;
end
else
dbcMz.SetFocus;
end
else
lblMz.Caption := AMzmc;
end;
procedure TNbjdForm.dbcDqbhExit(Sender: TObject);
var
ADqbh,ADqmc: string;
begin
inherited;
ADqmc := HotelData.FindMc('DQDM','D_DQBH','D_DQMC',tblKrxxD_DQBH.Value);
if ADqmc='' then
begin
ADqmc := dbcDqbh.Text;
ADqbh := HotelData.FindBh('DQDM','D_DQBH','D_DQMC',ADqmc);
if ADqbh<>'' then
begin
tblKrxxD_DQBH.Value := ADqbh;
lblDqmc.Caption := ADqmc;
Exit;
end;
ADqmc := GetMc(dbcDqbh.Items[dbcDqbh.ItemIndex]);
ADqbh := HotelData.FindBh('DQDM','D_DQBH','D_DQMC',ADqmc);
if ADqbh<>'' then
begin
tblKrxxD_DQBH.Value := ADqbh;
lblDqmc.Caption := ADqmc;
end
else
dbcDqbh.SetFocus;
end
else
lblDqmc.Caption := ADqmc;
end;
procedure TNbjdForm.dbcZjlxExit(Sender: TObject);
var
AZjbh,AZjmc: string;
begin
inherited;
AZjmc := HotelData.FindMc('ZJDM','D_ZJBH','D_ZJMC',tblKrxxD_ZJBH.Value);
if AZjmc='' then
begin
AZjmc := dbcZjlx.Text;
AZjbh := HotelData.FindBh('ZJDM','D_ZJBH','D_ZJMC',AZjmc);
if AZjbh<>'' then
begin
tblKrxxD_ZJBH.Value := AZjbh;
lblZjmc.Caption := AZjmc;
Exit;
end;
AZjmc := GetMc(dbcZjlx.Items[dbcZjlx.ItemIndex]);
AZjbh := HotelData.FindBh('ZJDM','D_ZJBH','D_ZJMC',AZjmc);
if AZjbh<>'' then
begin
tblKrxxD_ZJBH.Value := AZjbh;
lblZjmc.Caption := AZjmc;
end
else
dbcZjlx.SetFocus;
end
else
lblZjmc.Caption := AZjmc;
end;
procedure TNbjdForm.dbeSjfjExit(Sender: TObject);
begin
inherited;
if dbeSjfj.Text = '' then dbeSjfj.SetFocus;
if StrToCurr(dbeSjfj.Text) >500 then
begin
lblInfo.Caption := '友情提醒:你输入的房价可能有错误!';
Label3.Font.Color := clRed;
if not Confirm('你输入的房价可能有错误!你确认吗?') then
dbeSjfj.SetFocus;
end;
end;
procedure TNbjdForm.dbeYfjeExit(Sender: TObject);
begin
inherited;
if dbeYfje.Text = '' then dbeYfje.SetFocus;
end;
procedure TNbjdForm.dbeZjhmExit(Sender: TObject);
var
s : string;
begin
inherited;
if tblKrxxD_ZJBH.Value = '01' then
begin
if dbeZjhm.Text = '' then dbeZjhm.SetFocus;
end;
if dbeZjhm.Text <> '' then
begin
s := HotelData.IsHmd('',dbeZjhm.Text);
if s <> '' then
ShowInfo('该客人的证件号码列入了黑名单!'+#13#10+s);
end;
end;
procedure TNbjdForm.dbcKhbhDblClick(Sender: TObject);
begin
inherited;
tblKryjD_KHBH.Value := KhdaSel;
end;
procedure TNbjdForm.dbeKfbhExit(Sender: TObject);
begin
inherited;
if dbeKfbh.Text = '' then dbeKfbh.SetFocus;
end;
procedure TNbjdForm.dbeZjhmKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if Key = VK_F2 then
begin
dbeZjhm.OnExit := nil;
dbcZjlx.SetFocus;
dbeZjhm.OnExit := dbeZjhmExit;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -