📄 consume.~pas
字号:
unit consume;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, Buttons, DB, DBTables, Grids, DBGrids;
type
TForm13 = class(TForm)
Label1: TLabel;
GroupBox1: TGroupBox;
Label3: TLabel;
Label4: TLabel;
XF_spmc: TLabel;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
XF_RoomName: TLabel;
Label2: TLabel;
Label6: TLabel;
Label7: TLabel;
ME_pycx: TMaskEdit;
SP_sl: TMaskEdit;
SP_fwy: TComboBox;
Button1: TButton;
Label8: TLabel;
XF_dj: TLabel;
SpeedButton1: TSpeedButton;
Q_select: TQuery;
DataSource1: TDataSource;
Db_sp: TDBGrid;
Query1: TQuery;
DBGrid1: TDBGrid;
Q_splb: TQuery;
DataSource2: TDataSource;
Label5: TLabel;
XF_spbh: TLabel;
Label10: TLabel;
Label11: TLabel;
Q_service: TQuery;
T_spin: TTable;
Q_skc: TQuery;
Label9: TLabel;
procedure SpeedButton1Click(Sender: TObject);
procedure ME_pycxChange(Sender: TObject);
procedure Db_spDblClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure SP_slKeyPress(Sender: TObject; var Key: Char);
procedure SP_fwyKeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form13: TForm13;
implementation
uses main;
{$R *.dfm}
procedure TForm13.SpeedButton1Click(Sender: TObject);
begin
form1.db_Selected.Refresh;
close;
end;
procedure TForm13.ME_pycxChange(Sender: TObject);
var pym:string;
begin
pym:=ME_pycx.Text;
Q_select.SQL.Clear;
Q_select.SQL.Add('select * from Menu where py like ''%'+pym+'%''');
Q_select.Open;
end;
procedure TForm13.Db_spDblClick(Sender: TObject);
begin
with DB_sp.DataSource.DataSet do
begin
GotoBookmark(pointer(DB_sp.SelectedRows[0]));
XF_spbh.Caption:=fields[0].asstring;
xf_spmc.Caption:=fields[1].asstring;
xf_dj.Caption:=Fields[5].asstring;
end;
sp_sl.SetFocus;
sp_sl.Text:='1';
end;
procedure TForm13.Button1Click(Sender: TObject);
var
sfkc,RoomName,MenuNo:string;
AccountNo,kcsl:integer;
begin
ME_pycx.Clear;
Q_select.Close;
Q_select.SQL.Clear;
Q_select.SQL.Add('select * from menu order by MenuNo');
Q_select.Open;
db_sp.Refresh;
RoomName:=XF_RoomName.Caption;
AccountNo:=StrToInt(Label11.Caption);
MenuNo:=XF_spbh.Caption;
if (length(RoomName)=0) or (length(XF_spbh.caption)=0) or (length(trim(sp_sl.Text))=0) or (length(sp_fwy.Text)=0) then
begin
MessageDlg('您没选择商品或输入错误,请重新输入!',mtError,[mbok],0);
end
else
begin
//按商品编号从Menu中取出MenuName,MenuType,SalePrice和kc(是否允许库存).
Q_splb.SQL.Clear;
Q_splb.SQL.Add('select * from Menu where MenuNo='''+MenuNo+'''');
Q_splb.Open;
sfkc:=Q_splb.FieldByName('kc').asstring;
//结束
//判断该商品是否允许库存,判断该商品库存数量是否够,够则进行数量增减
if sfkc='是' then
begin
Q_skc.SQL.Clear;
Q_skc.SQL.Add('select * from kucun where MenuNo='''+MenuNo+'''');
Q_skc.Open;
kcsl:=Q_skc.fieldByName('sl').asinteger;
if kcsl<StrToInt(trim(sp_sl.Text)) then
Begin
MessageDlg('库存数量不足,请查询!',mtError,[mbok],0);
sp_sl.Clear;
Q_splb.SQL.Clear;
Q_splb.SQL.Add('select * from Dinlist where RoomName='''+RoomName+'''');
Q_splb.Open;
end
else
begin
Q_skc.Edit;
Q_skc['sl']:=kcsl-StrToInt(trim(sp_sl.Text));
Q_skc.Post;
Q_skc.Close;
//公共部分代码====向DinList表插入数据。
T_spin.Open;
T_spin.AppendRecord([AccountNo,RoomName,MenuNo,Q_splb.FieldByName('MenuName').asstring,Q_splb.FieldByName('MenuType').asinteger,Q_splb.FieldByName('SalePrice').asfloat,StrtoInt(trim(sp_sl.text)),sp_fwy.text,Q_splb.FieldByName('dz').asstring,9,form1.operator.caption,now]);
//结束
//刷新已消费商品列表并置所添表单数据为空。
sp_sl.Clear;
Q_splb.SQL.Clear;
Q_splb.SQL.Add('select * from Dinlist where RoomName='''+RoomName+'''');
Q_splb.Open;
//结束。
end;
end
else
begin
//公共部分代码====向DinList表插入数据。
T_spin.Open;
T_spin.AppendRecord([AccountNo,RoomName,MenuNo,Q_splb.FieldByName('MenuName').asstring,Q_splb.FieldByName('MenuType').asinteger,Q_splb.FieldByName('SalePrice').asfloat,StrtoInt(trim(sp_sl.text)),sp_fwy.text,Q_splb.FieldByName('dz').asstring,9,form1.operator.caption,now]);
//结束
//刷新已消费商品列表并置所添表单数据为空。
sp_sl.Clear;
Q_service.Active:=False;
Q_service.Active:=True;
Q_splb.SQL.Clear;
Q_splb.SQL.Add('select * from Dinlist where RoomName='''+RoomName+'''');
Q_splb.Open;
// sp_sl.EditMask:='099;1; ';
//结束。
end;
end;
end;
procedure TForm13.SP_slKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);
end;
end;
procedure TForm13.SP_fwyKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);
end;
end;
procedure TForm13.FormShow(Sender: TObject);
begin
Q_select.Active:=false;
Q_select.Active:=True;
// sp_sl.EditMask:='099;1; ';
sp_fwy.Clear;
Q_service.Active:=False;
Q_service.Active:=True;
while not Q_service.Eof do
begin
sp_fwy.Items.Add(Q_service.FieldByName('Name').AsString);
Q_service.Next;
end;
end;
procedure TForm13.FormClose(Sender: TObject; var Action: TCloseAction);
begin
form1.Q_Selected.Active:=False;
form1.Q_Selected.Active:=true;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -