⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mealform.~pas

📁 简单的餐饮软件部分源码
💻 ~PAS
📖 第 1 页 / 共 3 页
字号:
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 + -