📄 mainmenu.~pas
字号:
if j>1 then
begin
SpeedButton5.Enabled:=true;
end
else
begin
SpeedButton5.Enabled:=false;
end;
end;
end;
procedure TForm2.SpeedButton5Click(Sender: TObject);
var SnaccountNonew:integer;
begin
//提示是否分离帐单
if MessageDlg('确定要分离帐单吗?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
//从Lsh表产生新的一个单号
T_lshnew.Open;
SnAccountNonew:=T_lshnew['SnAccountNo']+1;
T_lshnew.Edit;
T_lshnew['SnAccountNo']:=SnAccountNonew;
T_lshnew.Post;
T_lshnew.Close;
//修改SnFolio中手牌号为当前要分离的手牌号的帐单号为新帐单号
Q_FolioNew.SQL.Clear;
Q_FolioNew.SQL.Add('select * from SnFolio where HandNo='''+lv_handno.ItemFocused.Caption+'''');
Q_FolioNew.Open;
Q_FolioNew.Edit;
Q_FolioNew['Folio']:=SnAccountNoNew;
Q_FolioNew.Post;
Q_FolioNew.Close;
//修改Sn_DinList中数据
Query2.Active:=False;
Query2.Params.ParamValues['vaccountno']:=strtofloat(tv_folio.Selected.Text);
Query2.Params.ParamValues['vhandno']:=strtofloat(lv_handno.ItemFocused.Caption);
query2.ExecSQL;
Q_FolioNew.SQL.Clear;
Q_FolioNew.SQL.Add('select * from Sn_DinList where HandNo='''+lv_handno.ItemFocused.Caption+'''');
Q_FolioNew.Open;
while not Q_FolioNew.Eof do
begin
Q_FolioNew.Edit;
Q_FolioNew['AccountNo']:=SnAccountNonew;
Q_folioNew.Post;
Q_folioNew.Next;
end;
Q_FolioNew.Close;
//向Sn_Account中插入一条新数据
T_SnAccountnew.Open;
T_SnAccountnew.Append;
T_SnAccountnew['AccountNo']:=SnAccountNonew;
T_SnAccountnew['PersonSum']:=1;
T_SnAccountnew.Post;
//刷新主界面并关闭本窗体
ResetMain;
end;
end;
procedure TForm2.SpeedButton3Click(Sender: TObject);
var
present,begintime:tdatetime;
js_xs,js_min,ccc,ddd:double;
totala,fff,cccc,dddd,testt:string;
ff:integer;
Year,Year1,Month,Month1,Day,Day1,Hour,Hour1,Min,Min1,Sec,Sec1,MSec1,Msec: Word;
begin
//计算并合并费用
Q_jiezhang.Close;
Q_jiezhang.SQL.Clear;
Q_jiezhang.SQL.Add('select * from Sn_DinList where AccountNo=cdbl('''+tv_folio.Selected.Text+''')');
Q_jiezhang.Open;
ff:=0;
{ testt:='111';
while not Q_jiezhang.Eof do
begin
if strpos(pchar(Q_jiezhang.fieldbyname('menuname').asstring),pchar('钟点房'))<>nil then
begin
//计算钟点房费用
begintime:=Q_jiezhang.fieldbyname('begintime').AsDateTime;
Present:=now;
DecodeTime(present, Hour, Min, Sec, MSec);
DecodeTime(BeginTime, Hour1, Min1, Sec1, MSec1);
//月份、天数、小时数
js_xs:=Hour-Hour1;
if js_xs<0 then
begin
js_xs:=24+js_xs;
end;
if min>min1 then
begin
Js_Min:=Min-Min1;
if js_min<=30 then
begin
js_xs:=js_xs+0.5;
end
else
begin
js_xs:=js_xs+1;
end;
end;
//结束
//根据小时、分计算房费
ff:=round(js_xs*Q_jiezhang.fieldbyname('SalePrice').AsInteger)+ff;
fff:=inttostr(ff);
testt:='222';
end;
Q_jiezhang.Next;
end;
//结束
//将房费写到 sn_Account表中
if testt='222' then
begin
Q_jiezhang.Close;
Q_jiezhang.SQL.Clear;
Q_jiezhang.SQL.Add('update sn_Account set type1=cdbl('''+fff+''')');
Q_jiezhang.SQL.Add('where AccountNo=cdbl('''+tv_folio.Selected.Text+''')');
Q_jiezhang.ExecSQL;
end;
//结束 }
//结束
//根据AccountNo读取 DinList表中数据,合并各个类别金额后存入Account表相应字段中,并在结帐Form中显示;
query3.Active:=false;
query3.Params.ParamValues['vacco']:=strtofloat(tv_folio.Selected.Text);
query3.ExecSQL;
Q_ydundo.Close;
Q_ydundo.SQL.Clear;
Q_ydundo.SQL.Add('select sum(SalePrice*Quantity) as TotalM,MenuType from Sn_DinList where AccountNo=cdbl('''+tv_folio.Selected.Text+''')');
Q_ydundo.sql.Add('group by MenuType');
Q_ydundo.Open;
while not Q_ydundo.Eof do
begin
totala:=floattostr(q_ydundo.FieldByName('TotalM').asfloat);
case Q_ydundo.FieldByName('MenuType').asinteger of
1:
begin
Q_Over.SQL.Clear;
Q_over.SQL.Add('update sn_Account set type1=cdbl('''+totala+''') where AccountNo=cdbl('''+tv_folio.Selected.Text+''')');
Q_over.ExecSQL;
end;
2:
begin
Q_Over.SQL.Clear;
Q_over.SQL.Add('update sn_Account set type2=cdbl('''+totala+''') where AccountNo=cdbl('''+tv_folio.Selected.Text+''')');
Q_over.ExecSQL;
end;
3:
begin
Q_Over.SQL.Clear;
Q_over.SQL.Add('update sn_Account set type3=cdbl('''+totala+''') where AccountNo=cdbl('''+tv_folio.Selected.Text+''')');
Q_over.ExecSQL;
end;
4:
begin
Q_Over.SQL.Clear;
Q_over.SQL.Add('update sn_Account set type4=cdbl('''+totala+''') where AccountNo=cdbl('''+tv_folio.Selected.Text+''')');
Q_over.ExecSQL;
end;
5:
begin
Q_Over.SQL.Clear;
Q_over.SQL.Add('update sn_Account set type5=cdbl('''+totala+''') where AccountNo=cdbl('''+tv_folio.Selected.Text+''')');
Q_over.ExecSQL;
end;
6:
begin
Q_Over.SQL.Clear;
Q_over.SQL.Add('update sn_Account set type6=cdbl('''+totala+''') where AccountNo=cdbl('''+tv_folio.Selected.Text+''')');
Q_over.ExecSQL;
end;
7:
begin
Q_Over.SQL.Clear;
Q_over.SQL.Add('update sn_Account set type7=cdbl('''+totala+''') where AccountNo=cdbl('''+tv_folio.Selected.Text+''')');
Q_over.ExecSQL;
end;
8:
begin
Q_Over.SQL.Clear;
Q_over.SQL.Add('update sn_Account set type8=cdbl('''+totala+''') where AccountNo=cdbl('''+tv_folio.Selected.Text+''')');
Q_over.ExecSQL;
end;
9:
begin
Q_Over.SQL.Clear;
Q_over.SQL.Add('update sn_Account set type9=cdbl('''+totala+''') where AccountNo=cdbl('''+tv_folio.Selected.Text+''')');
Q_over.ExecSQL;
end;
10:
begin
Q_Over.SQL.Clear;
Q_over.SQL.Add('update sn_Account set type10=cdbl('''+totala+''') where AccountNo=cdbl('''+tv_folio.Selected.Text+''')');
Q_over.ExecSQL;
end;
11:
begin
Q_Over.SQL.Clear;
Q_over.SQL.Add('update sn_Account set type11=cdbl('''+totala+''') where AccountNo=cdbl('''+tv_folio.Selected.Text+''')');
Q_over.ExecSQL;
end;
end;
Q_ydundo.Next;
end;
//结束
//计算合计、应收金额
Q_Over.SQL.Clear;
Q_over.SQL.Add('select * from sn_Account where AccountNo=cdbl('''+tv_folio.Selected.Text+''')');
Q_over.Open;
ccc:=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.FieldByName('Type7').asfloat+Q_Over.FieldByName('Type8').asfloat+Q_Over.FieldByName('Type9').asfloat+Q_Over.FieldByName('Type10').asfloat+Q_Over.FieldByName('Type11').asfloat;
cccc:=floattostr(ccc);
ddd:=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.FieldByName('Type7').asfloat+Q_Over.FieldByName('Type8').asfloat+Q_Over.FieldByName('Type9').asfloat+Q_Over.FieldByName('Type10').asfloat+Q_Over.FieldByName('Type11').asfloat;
dddd:=floattostr(ddd);
Q_over.SQL.Clear;
Q_over.SQL.Add('update Sn_Account set xj=cdbl('''+cccc+'''),ysje=cdbl('''+dddd+''') where accountno=cdbl('''+tv_folio.Selected.Text+''')');
Q_over.ExecSQL;
//结束
//设置显示
form14.Sn_AccountNo.Caption:=tv_folio.Selected.Text;
form14.Q_xfxx.Active:=false;
form14.Q_xfxx.SQL.Clear;
form14.Q_xfxx.SQL.Add('select * from Sn_Account where cstr(AccountNo)='''+tv_folio.Selected.Text+'''');
form14.Q_xfxx.Active:=true;
form14.Q_SnDinList.Active:=False;
form14.Q_SnDinList.SQL.Clear;
form14.Q_SnDinList.SQL.Add('select * from Sn_DinList where cstr(AccountNo)='''+tv_folio.Selected.Text+'''');
form14.Q_SnDinList.Active:=True;
form14.Q_h.Active:=false;
form14.Q_h.SQL.Clear;
form14.Q_h.SQL.Add('select handno from snfolio where cstr(folio)='''+tv_folio.Selected.Text+'''');
form14.Q_h.Open;
form14.LB_handno.Clear;
// form14.LB_handno.Items.Add('手牌号列表');
while not form14.Q_h.Eof do
begin
form14.LB_handno.Items.Add(form14.Q_h.fieldByName('handno').AsString);
form14.Q_h.Next;
end;
form14.ShowModal;
end;
procedure TForm2.SpeedButton6Click(Sender: TObject);
begin
form16.ShowModal;
end;
procedure TForm2.N12Click(Sender: TObject);
begin
form17.ShowModal;
end;
procedure TForm2.N13Click(Sender: TObject);
begin
form18.ShowModal;
end;
procedure TForm2.N14Click(Sender: TObject);
begin
form21.ShowModal;
end;
procedure TForm2.N21Click(Sender: TObject);
begin
form22.ShowModal;
end;
procedure TForm2.N16Click(Sender: TObject);
begin
form23.ShowModal;
end;
procedure TForm2.N25Click(Sender: TObject);
begin
form24.showmodal;
end;
procedure TForm2.N24Click(Sender: TObject);
begin
shellExecute(handle,'open',pchar('sangna.chm'),nil,nil,sw_showmaximized);
end;
procedure TForm2.N22Click(Sender: TObject);
begin
form25.showmodal;
end;
procedure TForm2.N28Click(Sender: TObject);
begin
form26.showmodal;
end;
procedure TForm2.sphKeyPress(Sender: TObject; var Key: Char);
var
vvfolio,vhandno:string;
listitem:Tlistitem;
i,j,k:integer;
begin
if key=#13 then
begin
ResetMain;
vhandno:=trim(sph.Text);
Q_sph.Active:=false;
Q_sph.SQL.Clear;
Q_sph.SQL.Add('select * from snfolio where handno='''+vhandno+'''');
Q_sph.Active:=True;
if Q_sph.RecordCount=0 then
begin
Q_sph.Active:=false;
MessageDlg('您输入的手牌号不存在,请重新输入!',mtError,[mbok],0);
sph.Clear;
sph.SetFocus;
end
else
begin
SpeedButton1.Enabled:=true;
SpeedButton2.Enabled:=true;
SpeedButton3.Enabled:=true;
SpeedButton4.Enabled:=false;
N2.Enabled:=true;
N3.Enabled:=true;
N4.Enabled:=true;
N5.Enabled:=false;
N6.Enabled:=true;
//手牌号存在,选择tv_folip
vvfolio:=Q_sph.fieldbyname('folio').AsString;
Q_SPH.Active:=fALSE;
for j:=0 to tv_folio.Items.Count-1 do
begin
if tv_folio.Items[j].Text=vvfolio then
begin
tv_folio.Items[j].Selected:=true;
// tv_folio.Items[j].Focused:=true;
end;
end;
Q_Dinlist.Active:=false;
Q_Dinlist.SQL.Clear;
Q_DinList.SQL.Add('select * from Sn_DinList where cstr(accountno)='''+tv_folio.Selected.Text+''' and HandNo='''+vhandno+'''');
Q_Dinlist.Active:=true;
//手牌号存在,选择lv_handno
Q_sph.Active:=false;
Q_sph.SQL.Clear;
Q_sph.SQL.Add('select * from snfolio where Folio=cdbl('''+vvfolio+''')');
Q_sph.Active:=true;
while not Q_sph.Eof do
begin
for k:=0 to Lv_HandNo.Items.Count-1 do
begin
if Q_sph.FieldByName('handno').AsString=lv_handno.Items[k].Caption then
begin
lv_handno.Items[k].ImageIndex:=1;
end;
end;
Q_sph.Next;
end;
for i:=0 to lv_handno.Items.Count-1 do
begin
if lv_handno.Items.Item[i].Caption=vhandno then
begin
lv_handno.Items.Item[i].ImageIndex:=1;
lv_handno.Items.Item[i].Selected:=true;
end;
end;
end;
end;
end;
procedure TForm2.cardKeyPress(Sender: TObject; var Key: Char);
var filen:string;
begin
if key=#13 then
begin
see_k.Active:=False;
See_k.SQL.Clear;
See_k.SQL.Add('select * from guibin where bh='''+card.Text+'''');
See_k.Active:=True;
filen:='image\'+See_k.fieldbyname('bh').AsString+'.bmp';
see_k.Active:=False;
form29.Image1.Picture.LoadFromFile(filen);
form29.showmodal;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -