📄 main.pas
字号:
jiezhang:=1;
InHour:=HourOf(BeginTime);
DayDiff:=DayOf(now())-DayOf(begintime);
// label5.Caption:=IntToStr(dayof(now())-dayof(BeginTime));
if InHour<12 then //上午
begin
if DayDiff=0 then //天数差为0情况,
begin
if HourOf(now())>=12 then
begin
if HourOf(now())>=18 then
begin //晚六点后为2天
jiezhang:=1;
jiezhang:=dbt+1;//修改此处0819
end
else
begin
jiezhang:=1;
jiezhang:=dbt+1;//修改此处0819
end;
end
else
begin
jiezhang:=1;
jiezhang:=dbt+1;//修改此处0819
end;
end
else
begin
if HourOf(now())>=12 then
begin
if HourOf(now())<18 then
begin
jiezhang:=dayof(now())-dayof(BeginTime)+0.5;
//跨月份情况
if jiezhang<0 then
begin
jiezhang:=jiezhang+DaysInMonth(BeginTime);
jiezhang:=dbt+0.5;//修改此处0819
end;
//结束
end
else
begin
jiezhang:=dayof(now())-dayof(BeginTime)+1;
//跨月份情况
if jiezhang<0 then
begin
jiezhang:=jiezhang+DaysInMonth(BeginTime);
jiezhang:=dbt+1;//修改此处0819
end;
//结束
end;
end
else
begin
jiezhang:=dayof(now())-dayof(BeginTime);
//跨月份情况
if jiezhang<0 then
begin
jiezhang:=jiezhang+DaysInMonth(BeginTime);
jiezhang:=dbt+1;//修改此处0819
end;
//结束
end;
end;
end
else //下午
begin
if DayDiff=0 then
begin
jiezhang:=1;
jiezhang:=dbt+1;//修改此处0819
end
else
begin
if HourOf(now())>=12 then
begin
if HourOf(now())<18 then
begin
jiezhang:=dayof(now())-dayof(BeginTime)+0.5;
//跨月份情况
if jiezhang<0 then
begin
jiezhang:=jiezhang+DaysInMonth(BeginTime);
jiezhang:=dbt+0.5;//修改此处0819
end;
//结束
end
else
begin
jiezhang:=dayof(now())-dayof(BeginTime)+1;
//跨月份情况
if jiezhang<0 then
begin
jiezhang:=jiezhang+DaysInMonth(BeginTime);
jiezhang:=dbt+1;//修改此处0819
end;
//结束
end;
end
else
begin
jiezhang:=dayof(now())-dayof(BeginTime);
//跨月份情况
if jiezhang<0 then
begin
jiezhang:=jiezhang+DaysInMonth(BeginTime);
jiezhang:=dbt+1;//修改此处0819
end;
//结束
end;
end;
end;
ff:=jiezhang*DayFee;
//更改部分结束
end
else
//按钟点房计算房费
begin
if xs<=zdfsj then
begin
ii:=1;
end
else
begin
ii:=xs div zdfsj;
jj:=xs mod zdfsj;
if jj<>0 then ii:=ii+1;
end;
ff:=zdfff*ii;
end;
//结束
Q_Over.SQL.Clear;
Q_over.SQL.Add('select * from Account where RoomName='''+RoomN+'''');
Q_over.Open;
Q_over.Edit;
Q_over['Type1']:=ff;
Q_over.Post;
//结束
//结束
//根据AccountNo读取 DinList表中数据,合并各个类别金额后存入Account表相应字段中,并在结帐Form中显示;
Q_ydundo.SQL.Clear;
Q_ydundo.SQL.Add('select sum(SalePrice*Quantity) as TotalM,MenuType from DinList where cstr(AccountNo)='''+AccountNo+'''');
Q_ydundo.sql.Add('group by MenuType');
Q_ydundo.Open;
while not Q_ydundo.Eof do
begin
totala:=q_ydundo.FieldByName('TotalM').asfloat;
case Q_ydundo.FieldByName('MenuType').asinteger of
1:
begin
Q_Over.SQL.Clear;
Q_over.SQL.Add('select * from Account where RoomName='''+RoomN+'''');
Q_over.Open;
Q_over.Edit;
Q_over['Type2']:=totala;
Q_over.Post;
end;
2:
begin
Q_Over.SQL.Clear;
Q_over.SQL.Add('select * from Account where RoomName='''+RoomN+'''');
Q_over.Open;
Q_over.Edit;
Q_over['Type4']:=totala;
Q_over.Post;
end;
3:
begin
Q_Over.SQL.Clear;
Q_over.SQL.Add('select * from Account where RoomName='''+RoomN+'''');
Q_over.Open;
Q_over.Edit;
Q_over['Type5']:=totala;
Q_over.Post;
end;
4:
begin
Q_Over.SQL.Clear;
Q_over.SQL.Add('select * from Account where RoomName='''+RoomN+'''');
Q_over.Open;
Q_over.Edit;
Q_over['Type3']:=totala;
Q_over.Post;
end;
5:
begin
Q_Over.SQL.Clear;
Q_over.SQL.Add('select * from Account where RoomName='''+RoomN+'''');
Q_over.Open;
Q_over.Edit;
Q_over['Type6']:=totala;
Q_over.Post;
end;
end;
Q_ydundo.Next;
end;
//结束
//计算合计、应收金额
Q_Over.SQL.Clear;
Q_over.SQL.Add('select * from Account where RoomName='''+RoomN+'''');
Q_over.Open;
Q_over.Edit;
Q_over['xj']:=round(Q_Over.FieldByName('Type1').asfloat+Q_Over.FieldByName('Type2').asfloat+Q_Over.FieldByName('Type3').asfloat+Q_Over.FieldByName('Type4').asfloat+Q_Over.FieldByName('Type5').asfloat+Q_Over.FieldByName('Type6').asfloat);
Q_over['ysje']:=round(Q_Over.FieldByName('Type1').asfloat+Q_Over.FieldByName('Type2').asfloat+Q_Over.FieldByName('Type3').asfloat+Q_Over.FieldByName('Type4').asfloat+Q_Over.FieldByName('Type5').asfloat+Q_Over.FieldByName('Type6').asfloat);
Q_over.Post;
//结束
//读取 Account中各类项目的值
Q_Over.SQL.Clear;
Q_Over.SQL.Add('Select * from Account where RoomName='''+RooMN+'''');
Q_Over.Open;
Form20.XF_ff.caption:=Q_Over.FieldByName('Type1').AsString;
Form20.XF_ryp.caption:=Q_Over.FieldByName('Type2').AsString;
Form20.XF_sp.caption:=Q_Over.FieldByName('Type3').AsString;
Form20.XF_yl.caption:=Q_Over.FieldByName('Type4').AsString;
Form20.XF_jl.caption:=Q_Over.FieldByName('Type5').AsString;
Form20.XF_qt.caption:=Q_Over.FieldByName('Type6').AsString;
Form20.XF_xj.caption:=Q_Over.FieldByName('xj').AsString;
Form20.XF_zlfy.caption:=Q_Over.FieldByName('zlfy').AsString;
Form20.XF_ysje.caption:=FloatToStr(Q_Over.FieldByName('xj').AsFloat+Q_Over.FieldByName('zlfy').AsFloat);
Form20.XF_sfje.caption:=FloatToStr(Q_Over.FieldByName('xj').AsFloat+Q_Over.FieldByName('zlfy').AsFloat);
// Form20.XF_zkje.caption:=Q_Over.FieldByName('zkje').AsString;
Form20.xF_zlfj.caption:=Q_Over.FieldByName('zlfy_Room').AsString;
Form20.Jz_ml.Text:='0';
Form20.Jz_rmb.Text:=FloatToStr(Q_Over.FieldByName('xj').AsFloat+Q_Over.FieldByName('zlfy').AsFloat);
Form20.Jz_zkl.Text:='100';
Form20.Jz_zp.Text:='0';
Form20.Jz_xyk.Text:='0';
Form20.Jz_kd.Text:='0';
Form20.Jz_dz.text:='0';
//结束
Form20.ShowModal;
end;
procedure TForm1.N28Click(Sender: TObject);
begin
Form23.ShowModal;
end;
procedure TForm1.N18Click(Sender: TObject);
begin
Form24.ShowModal;
end;
procedure TForm1.N29Click(Sender: TObject);
begin
Form26.ShowModal;
end;
procedure TForm1.N14Click(Sender: TObject);
begin
Form29.ShowModal;
end;
procedure TForm1.N15Click(Sender: TObject);
begin
form31.ShowModal;
end;
procedure TForm1.N16Click(Sender: TObject);
begin
form35.ShowModal;
end;
procedure TForm1.SpeedButton3Click(Sender: TObject);
var treenode1:Ttreenode;
begin
tv1.Items.Clear;
treenode1:=tv1.Items.Add(nil,'房间状态');
treenode1.ImageIndex:=0;
treenode1.SelectedIndex:=0;
Q_RoomStatus.Active:=false;
Q_RoomStatus.Active:=true;
Q_RoomStatus.First;
treenode1:=tv1.Items.AddChild(treenode1,Q_RoomStatus.fieldByName('RoomName').AsString);
case Q_RoomStatus.FieldByName('RoomStatus').asinteger of
0:
begin
treenode1.ImageIndex:=1;
end;
1:
begin
treenode1.ImageIndex:=2;
end;
2:
begin
treenode1.ImageIndex:=3;
end;
end;
treenode1.SelectedIndex:=4;
Q_RoomStatus.Next;
while not Q_RoomStatus.Eof do
begin
treenode1:=tv1.Items.Add(treenode1,Q_RoomStatus.fieldByName('RoomName').AsString);
case Q_RoomStatus.FieldByName('RoomStatus').asinteger of
0:
begin
treenode1.ImageIndex:=1;
end;
1:
begin
treenode1.ImageIndex:=2;
end;
2:
begin
treenode1.ImageIndex:=3;
end;
end;
treenode1.SelectedIndex:=4;
Q_RoomStatus.Next;
end;
tv1.AutoExpand:=true;
end;
procedure TForm1.FormShow(Sender: TObject);
var treenode1:Ttreenode;
begin
operator.Caption:=form36.sys_username;
// tv1.Items.Clear;
treenode1:=tv1.Items.Add(nil,'房间状态');
treenode1.ImageIndex:=0;
treenode1.SelectedIndex:=0;
Q_RoomStatus.Active:=false;
Q_RoomStatus.Active:=true;
Q_RoomStatus.First;
treenode1:=tv1.Items.AddChild(treenode1,Q_RoomStatus.fieldByName('RoomName').AsString);
case Q_RoomStatus.FieldByName('RoomStatus').asinteger of
0:
begin
treenode1.ImageIndex:=1;
end;
1:
begin
treenode1.ImageIndex:=2;
end;
2:
begin
treenode1.ImageIndex:=3;
end;
end;
treenode1.SelectedIndex:=4;
Q_RoomStatus.Next;
while not Q_RoomStatus.Eof do
begin
treenode1:=tv1.Items.Add(treenode1,Q_RoomStatus.fieldByName('RoomName').AsString);
case Q_RoomStatus.FieldByName('RoomStatus').asinteger of
0:
begin
treenode1.ImageIndex:=1;
end;
1:
begin
treenode1.ImageIndex:=2;
end;
2:
begin
treenode1.ImageIndex:=3;
end;
end;
treenode1.SelectedIndex:=4;
Q_RoomStatus.Next;
end;
tv1.AutoExpand:=true;
end;
procedure TForm1.N30Click(Sender: TObject);
begin
form37.showmodal;
end;
procedure TForm1.N26Click(Sender: TObject);
begin
shellExecute(handle,'open',pchar('kefang.chm'),nil,nil,sw_showmaximized);
end;
procedure TForm1.N31Click(Sender: TObject);
begin
form38.DBGrid1.OnDblClick:=nil;
form38.showmodal;
end;
procedure TForm1.N32Click(Sender: TObject);
begin
form39.showmodal;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -