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

📄 tcxz.pas

📁 日昌餐饮管理系统是用Delphi7+SQL写的管理系统
💻 PAS
字号:
unit tcxz;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, CheckLst, Grids, DBGrids, DBTables, DB,
  ExtCtrls;

type
  TtcxzForm = class(TForm)
    BitBtn2: TBitBtn;
    Label3: TLabel;
    DBGrid2: TDBGrid;
    Query1: TQuery;
    DataSource1: TDataSource;
    Edit1: TEdit;
    Label1: TLabel;
    Edit2: TEdit;
    BitBtn1: TBitBtn;
    BitBtn3: TBitBtn;
    mxlsQ: TQuery;
    UpdateSQL3: TUpdateSQL;
    DataSource2: TDataSource;
    Timer1: TTimer;
    Query1bh: TStringField;
    Query1lbbm: TStringField;
    Query1mc: TStringField;
    Query1ywmc: TStringField;
    Query1gg: TStringField;
    Query1dj: TFloatField;
    Query1tcbz: TBooleanField;
    Query1zt: TBooleanField;
    Query1sfkj: TBooleanField;
    Query1zkdl: TBooleanField;
    Query1zkl: TIntegerField;
    Query1fwfdl: TBooleanField;
    Query1fwfl: TIntegerField;
    Query1shuilu: TIntegerField;
    mxlsQID: TIntegerField;
    mxlsQdjh: TIntegerField;
    mxlsQth: TStringField;
    mxlsQyhh: TStringField;
    mxlsQbc: TStringField;
    mxlsQtwbh: TStringField;
    mxlsQrq: TDateTimeField;
    mxlsQlb: TStringField;
    mxlsQbh: TStringField;
    mxlsQmc: TStringField;
    mxlsQgg: TStringField;
    mxlsQdj: TFloatField;
    mxlsQsl: TFloatField;
    mxlsQje: TFloatField;
    mxlsQfkbz: TBooleanField;
    mxlsQzfbz: TBooleanField;
    mxlsQzcbz: TStringField;
    mxlsQzkl: TIntegerField;
    mxlsQzke: TFloatField;
    mxlsQfwfl: TIntegerField;
    mxlsQfwfe: TFloatField;
    mxlsQshuilv: TIntegerField;
    mxlsQse: TFloatField;
    mxlsQzsbz: TBooleanField;
    mxlsQwmbz: TBooleanField;
    mxlsQszdd: TStringField;
    mxlsQcfdy: TBooleanField;
    mxlsQcfdyjhm: TStringField;
    mxlsQccjdyjhm: TStringField;
    procedure DBGridClick(Sender: TObject);
    procedure DBGrid2DblClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Query1FilterRecord(DataSet: TDataSet; var Accept: Boolean);
    procedure Timer1Timer(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    btlb: array[1..42] of Tbitbtn;
    cdbh: array[1..42] of string;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  tcxzForm: TtcxzForm;
  lbbm,pcbh:string;
  djh:integer;
  maxsl,ssll:real;
implementation

uses qtmain;

{$R *.dfm}

procedure TtcxzForm.DBGridClick(Sender: TObject);
var st:string;
    rrow:integer;
begin
    if activecontrol.ClassType=Tbitbtn then
    if copy(activecontrol.Name,1,3)<>'bt_' then exit;
    st:=trim(copy(activecontrol.Name,4,6));
    rrow:=strtoint(copy(st,1,2));
    if trim(btlb[rrow].Caption)='' then exit;
    timer1.Enabled:=false;
    if mxlsq.Locate('bh',cdbh[rrow],[]) then
    begin
     mxlsq.Edit;
     mxlsq.FieldByName('sl').AsInteger:=mxlsq.FieldByName('sl').AsInteger+1;
     mxlsq.Post;
    end
    else
    begin
     mxlsq.Append;
     mxlsqrq.AsDateTime:=date+time;
     mxlsqdjh.AsInteger:=djh;
     query1.Locate('bh',cdbh[rrow],[]);
     mxlsqlb.AsString:=query1lbbm.AsString;
     mxlsqbh.AsString:=query1bh.AsString;
     mxlsqmc.AsString:=query1mc.AsString;
     mxlsqdj.AsFloat:=query1dj.AsCurrency;
     mxlsqgg.AsString:=query1gg.AsString;
     mxlsqzcbz.AsString:=qtform.lsQbh.AsString;
     mxlsqcfdyjhm.AsString:=qtform.lsQcfdyjhm.AsString;
     mxlsqccjdyjhm.AsString:=qtform.lsQccjdyjhm.AsString;
     mxlsqsl.AsInteger:=1;
     mxlsqje.AsCurrency:=0;
     mxlsqfkbz.AsBoolean:=false;
     mxlsqzfbz.AsBoolean:=false;
     mxlsq.Post;
    end;
    timer1.Enabled:=true;
end;

procedure TtcxzForm.DBGrid2DblClick(Sender: TObject);
begin
    if not mxlsq.IsEmpty then mxlsq.Delete;
end;

procedure TtcxzForm.FormActivate(Sender: TObject);
var i:integer;
begin
     edit1.Text:=floattostr(maxsl);
     edit2.Text:=pcbh;
     for i:=1 to 42 do
     begin
        cdbh[i]:='';
        btlb[i].Caption:='';
     end;
     query1.Open;
     application.ProcessMessages;
     query1.Filtered:=true;
     i:=1;
     query1.First;
     while not query1.Eof do
     begin
        cdbh[i]:=query1bh.asstring;
        btlb[i].Caption:=query1mc.AsString;
        i:=i+1;
        query1.Next;
     end;
     timer1.Enabled:=true;
end;

procedure TtcxzForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
     timer1.Enabled:=false;
     query1.Filtered:=false;
     query1.Close;
end;

procedure TtcxzForm.Query1FilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
   accept:=pos(dataset.FieldByName('lbbm').AsString,pcbh)>0;
end;

procedure TtcxzForm.Timer1Timer(Sender: TObject);
var i:integer;
begin
     i:=0;
     mxlsq.First;
     while not mxlsq.Eof do
     begin
       i:=i+mxlsqsl.AsInteger;
       mxlsq.Next;
     end;
     if i=strtoint(edit1.Text) then bitbtn1.Enabled:=true
     else bitbtn1.Enabled:=false;
end;

procedure TtcxzForm.BitBtn3Click(Sender: TObject);
begin
     mxlsq.First;
     while not mxlsq.Eof do mxlsq.Delete;
end;

procedure TtcxzForm.FormCreate(Sender: TObject);
var j,r,c:integer;
begin
      for j:=1 to 42 do
      begin
        btlb[j]:=Tbitbtn.Create(Self);
        btlb[j].Parent:=tcxzForm;
        btlb[j].Height:=40;
        btlb[j].Width:=80;
        btlb[j].Spacing:=4;
        if (j>=1) and (j<=6) then r:=1;
        if (j>=7) and (j<=12) then r:=2;
        if (j>=13) and (j<=18) then r:=3;
        if (j>=19) and (j<=24) then r:=4;
        if (j>=25) and (j<=30) then r:=5;
        if (j>=31) and (j<=36) then r:=6;
        if (j>=37) and (j<=42) then r:=7;
        c:=j mod 6;
        if c=0 then c:=6;
        btlb[j].left:=4+(c-1)*82;
        btlb[j].Top:=56+(r-1)*42;
        btlb[j].Name:='bt_'+inttostr(j);
        btlb[j].Visible:=true;
        btlb[j].BringToFront;
        btlb[j].Caption:='';
        btlb[j].OnClick:=DBGridClick;
      end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -