📄 mc_dcgl_dc.~pas
字号:
unit MC_DCGL_DC;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, ImgList, StdCtrls, Grids, DBGrids, Buttons, ExtCtrls,
DBCtrls;
type
TDCGL_DC = class(TForm)
GroupBox1: TGroupBox;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
DBText2: TDBText;
DBText3: TDBText;
DBText4: TDBText;
DBText5: TDBText;
DBText6: TDBText;
DBText7: TDBText;
DBText8: TDBText;
Label12: TLabel;
DBText9: TDBText;
Bevel1: TBevel;
Panel1: TPanel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label13: TLabel;
Label1: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Panel2: TPanel;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn1: TBitBtn;
DBGrid2: TDBGrid;
DCGrid: TStringGrid;
ListBox2: TListBox;
ImageList1: TImageList;
Query1: TQuery;
Query2: TQuery;
BitBtn4: TBitBtn;
Query3: TQuery;
DataSource1: TDataSource;
Query4: TQuery;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
GroupBox2: TGroupBox;
Edit1: TEdit;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
DBGrid1: TDBGrid;
DBGrid3: TDBGrid;
DBGrid4: TDBGrid;
DBGrid5: TDBGrid;
StringGrid1: TStringGrid;
BitBtn9: TBitBtn;
BitBtn10: TBitBtn;
BitBtn11: TBitBtn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure DCGridKeyPress(Sender: TObject; var Key: Char);
procedure BitBtn2Click(Sender: TObject);
procedure ListBox2KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure Edit1Enter(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn8Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure DCGridKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGrid5KeyPress(Sender: TObject; var Key: Char);
procedure DBGrid4KeyPress(Sender: TObject; var Key: Char);
procedure DBGrid3KeyPress(Sender: TObject; var Key: Char);
procedure DBGrid3DblClick(Sender: TObject);
procedure DBGrid5DblClick(Sender: TObject);
procedure DBGrid4DblClick(Sender: TObject);
procedure BitBtn9Click(Sender: TObject);
procedure BitBtn11Click(Sender: TObject);
procedure StringGrid1KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn10Click(Sender: TObject);
procedure StringGrid1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DCGridKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
x,y:integer;
PJ:array[1..50] of integer;
{ Private declarations }
public
{ Public declarations }
end;
var
DCGL_DC: TDCGL_DC;
implementation
uses MC_TLCYGLXT;
{$R *.DFM}
procedure TDCGL_DC.FormClose(Sender: TObject; var Action: TCloseAction);
begin
TLCYGLXT.CPFYXXB.Close;//关闭菜谱费用信息表;
TLCYGLXT.CJFYXXB.Close;//关闭餐具费用信息表;
TLCYGLXT.SJFYXXB.CLose;//关闭水酒信息表
Query2.Close;
QUery1.Close;
Query3.Close;
DCGL_DC.Release;
DCGL_DC:=Nil;
end;
procedure TDCGL_DC.FormCreate(Sender: TObject);
begin
TLCYGLXT.CPFYXXB.Open;//菜谱费用信息表;
TLCYGLXT.SJFYXXB.Open;//水酒信息表
TLCYGLXT.CJFYXXB.Open;//餐具费用信息表;
//--------------------------------------
Query3.Close;
Query3.SQL.Clear;
Query3.SQL.Add('select 编号,名称,类型,单位,数量,价格,合计,状态,服务员编号,服务员姓名,结帐编号 From 点菜临时表');
Query3.SQL.Add('Where 房间台号=:A and 是否结单=:B');
Query3.Params[0].AsInteger:=TLCYGLXT.KT_FJTHXXB.FieldByName('编号').AsInteger;
Query3.Params[1].AsString:='否';
Query3.Open;
Query4.Close;
Query4.SQL.Clear;
Query4.SQL.Add('Select Sum(合计) From 点菜临时表');
Query4.SQL.Add('Where 房间台号=:A and 是否结单=:B');
Query4.Params[0].AsInteger:=TLCYGLXT.KT_FJTHXXB.FieldByName('编号').AsInteger;
Query4.Params[1].AsString:='否';
Query4.Open;
//Label14.Caption:=Query4.Fields[0].AsString;
Label14.Caption:=FloatToStr(Query4.Fields[0].AsFloat+TLCYGLXT.KT_FJTHXXB.FieldByName('服务费').AsFloat);
Label18.Caption:=Query3.FieldByName('结帐编号').AsString;
Label15.Caption:=Query3.FieldByName('服务员编号').AsString;
Label16.Caption:=Query3.FieldByName('服务员姓名').AsString;
end;
procedure TDCGL_DC.FormShow(Sender: TObject);
var a:integer;
begin
//-----------------------------------------
DCGrid.Cells[1,0]:='编号';
DCGrid.Cells[2,0]:='名称';
DCGrid.Cells[3,0]:='类型';
DCGrid.Cells[4,0]:='单位';
DCGrid.Cells[5,0]:='数量';
DCGrid.Cells[6,0]:='价格';
DCGrid.Cells[7,0]:='状态';
DCGrid.Cells[8,0]:='合计';
//-----------------------------------------
for a:=1 to DCGrid.RowCount-1 do
begin
DCGrid.Cells[0,a]:=intToStr(a);
end;
//-----------------------------------------
//-----------------------------------------
StringGrid1.Cells[1,0]:='编号';
StringGrid1.Cells[2,0]:='名称';
StringGrid1.Cells[3,0]:='类型';
StringGrid1.Cells[4,0]:='单位';
StringGrid1.Cells[5,0]:='数量';
StringGrid1.Cells[6,0]:='价格';
StringGrid1.Cells[7,0]:='状态';
StringGrid1.Cells[8,0]:='合计';
//-----------------------------------------
for a:=1 to StringGrid1.RowCount-1 do
begin
StringGrid1.Cells[0,a]:=intToStr(a);
end;
//-----------------------------------------
Label17.Caption:=DateTimeToStr(Now);
end;
procedure TDCGL_DC.DCGridKeyPress(Sender: TObject; var Key: Char);
var zjje:Real;
aa:integer;
begin
//-----------------------
X:=DCGrid.Row;
Y:=DCGrid.Col;
//-----------------------
if key=#13 then
begin
if DCGrid.col=8 then
begin
zjje:=0;
for aa:=1 to 51 do
begin
if Length(DCGrid.Cells[8,aa])<>0 then
begin
if DCGrid.Cells[7,aa]<>'赠单' then
begin
zjje:=StrToFloat(DCGrid.Cells[8,aa])+zjje;
Label14.Caption:=FloatToStr(zjje);
end
else
begin
Label14.Caption:=FloatToStr(zjje);
end;
end
else
Break;
end;
end;
//----------------------------------------------------------
if DCGrid.Col=5 then
begin
if Length(DCGrid.Cells[1,X])<>0 then
begin
if StrToInt(DCGrid.Cells[5,X])=0 then
begin
ShowMessage('数量不正确');
Exit;
end
else
begin
Try
DCGrid.Cells[8,X]:=IntToStr(Round(StrToint(DCGrid.Cells[5,X])*StrToFloat(DCGrid.Cells[6,X])));
Except
End;
DCGrid.Col:=7;
end;
end;
//-----------------------------------------------------
if Length(DCGrid.Cells[1,x])<>0 then
if StrToInt(Copy(DCGrid.Cells[1,x],0,1))=1 then
begin
if PJ[DCGrid.row]-StrToInt(DCGrid.Cells[5,x])<=0 then
begin
ShowMessage('库存不足');
end;
end;
end;
//----------------------------------------------------------
if DCGrid.Col=1 then
if Length(DCGrid.Cells[1,x])<>0 then
begin
case StrToInt(Copy(DCGrid.Cells[1,x],0,1)) of
1: begin
if TLCYGLXT.SJFYXXB.Locate('编号',DCGrid.Cells[1,x],[locaseInsensitive]) then
begin
if query1.Locate('编号',TLCYGLXT.SJFYXXB.FieldByName('货存编号').AsInteger,[locaseInsensitive]) then
begin
PJ[DCGrid.row]:=Query1.FieldByName('数量').AsInteger;
DCGrid.Cells[2,X]:=TLCYGLXT.SJFYXXB.FieldByName('酒水名称').AsString;
DCGrid.Cells[4,x]:=TLCYGLXT.SJFYXXB.FieldByName('单位').AsString;
DCGrid.Cells[3,x]:=TLCYGLXT.SJFYXXB.FieldByName('酒水类别').AsString;
DCGrid.Cells[6,x]:=TLCYGLXT.SJFYXXB.FieldByName('价格').AsString;
DCGrid.Cells[7,x]:='点单';
DCGrid.Cells[5,x]:='1';
//----后加的----------------------
DCGrid.Cells[8,x]:=TLCYGLXT.SJFYXXB.FieldByName('价格').AsString;
//--------------------------------
DCGrid.Col:=4;
end
else
begin
ShowMessage('对不起,已没有库存.');
Abort;
end;
end
else
begin
ShowMessage('没有此编号水酒信息');
Abort;
end;
end;
//-------------------------------------------
2: begin
if TLCYGLXT.SJFYXXB.Locate('编号',DCGrid.Cells[1,x],[locaseInsensitive]) then
begin
if query1.Locate('编号',TLCYGLXT.SJFYXXB.FieldByName('货存编号').AsInteger,[locaseInsensitive]) then
begin
PJ[DCGrid.row]:=Query1.FieldByName('数量').AsInteger;
DCGrid.Cells[2,X]:=TLCYGLXT.SJFYXXB.FieldByName('酒水名称').AsString;
DCGrid.Cells[4,x]:=TLCYGLXT.SJFYXXB.FieldByName('单位').AsString;
DCGrid.Cells[3,x]:=TLCYGLXT.SJFYXXB.FieldByName('酒水类别').AsString;
DCGrid.Cells[6,x]:=TLCYGLXT.SJFYXXB.FieldByName('价格').AsString;
DCGrid.Cells[7,x]:='点单';
DCGrid.Cells[5,x]:='1';
//----后加的----------------------
DCGrid.Cells[8,x]:=TLCYGLXT.SJFYXXB.FieldByName('价格').AsString;
//--------------------------------
DCGrid.Col:=4;
end
else
begin
ShowMessage('对不起,已没有库存.');
Abort;
end;
end
else
begin
ShowMessage('没有此编号水酒信息');
Abort;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -