📄 unit23.~pas
字号:
procedure Ttfform.BitBtn2Click(Sender: TObject);
begin
{edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
edit7.Text:='';
edit8.Text:='';
edit9.Text:='';
edit10.Text:='';
edit11.Text:='';
edit12.Text:='';
edit13.Text:='';
edit14.Text:='';}
initiate;
adodataset1.Close;
adotable1.Close;
close;
end;
procedure Ttfform.BitBtn1Click(Sender: TObject);
var
adodataset2:TAdoDataset;
begin
//订房历史表
savetobookroomhistorytable;
//当天收支数据表
savetodtsztable;
//收支历史表
savetoszhistorytable;
//资金清算历史表
// savetozjqshistorytable;
//客房管理
adodataset2:=TAdodataset.Create(self);
adodataset2.Connection:=adoconnection1;
adodataset2.Parameters.Clear;
adodataset2.Parameters.add;
adodataset2.Parameters[0].name:='s0';
adodataset2.Parameters[0].DataType:=ftstring;
adodataset2.Parameters[0].Size:=6;
adodataset2.Parameters[0].Direction:=pdinput;
adodataset2.Parameters[0].Value:=adodataset1.fieldbyname('房间编号').asstring;;
adodataset2.CommandText:='select *from 客房管理 where 客房编号=:s0';
adodataset2.Active:=true;
adodataset2.Edit;
adodataset2.FieldByName('使用标志').asboolean:=false;
adodataset2.post;
adodataset2.close;
//资金清算表
savetozjqstable;
adodataset1.Delete;
adodataset1.Refresh;
while application.MessageBox('是否打印订房单(Yes/No)','提示信息',mb_yesno)=IDYes do
begin
tfprint.QRLabel3.Caption:=edit1.Text;
tfprint.QRLabel5.Caption:=edit2.Text;
tfprint.QRLabel7.Caption:=edit3.Text;
tfprint.QRLabel9.Caption:=edit4.Text;
tfprint.QRLabel11.Caption:=edit5.Text;
tfprint.QRLabel13.Caption:=edit6.Text;
tfprint.QRLabel15.Caption:=edit7.Text;
tfprint.QRLabel17.Caption:=edit8.Text;
tfprint.QRLabel19.Caption:=edit11.Text;
tfprint.QRLabel21.Caption:=edit9.Text;
tfprint.QRLabel27.Caption:=edit10.Text;
tfprint.QRLabel29.Caption:=edit12.Text;
tfprint.QRLabel31.Caption:=edit14.Text;
tfprint.QRLabel23.Caption:=denglu.usename;
tfprint.QRLabel25.Caption:=datetimetostr(now);
tfprint.QuickRep1.PreviewModal;
end;
bitbtn1.Enabled:=false;
end;
//procedure Ttfform.Edit1Change(Sender: TObject);
//end;
{procedure Ttfform.Edit1Exit(Sender: TObject);
var
day,stime:integer;
sum:real;
begin
if trim(edit1.Text)='' then
begin
Application.MessageBox('请输入的订房编号!','提示信息',mb_ok);
exit;
end
else
begin
adodataset1.Close;
adodataset1.Parameters.clear;
adodataset1.Parameters.AddParameter;
adodataset1.Parameters[0].name:='s0';
adodataset1.Parameters[0].DataType:=ftstring;
adodataset1.Parameters[0].Size:=12;
adodataset1.Parameters[0].Direction:=pdinput;
adodataset1.Parameters[0].Value:=edit1.text;
adodataset1.Parameters.AddParameter;
adodataset1.Parameters[1].Name:='s1';
adodataset1.Parameters[1].DataType:=ftboolean;
adodataset1.Parameters[1].Direction:=pdinput;
adodataset1.Parameters[1].Value:=false;
adodataset1.commandtext:='select * from 订房数据表 where 订房序号=:s0 and 预订标志=:s1';
adodataset1.open;
if adodataset1.RecordCount=0 then
begin
Application.MessageBox('您输入的订房编号错误,请检查!','提示信息',mb_ok);
bitbtn1.Enabled:=false;
end
else
begin
edit2.text:=adodataset1.fieldbyname('房间编号').asstring;
edit3.text:=adodataset1.fieldbyname('客户名称').asstring;
edit4.text:=adodataset1.fieldbyname('证件号码').asstring;
edit5.text:=DateTimetostr(adodataset1.fieldbyname('登记日期').asDatetime);
edit6.Text:=datetimetostr(now);
edit7.text:=IntToStr(adodataset1.fieldbyname('住房单价').asinteger);
edit8.text:=FloatToStr(adodataset1.fieldbyname('折扣率').asfloat);
edit9.text:=IntToStr(adodataset1.fieldbyname('其他费用').asinteger);
edit11.text:=IntToStr(adodataset1.fieldbyname('押金数').asinteger);
if adodataset1.fieldbyname('钟点房').asboolean then
begin
edit13.text:='钟点房';
day:=daysbetween(dateof(strtodatetime(edit6.text)),dateof(strtodatetime(edit5.text)));
stime:=hourof(strtodatetime(edit6.text));
if stime>18 then
sum:=(day+1)*(strtofloat(edit8.text)/100)*strtoint(edit7.text)+strtoint(edit9.text)
else if stime>12 then
sum:=(day+0.5)*(strtofloat(edit8.text)/100)*strtoint(edit7.text)+strtoint(edit9.text)
else
sum:=day*(strtofloat(edit8.text)/100)*strtoint(edit7.text)+strtoint(edit9.text);
end
else
begin
edit13.text:='住宿';
day:=daysbetween(dateof(strtodatetime(edit6.text)),dateof(strtodatetime(edit5.text)));
sum:=day*(strtofloat(edit8.text)/100)*strtoint(edit7.text)+strtoint(edit9.text);
end;
edit10.text:=floattostr(sum);
edit12.text:=floattostr(sum-adodataset1.fieldbyname('押金数').asinteger);
bitbtn1.Enabled:=true;
end;
end;
end; }
procedure Ttfform.FormClose(Sender: TObject; var Action: TCloseAction);
begin
initiate;
adodataset1.Close;
adotable1.Close;
close;
end;
procedure Ttfform.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
day,stime:integer;
sum:real;
begin
if key=13 then
begin
if trim(edit1.Text)='' then
begin
Application.MessageBox('请输入的订房编号!','提示信息',mb_ok);
exit;
end
else
begin
adodataset1.Close;
adodataset1.Parameters.clear;
adodataset1.Parameters.AddParameter;
adodataset1.Parameters[0].name:='s0';
adodataset1.Parameters[0].DataType:=ftstring;
adodataset1.Parameters[0].Size:=12;
adodataset1.Parameters[0].Direction:=pdinput;
adodataset1.Parameters[0].Value:=edit1.text;
adodataset1.Parameters.AddParameter;
adodataset1.Parameters[1].Name:='s1';
adodataset1.Parameters[1].DataType:=ftboolean;
adodataset1.Parameters[1].Direction:=pdinput;
adodataset1.Parameters[1].Value:=false;
adodataset1.commandtext:='select * from 订房数据表 where 订房序号=:s0 and 预订标志=:s1';
adodataset1.open;
if adodataset1.RecordCount=0 then
begin
Application.MessageBox('您输入的订房编号错误,请检查!','提示信息',mb_ok);
bitbtn1.Enabled:=false;
end
else
begin
edit2.text:=adodataset1.fieldbyname('房间编号').asstring;
edit3.text:=adodataset1.fieldbyname('客户名称').asstring;
edit4.text:=adodataset1.fieldbyname('证件号码').asstring;
edit5.text:=DateTimetostr(adodataset1.fieldbyname('登记日期').asDatetime);
edit6.Text:=datetimetostr(now);
edit7.text:=IntToStr(adodataset1.fieldbyname('住房单价').asinteger);
edit8.text:=FloatToStr(adodataset1.fieldbyname('折扣率').asfloat);
edit9.text:=IntToStr(adodataset1.fieldbyname('其他费用').asinteger);
edit11.text:=IntToStr(adodataset1.fieldbyname('押金数').asinteger);
if adodataset1.fieldbyname('钟点房').asboolean then
begin
edit13.text:='钟点房';
day:=daysbetween(dateof(strtodatetime(edit6.text)),dateof(strtodatetime(edit5.text)));
stime:=hourof(strtodatetime(edit6.text));
if stime>18 then
sum:=(day+1)*(strtofloat(edit8.text)/100)*strtoint(edit7.text)+strtoint(edit9.text)
else if stime>12 then
sum:=(day+0.5)*(strtofloat(edit8.text)/100)*strtoint(edit7.text)+strtoint(edit9.text)
else
sum:=day*(strtofloat(edit8.text)/100)*strtoint(edit7.text)+strtoint(edit9.text);
end
else
begin
edit13.text:='住宿';
day:=daysbetween(dateof(strtodatetime(edit6.text)),dateof(strtodatetime(edit5.text)));
sum:=day*(strtofloat(edit8.text)/100)*strtoint(edit7.text)+strtoint(edit9.text);
end;
edit10.text:=floattostr(sum);
edit12.text:=floattostr(sum-adodataset1.fieldbyname('押金数').asinteger);
bitbtn1.Enabled:=true;
end;
end;
end;
end;
procedure Ttfform.BitBtn3Click(Sender: TObject);
begin
initiate;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -