📄 qtmain.pas
字号:
Query3lbbm: TStringField;
Query3zxh: TIntegerField;
Query3lbmc: TStringField;
Query3fwfbl: TIntegerField;
Query3fwf: TIntegerField;
Query3zkbl: TIntegerField;
Query3shuilv: TIntegerField;
procedure SpeedButtonbClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure SpeedButtonaClick(Sender: TObject);
procedure SpeedButtondClick(Sender: TObject);
procedure SpeedButtoniClick(Sender: TObject);
procedure SpeedButtoncClick(Sender: TObject);
procedure SpeedButtonfClick(Sender: TObject);
procedure SpeedButtongClick(Sender: TObject);
procedure SpeedButtonhClick(Sender: TObject);
procedure TreeView1Click(Sender: TObject);
procedure lsQFilterRecord(DataSet: TDataSet; var Accept: Boolean);
procedure SpeedButtonjClick(Sender: TObject);
procedure TimerxTimer(Sender: TObject);
procedure SpeedButtoneClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure SZCClick(Sender: TObject);
procedure SZ9Click(Sender: TObject);
procedure SZ8Click(Sender: TObject);
procedure SZ7Click(Sender: TObject);
procedure sz6Click(Sender: TObject);
procedure SZ5Click(Sender: TObject);
procedure SZ4Click(Sender: TObject);
procedure SZ3Click(Sender: TObject);
procedure SZ2Click(Sender: TObject);
procedure SZ1Click(Sender: TObject);
procedure SZ0Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure checkmax(Sender: TObject);
procedure SpinButton1DownClick(Sender: TObject);
procedure SpinButton1UpClick(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure SpeedButton7Click(Sender: TObject);
procedure SpeedButton8Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
function disp(port,disp_info:string):integer;
function updatedcddy(port,djh:string):integer;
function writ(port,disp_info:string):integer;
function initprt(port,disp_info:string):integer;
function truc(port,disp_info:string):integer;
function opbox(port,disp_info:string):integer;
function writcf(port,disp_info:string):integer;
procedure lbttclick(Sender: TObject);
procedure SpeedButton9Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure SpeedButton10Click(Sender: TObject);
procedure lsQAfterPost(DataSet: TDataSet);
procedure Edit7Change(Sender: TObject);
private
lbtt:array[1..50] of Tbitbtn;
bbtt:array[1..50,1..100] of Tbitbtn;
maxdjh,rrow,ccol:integer;
cdbh: array[1..50,1..100] of string;
cdlb: array[1..50,1..100] of string;
treev :TtreeNode;
vvv,hxq:string;
startdate:Tdatetime;
{ Private declarations }
public
{ Public declarations }
end;
var
qtForm: TqtForm;
jzbz,djhh,twbh,szdd,pprrtt,prtno:string;
implementation
uses fkfs, tcyyxz, jgmsxz, tcxz, fdxz, kehugz, gzqktj,pass, xzfs,
checkinout, cpyhUnit,rjsmain, qtkdsz, cookmode, jcrsU;
{$R *.dfm}
//function disp(port,disp_info:string):integer; stdcall; external 'cd5111.dll'
procedure TqtForm.SpeedButtonbClick(Sender: TObject);
var ii,jj,kk:integer;
xxjj,qqtt:real;
hhyy:string;
hh:Tprinter;
begin
if (lsq.RecordCount>0) and (edit1.Text<>'0') then
begin
fkfsform.edit1.text:=floattostr(round(strtofloat(edit1.text)*100)/100);
if fkfsForm.showmodal=mrok then
begin
//
hh:=Tprinter.Create;
jj:=hh.Printers.Count -1;
kk:=-1;
for ii:=0 to jj do
begin
if pos('收银', hh.Printers.Strings[ii])>0 then
begin
quickrep1.PrinterSettings.PrinterIndex:=ii;
quickrep1.Preview;
kk:=ii;
end;
end;
if kk=-1 then
begin
prtsetq.Close;
prtsetq.SQL.Clear;
prtsetq.SQL.Add('select * from prtset where type='+''''+'S'+''''+' and port like '+''''+'%'+rjsmain.computer_name+'%'+'''');
prtsetq.Open;
if prtsetq.RecordCount>0 then
begin
// if rjsmain.first_prt='true' then initprt(prtsetq.fieldbyname('port').AsString,'');
pprrtt:='';
writ(prtsetq.fieldbyname('port').AsString,'');
kk:=1;
end;
prtsetq.Close;
end;
if kk=-1 then
begin
prtsetq.Close;
prtsetq.SQL.Clear;
prtsetq.SQL.Add('select * from prtset where type='+''''+'S'+'''');
prtsetq.Open;
if prtsetq.RecordCount>0 then
if messagedlg('由于系统没有设置本地收银打印机'+#13+'您只能在'+prtsetq.fieldbyname('name').AsString+'('+prtsetq.fieldbyname('port').AsString+')上打印!'+#13+'可以吗?!',mtwarning,[mbyes,mbno],0)=mryes then
updatedcddy('SY',lsqdjh.AsString)
else messagedlg('没有指定收银打印机!',mtwarning,[mbok],0)
else messagedlg('没有指定收银打印机!',mtwarning,[mbok],0);
prtsetq.Close;
end;
lsq.First;
while not lsq.Eof do
begin
if (lsqzfbz.AsBoolean=false) and (lsqfkbz.AsBoolean=false) then
begin
lsq.Edit;
lsqfkbz.AsBoolean:=true;
lsq.Post;
end;
lsq.Next;
end;
jzbz:='jz';
fkwj.Open;
hhyy:='';
xxjj:=0;
qqtt:=0;
for ii:=1 to fkfsform.StringGrid1.RowCount -1 do
if fkfsform.StringGrid1.Cells[1,ii]<>'' then
begin
if fkfsform.StringGrid1.Cells[0,ii]='现金' then xxjj:=xxjj+strtofloat(fkfsForm.StringGrid1.Cells[1,ii])
else qqtt:=qqtt+strtofloat(fkfsForm.StringGrid1.Cells[1,ii])
end;
if (xxjj>0) and (qqtt+xxjj>=strtofloat(edit1.Text)) then xxjj:=round((strtofloat(edit1.Text) - qqtt)*100)/100;
for ii:=1 to fkfsform.StringGrid1.RowCount -1 do
if fkfsform.StringGrid1.Cells[1,ii]<>'' then
begin
fkwj.Append;
fkwjszdd.AsString:=szdd;
fkwjyhh.AsString:=labelededit2.Text;
fkwjdjh.AsInteger:=lsqdjh.AsInteger;
fkwjrq.AsDateTime:=date+time;
fkwjfkfsbm.AsString:=fkfs.fkfsbm[ii];
fkwjfkfsmc.AsString:=fkfsform.StringGrid1.Cells[0,ii];
if fkfsform.StringGrid1.Cells[0,ii]='现金' then fkwjfkje.AsFloat:=xxjj
else fkwjfkje.AsFloat:=strtofloat(fkfsForm.StringGrid1.Cells[1,ii]);
fkwjhykbh.AsString:=fkfsform.StringGrid1.Cells[2,ii];
fkwj.Post;
if fkfsform.StringGrid1.Cells[2,ii]<>'' then hhyy:=fkfsform.StringGrid1.Cells[2,ii];
if (fkfsform.StringGrid1.Cells[2,ii]<>'') and (pass.yhlx='U') then
begin
fkfsform.query3.Close;
fkfsform.query3.ParamByName('cs').AsString:=fkfsform.StringGrid1.Cells[2,ii] ;
fkfsform.query3.Open;
fkfsform.query3.Edit;
fkfsform.Query3ye.AsFloat:=fkfsform.Query3ye.AsFloat - strtofloat(fkfsform.StringGrid1.Cells[1,ii]);
fkfsform.Query3zjcs.AsInteger:=fkfsform.Query3zjcs.AsInteger + 1;
fkfsform.Query3zjxfe.AsFloat:=fkfsform.Query3zjxfe.AsFloat + strtofloat(fkfsform.StringGrid1.Cells[1,ii]);
fkfsform.query3.Post;
fkfsform.Query3.ApplyUpdates;
fkfsform.Query3.Close;
end;
end;
if (hhyy<>'') and (round(strtofloat(edit1.Text)/50)>0) then
begin
if (copy(hhyy,1,2)='80') or (copy(hhyy,1,2)='78') then jj:=trunc(strtofloat(edit1.Text)/50)*10
else jj:=trunc(strtofloat(edit1.Text)/50)*5;
showmessage('请返还该会员优惠券,面值 '+inttostr(jj)+' 元!');
end;
fkwj.Edit;
fkwjyhqje.AsFloat:=jj;
fkwj.Post;
fkwj.Close;
//
jcrsform.Edit1.Text:=labelededit7.Text;
if labelededit7.Text='' then jcrsform.Edit2.Text:='0'
else jcrsform.Edit2.Text:=labelededit7.Text;
jcrsform.ShowModal;
query5.SQL.Clear;
if pass.yhlx='U' then query5.SQL.Add('update new_djh set mlje='+fkfsform.Edit5.Text+', xfrs='+jcrsform.Edit2.Text+' where djh=:cs1')
else query5.SQL.Add('update new_djhlx set mlje='+fkfsform.Edit5.Text+', xfrs='+jcrsform.Edit2.Text+' where djh=:cs1');
query5.Parameters.ParamByName('cs1').Value:=lsqdjh.Value;
query5.ExecSQL;
query5.Close;
//
edit1.Text:='0';
edit2.Text:='0';
end;
end;
end;
procedure TqtForm.FormActivate(Sender: TObject);
var i,j,k:integer;
begin
if vvv='vvv' then exit;
// i:=0;
for i:=1 to 50 do
begin
lbtt[i].Caption:='';
lbtt[i].Glyph:=nil;
lbtt[i].Visible:=false;
for j:=1 to 100 do
begin
bbtt[i,j].Caption:='';
bbtt[i,j].Glyph:=nil;
end;
end;
query3.Open;
while not query3.Eof do
begin
lbtt[query3zxh.AsInteger].Visible:=true;
lbtt[query3zxh.AsInteger].Caption:=query3.FieldByname('lbmc').AsString;
lbtt[query3zxh.AsInteger].BringToFront;
// i:=i+1;
query3.Next;
end;
query3.close;
query4.Open;
query4.First;
while not query4.Eof do
begin
bbtt[query4zxh.AsInteger,query4cxh.AsInteger].Caption:=query4mc.AsString;
bbtt[query4zxh.AsInteger,query4cxh.AsInteger].Font.Color:=query4ys.AsInteger;
bbtt[query4zxh.AsInteger,query4cxh.AsInteger].Font.Size:=query4zh.AsInteger;
bbtt[query4zxh.AsInteger,query4cxh.AsInteger].Font.Name:=query4zt.AsString;
cdlb[query4zxh.AsInteger,query4cxh.AsInteger]:=query4.FieldByname('lbbm').AsString;
cdbh[query4zxh.AsInteger,query4cxh.AsInteger]:=query4.FieldByname('dycdbh').AsString;
if (not query4bz.IsNull) and (query4bz.AsString<>'') then bbtt[query4zxh.AsInteger,query4cxh.AsInteger].Glyph.LoadFromFile(query4bz.AsString);
// bbtt[query4zxh.AsInteger,query4cxh.AsInteger].Visible:=true;
query4.Next;
end;
query4.Close;
//
j:=1;
for k:=1 to 50 do
for i:=1 to 100 do
begin
if (bbtt[k,i].Caption<>'') and (k=j) then
begin
bbtt[k,i].Visible:=true;
bbtt[k,i].BringToFront;
end
else bbtt[k,i].Visible:=false;
end;
//
qrlabel1.Caption:=rjsmain.dwmc;
qrlabel3.Caption:=rjsmain.dwmc;
qrlabel10.Caption:=rjsmain.dwmc;
qtform.SendToBack;
if pass.yhlx<>'U' then qtform.Caption:='前台点餐(训练)'
else qtform.Caption:='前台点餐';
labelededit2.Text:=pass.yhbh;
labelededit1.Text:=pass.twbh;
if (time<=strtotime('12:00:00')) and (time>=strtotime('08:00:00')) then labelededit3.Text:='1'
else if (time>strtotime('12:00:00')) and (time<strtotime('18:00:00')) then labelededit3.Text:='2'
else labelededit3.Text:='3';
if (time<=strtotime('08:00:00')) and (time>=strtotime('00:00:01')) then startdate:=(date -1)+strtotime('18:00:00')
else startdate:=date+strtotime('00:00:00');
label4.Caption:='';
checkbox1.Checked:=true;
edit3.Text:=timetostr(time);
timerx.Enabled:=true;
if jzbz='qt' then hxq:='11'
else hxq:='first';
vvv:='vvv';
edit1.Text:='0';
edit2.Text:='0';
IF QUERY3.Active=FALSE THEN QUERY3.Open;
query2.Close;
query2.Open;
if jzbz<>'qt' then
begin
query1.SQL.Clear;
if pass.yhlx='U' then query1.SQL.Add('SELECT djh,fkbz,zfbz FROM dcd Dcd where rq>=:cs1 and rq<=:cs2 order by djh')
else query1.SQL.Add('SELECT djh,fkbz,zfbz FROM dcdlx Dcdlx where rq>=:cs1 and rq<=:cs2 order by djh');
query1.ParamByName('cs1').AsDateTime:=startdate;
query1.ParamByName('cs2').AsDateTime:=date+strtotime('23:59:59');
end
else
begin
query1.SQL.Clear;
if pass.yhlx='U' then query1.SQL.Add('SELECT djh,fkbz,zfbz FROM dcd Dcd where djh=:cs1 ')
else query1.SQL.Add('SELECT djh,fkbz,zfbz FROM dcdlx Dcdlx where djh=:cs1 ');
query1.ParamByName('cs1').AsString:=djhh;
end;
query1.Open;
application.ProcessMessages;
treeview1.Items.Clear;
treev:=treeview1.TopItem;
i:=0;
while not query1.Eof do
begin
if i<>query1.FieldByName('djh').AsInteger then
begin
treeview1.Items.Add(treev,query1.FieldByName('djh').asstring);
i:=treeview1.Items.Count -1;
if query1.FieldByName('fkbz').AsBoolean=true then
if query1.FieldByName('zfbz').AsBoolean=false then treeview1.Items[i].ImageIndex:=0
else treeview1.Items[i].ImageIndex:=2
else
if query1.FieldByName('zfbz').AsBoolean=false then treeview1.Items[i].ImageIndex:=1
else treeview1.Items[i].ImageIndex:=3;
treeview1.Items[i].StateIndex:=-1;
treeview1.Items[i].SelectedIndex:=-1;
treev:=treeview1.Selected;
i:=query1.FieldByName('djh').AsInteger;
end;
query1.Next;
application.ProcessMessages;
end;
if treeview1.Items.Count>0 then treeview1.Items[treeview1.Items.Count -1].Selected:=true;
// checkmax(Sender);
lsq.SQL.Clear;
if pass.yhlx='U' then lsq.SQL.Add(' SELECT * FROM dcd Dcd where djh=:cs and rq>=:cs1 and rq<=:cs2')
else lsq.SQL.Add(' SELECT * FROM dcdlx Dcdlx where djh=:cs and rq>=:cs1 and rq<=:cs2');
if (jzbz='qt') and (query1.RecordCount>0) then lsq.Parameters.ParamByName('cs').Value:=query1.FieldByName('djh').AsInteger
else lsq.Parameters.ParamByName('cs').Value:=-1;
lsq.Parameters.ParamByName('cs1').Value:=startdate;
lsq.Parameters.ParamByName('cs2').Value:=date+time;
lsq.Open;
application.ProcessMessages;
lsq.Filtered:=true;
if jzbz='qt' then
begin
if query1.RecordCount<1 then SpeedButtoniClick(sender)
else TreeView1Click(sender);
speedbuttoni.Enabled:=false;
end
else speedbuttoni.Enabled:=true;
query1.Close;
fkwj.SQL.Clear;
if pass.yhlx='U' then fkwj.SQL.Add('select * from fkwj where djh=:cs1 and rq>=:cs2 and rq<=:cs3 ')
else fkwj.SQL.Add('select * from fkwjlx where djh=:cs1 and rq>=:cs2 and rq<=:cs3 ');
qtform.BringToFront;
end;
procedure TqtForm.Timer1Timer(Sender: TObject);
var i:integer;
st,wk:string;
tcc:boolean;
ssll1:real;
begin
if hxq='first' then exit;
if activecontrol.ClassType=Tbitbtn then
if copy(activecontrol.Name,1,3)<>'sp_' then exit;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -