📄 mealform.~pas
字号:
unit mealform;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Buttons, StdCtrls, Grids, DBGrids, ComCtrls, DB, ADODB;
type
Tmeal = class(TForm)
gbox1: TGroupBox;
DBGrid: TDBGrid;
lcount: TLabel;
lpay: TLabel;
gbox2: TGroupBox;
but1: TButton;
but2: TButton;
but3: TButton;
but4: TButton;
but5: TButton;
but6: TButton;
Edit1: TEdit;
Edit2: TEdit;
but8: TButton;
payado: TADOQuery;
but7: TButton;
Firstado: TADOQuery;
dbg1: TDBGrid;
Label3: TLabel;
Panel1: TPanel;
Panel2: TPanel;
Edit3: TEdit;
kwpanel: TPanel;
but9: TButton;
but10: TButton;
Edit4: TEdit;
Edit5: TEdit;
procedure FormShow(Sender: TObject);
procedure Gridchange(Sender:TObject);
procedure FormCreate(Sender: TObject);
procedure but8Click(Sender: TObject);
procedure but7Click(Sender: TObject);
procedure mealvisual(Sender:TObject);
procedure mealdlbutclick(Sender:TObject);
procedure visualxlmeal(Sender:TObject);
procedure mealxlbutclick(Sender:TObject);
procedure mealbutclick(Sender:TObject);
procedure tcmealbutclick(Sender:TObject);
procedure but6Click(Sender: TObject);
procedure but1Click(Sender: TObject);
procedure but3Click(Sender: TObject);
procedure but2Click(Sender: TObject);
procedure DBGridDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure Edit3Change(Sender: TObject);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure dbg1KeyPress(Sender: TObject; var Key: Char);
procedure dbg1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure dbg1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormResize(Sender: TObject);
procedure but4Click(Sender: TObject);
procedure but9Click(Sender: TObject);
procedure kwbutclick(Sender:TObject);
procedure kwmemoClick(Sender:TObject);
procedure but10Click(Sender: TObject);
procedure DBGridDblClick(Sender: TObject);
procedure Kwmemovis(Sender:TObject);
procedure but5Click(Sender: TObject);
private
{ Private declarations }
Dlcout,Salecount:integer;
Title1,Title2,Title3,Title4,Title5:string;
Tcap1,Tcap2,Tcap3,Tcap4:string;
billpay:real;
ktouch,ktctime,mealtime,tcmealcodeid:string;
codelabel,DBFielv1,DBFielv2:String;
xlcount,mbut,h:Integer;
changeh,changew:integer;
tcmealid,tcname,tcunit,tcnu,ctcode:string;
Recount,kwmemocount:Integer;
public
{ Public declarations }
Ftableno,Fmancount,FAChbillid:string;
SQLStr,FChbillflag,Fbeforebillid:string;
end;
var
meal: Tmeal;
NewBut:array[1..20] of TButton;
NewLabel:array[1..20] of TLabel;
newxlbut:array[1..24] of TButton;
newxllabel:array[1..24] of TLabel;
mealbut:array[1..50] of TButton;
mealcode:array[1..50] of TLabel;
mealprice:array[1..50] of TLabel;
gdlabel:array[1..50] of TLabel;
unitlabel:array[1..50] of TLabel;
mealpane:array[1..2] of TPanel;
mname:array[1..50] of TLabel;
tcmealbut:array[1..50] of TButton;
tcmealcode:array[1..50] of TLabel;
tcmealprice:array[1..50] of TLabel;
tcmealunit,tcmealnu,tcmealname:array[1..50] of TLabel;
kwbut:array[1..20] of TButton;
kwbutid:array[1..20] of TLabel;
kwmemobut:array[1..80] of TButton;
kwid:array[1..80] of TLabel;
implementation
uses snackdm,snmai,mealnuform,cseek,pkform,payform,morepay;
{$R *.dfm}
procedure Tmeal.Kwmemovis(Sender:TObject);
Var ki:integer;
pkwid:string;
begin
pkwid:=kwbutid[1].Caption;
with datam.bfreeado do
begin
Close;
SQL.Clear;
SQL.Add('select kwmemoid,kwname from snkwmemo where kwid='''+pkwid+'''' );
Open;
kwmemocount:=RecordCount;
if kwmemocount>0 then
begin
First;
changew:=1;
changeh:=0;
panel1.Free;
panel1:=Tpanel.Create(nil);
panel1.Parent:=meal;
panel1.Left:=402;
panel1.Top:=87;
panel1.Width:=screen.Width;
panel1.Height:=screen.Height;
for ki:=1 to kwmemocount do
begin
kwmemobut[ki]:=TButton.Create(nil);
kwmemobut[ki].Parent:=panel1;
kwmemobut[ki].Height:=50;
kwmemobut[ki].Width:=48;
kwmemobut[ki].Caption:=Trim(FieldValues['kwname']);
kwmemobut[ki].Left:=48*(changew-1);
kwmemobut[ki].Top:=changeh;
kwmemobut[ki].OnClick:=kwmemoClick;
kwid[ki]:=TLabel.Create(nil);
kwid[ki].Caption:=Trim(FieldValues['kwmemoid']);
if changew=8 then
begin
changew:=1;
changeh:=changeh+51;
end else begin
changew:=changew+1;
end;
Next;
end;
end;
end;
end;
procedure Tmeal.kwmemoClick(Sender:TObject);
Var kwmk:Integer;
pmealid,pkwid,pkwname:string;
begin
pmealid:=Trim(DBGrid.Fields[7].Value);
for kwmk:=1 to kwmemocount do
begin
if sender=kwmemobut[kwmk] then
begin
pkwid:=kwid[kwmk].Caption;
pkwname:=kwmemobut[kwmk].Caption;
with datam.freeado do
begin
Close;
SQL.Clear;
SQL.Add('insert snmealkwmemo(tableno,mealid,kwmemoid,kwname) Values('''+Ftableno+''','''+pmealid+''','''+pkwid+''','''+pkwname+''')');
ExecSQL;
end;
edit5.Text:=Trim(dbgrid.Fields[0].Value)+':';
edit4.Text:=edit4.Text+' '+pkwname;
DataM.inmealdata.Edit;
DBGrid.Fields[4].Value:=edit4.Text;
DataM.tempmealado.Post;
end;
end;
end;
procedure Tmeal.kwbutclick(Sender:TObject);
Var kwi,k:Integer;
kwidcode:string;
begin
for kwi:=1 to Recount do
begin
if sender=kwbut[kwi] then
begin
kwidcode:=kwbutid[kwi].Caption;
with datam.bfreeado do
begin
Close;
SQL.Clear;
SQL.Add('select kwmemoid,kwname from snkwmemo where kwid='''+kwidcode+'''' );
Open;
kwmemocount:=RecordCount;
if kwmemocount>0 then
begin
First;
changew:=1;
changeh:=0;
panel1.Free;
panel1:=Tpanel.Create(nil);
panel1.Parent:=meal;
panel1.Left:=402;
panel1.Top:=87;
panel1.Width:=screen.Width;
panel1.Height:=screen.Height;
for k:=1 to kwmemocount do
begin
kwmemobut[k]:=TButton.Create(nil);
kwmemobut[k].Parent:=panel1;
kwmemobut[k].Height:=50;
kwmemobut[k].Width:=48;
kwmemobut[k].Caption:=Trim(FieldValues['kwname']);
kwmemobut[k].Left:=48*(changew-1);
kwmemobut[k].Top:=changeh;
kwmemobut[k].OnClick:=kwmemoClick;
kwid[k]:=TLabel.Create(nil);
kwid[k].Caption:=Trim(FieldValues['kwmemoid']);
if changew=8 then
begin
changew:=1;
changeh:=changeh+51;
end else begin
changew:=changew+1;
end;
Next;
end;
end;
end;
end;
end;
end;
procedure Tmeal.tcmealbutclick(Sender:TObject);
var tch:integer;
tcentime:string;
etcmealid,etcname,etcunit,etcnu:string;
begin
for tch:=1 to h do
begin
if sender=tcmealbut[tch] then
begin
tcentime:=TimeToStr(time);
etcmealid:=tcmealcode[tch].Caption;
etcname:=tcmealname[tch].Caption;
etcunit:=tcmealunit[tch].Caption;
etcnu:=tcmealnu[tch].Caption;
with Datam.tempmealado do
begin
Close;
SQL.Clear;
SQL.Add('insert sntempmeal(tablename,mealid,mealname,mealprice,unit,mealcount,mealkw,mealtime,userid,idname,tcflag,txid,tctime,pkflag) Values('''+FTableno+''','''+etcmealid+''','''+etcname+''',0,'''+etcunit+''','''+etcnu+''','''','''+tcentime+''','''+mainform.FLogoid+''','''+mainform.FLogouser+''',''Y'','''+ctcode+''','''+ktctime+''',''Upk'')');
ExecSQL;
end;
end;
end;
Gridchange(Sender);
end;
procedure Tmeal.mealbutclick(Sender:TObject);
var tcbut,tcnoid:Integer;
tcid,entime:string;
begin
for tcbut:=1 to mbut do
begin
if sender=mealbut[tcbut] then
begin
ctcode:=mealcode[tcbut].Caption;
tcid:=gdlabel[tcbut].Caption;
entime:=TimeToStr(Time);
ktctime:=entime;
if tcid='N' then
begin
with Datam.tempmealado do
begin
Close;
SQL.Clear;
SQL.Add('insert sntempmeal(tablename,mealid,mealname,mealprice,unit,mealcount,mealkw,mealtime,userid,idname,tcflag,txid,tctime,pkflag) Values('''+FTableno+''','''+ctcode+''','''+mname[tcbut].Caption+''','''+mealprice[tcbut].Caption+''','''+unitlabel[tcbut].Caption+''',1,'''','''+entime+''','''+mainform.FLogoid+''','''+mainform.FLogouser+''','''+tcid+''','''','''',''Upk'')');
ExecSQL;
end;
end else if tcid='Y' then begin
with Datam.tempmealado do
begin
Close;
SQL.Clear;
SQL.Add('insert sntempmeal(tablename,mealid,mealname,mealprice,unit,mealcount,mealkw,mealtime,userid,idname,tcflag,txid,tctime,pkflag) Values('''+FTableno+''','''+ctcode+''','''+mname[tcbut].Caption+''','''+mealprice[tcbut].Caption+''','''+unitlabel[tcbut].Caption+''',1,'''','''+entime+''','''+mainform.FLogoid+''','''+mainform.FLogouser+''',''T'+''+tcid+''','''+ctcode+''','''+ktctime+''',''Upk'')');
ExecSQL;
end;
with datam.tcado do
begin
Close;
SQL.Clear;
SQL.Add('select * from snsutiemeal Where mealids='''+ctcode+''' And mealgd=''Y''');
Open;
tcmealid:=Trim(FieldValues['mealid']);
tcname:=Trim(FieldValues['mealname']);
tcunit:=Trim(FieldValues['unit']);
tcnu:=Trim(FieldValues['mealnu']);
with Datam.tempmealado do
begin
Close;
SQL.Clear;
SQL.Add('insert sntempmeal(tablename,mealid,mealname,mealprice,unit,mealcount,mealkw,mealtime,userid,idname,tcflag,txid,tctime,pkflag) Values('''+FTableno+''','''+tcmealid+''','''+tcname+''',0,'''+tcunit+''','''+tcnu+''','''','''+entime+''','''+mainform.FLogoid+''','''+mainform.FLogouser+''','''+tcid+''','''+ctcode+''','''+ktctime+''',''Upk'')');
ExecSQL;
end;
Close;
SQL.Clear;
SQL.Add('select * from snsutiemeal Where mealids='''+ctcode+''' And mealgd=''N''');
Open;
h:=RecordCount;
if h>0 then begin
First;
changew:=1;
changeh:=0;
panel1.Free;
panel1:=Tpanel.Create(nil);
panel1.Parent:=meal;
panel1.Left:=403;
panel1.Top:=87;
panel1.Width:=screen.Width;
panel1.Height:=screen.Height;
for tcnoid:=1 to h do
begin
tcmealbut[tcnoid]:=TButton.Create(nil);
tcmealbut[tcnoid].Parent:=panel1;
tcmealbut[tcnoid].Height:=50;
tcmealbut[tcnoid].Width:=130;
tcmealbut[tcnoid].Caption:=Trim(FieldValues['mealname'])+'/'+Trim(FieldValues['unit']);
tcmealbut[tcnoid].Left:=130*(changew-1);
tcmealbut[tcnoid].Top:=changeh;
tcmealbut[tcnoid].OnClick:=tcmealbutclick;
tcmealcode[tcnoid]:=TLabel.Create(nil);
tcmealcode[tcnoid].Caption:=Trim(FieldValues['mealid']);
tcmealprice[tcnoid]:=TLabel.Create(nil);
tcmealprice[tcnoid].Parent:=tcmealbut[tcnoid];
tcmealunit[tcnoid]:=TLabel.Create(nil);
tcmealunit[tcnoid].Caption:=Trim(FieldValues['unit']);
tcmealname[tcnoid]:=TLabel.Create(nil);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -