【delphi开源代码栏目提醒】:以下是网学会员为您推荐的delphi开源代码-MC_BTSZ_KT.pas,希望本篇文章对您学习有所帮助。
unit MC_BTSZ_KT;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, Buttons, Db, DBTables, Grids, DBGrids;
type
TBTSZ_KT = class(TForm)
panel1: TPanel;
Label1: TLabel;
Edit1: TEdit;
BitBtn1: TBitBtn;
Bevel1: TBevel;
DBGrid1: TDBGrid;
Table1: TTable;
DataSource1: TDataSource;
Query1: TQuery;
Table1BDEDesigner: TIntegerField;
Table1BDEDesigner2: TStringField;
Table1BDEDesigner3: TStringField;
Table1BDEDesigner4: TStringField;
Table1BDEDesigner5: TFloatField;
Table1BDEDesigner6: TStringField;
Table1BDEDesigner7: TStringField;
Bevel2: TBevel;
BitBtn2: TBitBtn;
Label4: TLabel;
StoredProc1: TStoredProc;
Edit2: TEdit;
Label2: TLabel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn1Click(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
BTSZ_KT: TBTSZ_KT;
implementation
uses MC_TLCYGLXT, MC_KTGL, Unit1;
{$R *.DFM}
procedure TBTSZ_KT.FormShow(Sender: TObject);
begin
Edit1.Setfocus;
end;
procedure TBTSZ_KT.Edit1KeyPress(Sender: TObject; var Key: Char); //判断输入编号
begin
if key=#13 then //回车
begin
if Edit1.Text='' then
begin
ShowMessage('请输入目标编号.');
Edit1.Setfocus;
end
else
begin
if table1.Locate('编号',StrToInt(Edit1.Text),[loCaseInsensitive]) then
begin
Bitbtn1.Click; //如果房台号存在,开始并台
end
else
begin
ShowMessage('请输入目标编号.');
Edit1.setfocus;
end;
end;
end
else
if key=#8 then key:=#8 else
if (key<'0') or (key>'9') then key:=#0; //屏蔽非数字
end;
procedure TBTSZ_KT.BitBtn1Click(Sender: TObject); //开始并台
var DJBH: String;
YMC,MMC:String;
s:String;
YDJH,MDJH: Integer;
begin
if Length(Edit2.Text)=0 then
begin
ShowMessage('请输入并台原因');
Edit2.SetFocus;
Exit;
end;
if MessageDlg('确认将['+TLCYGLXT.KT_FJTHXXB
.FieldByName('房台名称').AsString+']上的菜合并到['
+Table1.FieldByName('房台名称').AsString+']上?'
,mtCustom,[mbYes,mbNo],0)=mrYes then
begin
YMC:=TLCYGLXT.KT_FJTHXXB.FieldByName('房台名称').AsString;
MMC:=Table1.FieldByName('房台名称').AsString;
TLCYGLXT.KT_FJTHXXB.Edit;
TLCYGLXT.KT_FJTHXXB.FieldByName('状态').AsString:='空闲'; //将原房台转为空闲
TLCYGLXT.KT_FJTHXXB.Post;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select Distinct 结帐编号 From 点菜临时表');
Query1.SQL.Add('Where 房间台号=:B');
Query1.Params[0].AsInteger:=Table1.FieldByName('编号').AsInteger;
Query1.Open;
DJBH:=Query1.Fields[0].AsString;
MDJH:=Query1.Fields[0].AsInteger;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select Distinct 结帐编号 From 点菜临时表');
Query1.SQL.Add('Where 房间台号=:B');
Query1.Params[0].AsInteger:=TLCYGLXT.KT_FJTHXXB.FieldByName('编号').AsInteger;
Query1.Open;
YDJH:=Query1.Fields[0].AsInteger;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('update 点菜临时表');
Query1.SQl.Add('set 房间台号=:A,结帐编号=:C Where 房间台号=:B'); //更新点菜临时表
Query1.Params[0].AsInteger:=Table1.FieldByName('编号').AsInteger;
Query1.Params[2].AsInteger:=TLCYGLXT.KT_FJTHXXB.FieldByName('编号').AsInteger;
Query1.Params[1].AsString:=DJBH;
Query1.ExecSQL;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('update 房间台号信息表');
Query1.SQL.Add('set 状态=:A Where 编号=:B'); //更新房台信息
Query1.Params[0].AsString:='营业';
Query1.Params[1].AsInteger:=Table1.FieldByName('编号').AsInteger;
Query1.ExecSQL;
With Query1 do
begin
Close;
SQL.Clear;
GetDir(0,S);
SQL.LoadFromFile(s+'\JG.INI');
end;
Query1.ExecSQL;//并台记录表
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Insert Into 并台记录表(原单据编号,目的单据号,操作员,描述)');
Query1.SQL.Add('Values(:A,:B,:C,:D)');
Query1.ParamByName('A').AsInteger:=YDJH;
Query1.ParamByName('B').AsInteger:=MDJH;
Query1.ParamByName('C').AsString:=MainForm.User1;
Query1.ParamByName('D').AsString:=Edit2.Text;
Query1.ExecSQL;
ShowMessage('合并成功');
KTGL.Button1.Click;
Close;
end
else
Table1.Refresh;
end;
procedure TBTSZ_KT.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then perForm(WM_NEXTDLGCTL,0,0);
end;
procedure TBTSZ_KT.FormClose(Sender: TObject; var Action: TCloseAction); //关闭窗体
begin
ANiMateWindow(Handle,300,AW_SLIDE+AW_Center+Aw_Hide);
Table1.Close;
BTSZ_KT.Release;
BTSZ_KT:=nil;
end;
procedure TBTSZ_KT.BitBtn2Click(Sender: TObject); //退出并台
begin
Close;
end;
end.
上一篇:
MC_BM.pas
下一篇:
网络能耗监测系统管理端的研究与实现