📄 mealform.pas
字号:
unit MealForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ExtCtrls, DBCtrls, Mask, Grids, DBGrids;
type
TFrmMeal = class(TForm)
Timer1: TTimer;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label14: TLabel;
Edit1: TEdit;
GroupBox1: TGroupBox;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label15: TLabel;
DBGrid1: TDBGrid;
DBComboBox2: TDBComboBox;
DBComboBox3: TDBComboBox;
DBComboBox4: TDBComboBox;
DBComboBox5: TDBComboBox;
DBNavigator1: TDBNavigator;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
btBegin: TButton;
Edit2: TEdit;
ComboBox1: TComboBox;
Edit3: TEdit;
TabSheet2: TTabSheet;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
DBEdit6: TDBEdit;
DBComboBox1: TDBComboBox;
DBComboBox6: TDBComboBox;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
DBEdit10: TDBEdit;
DBGrid2: TDBGrid;
btEnd: TButton;
DBGrid3: TDBGrid;
Label23: TLabel;
Label24: TLabel;
DBEdit7: TDBEdit;
DBEdit11: TDBEdit;
DBEdit12: TDBEdit;
DBComboBox7: TDBComboBox;
Button1: TButton;
DBGrid4: TDBGrid;
Label25: TLabel;
DBEdit1: TDBEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btBeginClick(Sender: TObject);
procedure btEndClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmMeal: TFrmMeal;
ID:integer;
v:Currency;
implementation
uses DataM;
{$R *.dfm}
procedure TFrmMeal.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TFrmMeal.Timer1Timer(Sender: TObject);
begin
Label5.Caption:=DateTimeToStr(Now);
DBEdit7.Text:=TimeToStr(Time);
DBEdit1.Text:=DateToStr(Date);
end;
procedure TFrmMeal.FormCreate(Sender: TObject);
var
i:integer;
begin
GroupBox1.Enabled:=False;
with Data do
begin
DataSOrder.DataSet:=ADOQOrder;
DataSEnd.DataSet:=ADOQTEnd;
DataSBegin.DataSet:=ADOQTBegin;
ADOQTEnd.Close;
ADOQTEnd.SQL.Clear;
ADOQTEnd.SQL.Add('select * from TableEnds');
ADOQTEnd.Open;
ADOQTBegin.Close;
ADOQTBegin.SQL.Clear;
ADOQTBegin.SQL.Add('select * from TableBegin where Ends="否"');
ADOQTBegin.Open;
ADOQTEnd.Append;
ADOQStream.Close;
ADOQStream.SQL.Clear;
ADOQStream.SQL.Add('select * from Stream');
ADOQStream.Open;
{ ADOQStream.Last;
end;
ID:=Data.ADOQStream.FieldByName('StreamID').AsInteger;
Edit3.Text:=IntToStr(ID+1);
with Data do
begin }
ADOQMenu.Close;
ADOQMenu.SQL.Clear;
ADOQMenu.SQL.Add('select * from Menu');
ADOQMenu.Open;
ADOQMenu.First;
end;
for i:=1 to Data.ADOQMenu.RecordCount do
begin
DBComboBox7.Items.Add(Data.ADOQMenu.FieldByName('Name').AsString);
Data.ADOQMenu.Next;
end;
Data.ADOQMenu.Close;
end;
procedure TFrmMeal.btBeginClick(Sender: TObject);
begin
if (Edit1.Text<>'') and (Edit2.Text<>'') then
begin
with Data do
begin
ADOQEmployee.Close;
ADOQEmployee.SQL.Clear;
ADOQEmployee.SQL.Add('select * from Employee where EmployeeID='+Edit1.Text);
ADOQEmployee.Open;
end;
if Data.ADOQEmployee.RecordCount=1 then
begin
with Data do
begin
ADOQStream.Close;
ADOQStream.SQL.Clear;
ADOQStream.SQL.Add('select * from Stream');
ADOQStream.Open;
ADOQTBegin.Close;
ADOQTBegin.SQL.Clear;
ADOQTBegin.SQL.Add('select * from TableBegin');
ADOQTBegin.Open;
ADOQStream.Append;
end;
Data.ADOQStream['TableID']:=ComboBox1.Text;
Data.ADOQStream['Number']:=Edit2.Text;
Data.ADOQStream.Post;
Data.ADOQTBegin.Append;
Data.ADOQTBegin['StreamID']:=Data.ADOQStream['StreamID'];
Data.ADOQTBegin['WaiterID']:=Edit1.Text;
Data.ADOQTBegin['Time']:=Now;
Data.ADOQTBegin.Post;
GroupBox1.Enabled:=True;
Data.ADOQOrder.Close;
Data.ADOQOrder.SQL.Clear;
Data.ADOQOrder.SQL.Add('select * from Orders where StreamNumber='+Data.ADOQStream.FieldByName('StreamID').AsString);
Data.ADOQOrder.Open;
Data.ADOQOrder.Append;
DBEdit5.Text:=Data.ADOQStream.FieldByName('StreamID').AsString;
end
else MessageDlg('EmployeeID not Found',mtError,[mbOK],0);
end
else MessageDlg('Not Null Allowd',mtError,[mbOk],0)
end;
procedure TFrmMeal.btEndClick(Sender: TObject);
begin
Data.ADOQTEnd['StreamID']:=StrToInt(DBEdit6.Text);
if DBEdit9.Text<>'' then
if StrToCurr(DBEdit9.Text)>v then
begin
DBEdit10.Text:=CurrToStr(StrToCurr(DBEdit9.Text)-v);
end
else MessageDlg('钱不够',mtError,[mbOK],0)
else MessageDlg('请输入付款金额',mtError,[mbOK],0);
if Data.ADOQTBegin['Ends']='否' then
begin
try
Data.ADOQTEnd['NameOfCoin'] := DBComboBox6.Text;
Data.ADOQTEnd['TypeOfCoin'] := DBComboBox1.Text;
Data.ADOQTEnd.Post;
DBComboBox1.Enabled:=False;
DBComboBox6.Enabled:=False;
DBEdit11.Enabled:=False;
DBEdit12.Enabled:=False;
btEnd.Enabled:=False;
Data.ADOQTBegin.Edit;
Data.ADOQTBegin['Ends']:='是';
Data.ADOQTBegin.Post;
Data.ADOQTBegin.Refresh;
except
MessageDlg('Error',mtError,[mbOK],0);
end;
Data.ADOQTEnd.Append;
end
else
MessageDlg('已处理过!',mtError,[mbOK],0);
end;
procedure TFrmMeal.Button1Click(Sender: TObject);
var
i:integer;
begin
with Data do
begin
ADOQOrder.Close;
ADOQOrder.SQL.Clear;
ADOQOrder.SQL.Add('select * from Orders where StreamNumber='+DBEdit6.Text);
ADOQOrder.Open;
ADOQOrder.First;
end;
v:=0;
for i:=1 to Data.ADOQOrder.RecordCount do
begin
if Data.ADOQOrder['Ordered']='是' then
if Data.ADOQOrder['Gifts']='否' then
if Data.ADOQOrder['Back']='否' then
v:=v+Data.ADOQOrder.FieldByName('Price').AsCurrency*Data.ADOQOrder.FieldByName('Discount').AsCurrency;
Data.ADOQOrder.Next;
end;
DBEdit8.Text:=CurrToStr(v);
DBComboBox1.Enabled:=True;
DBComboBox6.Enabled:=True;
DBEdit11.Enabled:=True;
DBEdit12.Enabled:=True;
btEnd.Enabled:=True;
DBComboBox1.Text:='现金';
DBComboBox6.Text:='人民币';
DBEdit12.Text:='1';
// Data.ADOQOrder.Close;
// Data.ADOQOrder.SQL.Clear;
// Data.ADOQOrder.SQL.Add('select * from Orders where StreamNumber = ' + DBEdit6.Text);
// Data.ADOQOrder.Open;
end;
procedure TFrmMeal.PageControl1Change(Sender: TObject);
begin
Data.ADOQOrder.Close;
Data.ADOQOrder.SQL.Clear;
Data.ADOQOrder.SQL.Add('select * from Orders');
Data.ADOQOrder.Open;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -