📄 uz_bz_xz.pas
字号:
unit uz_bz_xz;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DBLookup, ComCtrls, StdCtrls, DBCtrls, Mask, Buttons, ExtCtrls,u_main,
Grids, DBGrids;
type
Tz_bz_xz = class(TForm)
qx: TBitBtn;
BitBtn1: TBitBtn;
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
Label6: TLabel;
bzbh: TDBEdit;
Label7: TLabel;
zzrq: TDateTimePicker;
Label9: TLabel;
bzmc: TDBEdit;
Label17: TLabel;
bzbz: TDBEdit;
Label2: TLabel;
zzr: TDBEdit;
Label12: TLabel;
bz: TDBEdit;
Label1: TLabel;
Label3: TLabel;
jehj: TLabel;
procedure FormShow(Sender: TObject);
procedure qxClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure bzbhExit(Sender: TObject);
procedure bzbzChange(Sender: TObject);
procedure DBGrid1Enter(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure DBGrid1Exit(Sender: TObject);
procedure bzbzEnter(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure dccz;
function hn_bh:integer;
procedure bzje;
end;
var
z_bz_xz: Tz_bz_xz;
bs_bzbz:string;
implementation
uses uz_bz, ug_dc, uzp_yh;
{$R *.DFM}
procedure Tz_bz_xz.bzje;
begin
//计算点菜金额
with main.query1 do
begin
sql.clear;
sql.add('select sum(hj) as je from bzccd where bzbh=:s_bzbh');
ParamByName('s_bzbh').asstring:=z_bz.bzc.fieldbyname('bzbh').asstring;
active:=false;
active:=true;
jehj.caption:=Format('%*.*f', [8, 2,fieldbyname('je').ascurrency]);
end;
end;
function Tz_bz_xz.hn_bh:integer;
var
h_bh:integer;
begin
with main.query1 do
begin
active:=false;
sql.Clear;
sql.add('select max(bh) as bh from bzccd');
active:=true;
h_bh:=fieldbyname('bh').asinteger+1;
end;
hn_bh:=h_bh;
end;
procedure Tz_bz_xz.dccz;
begin
with z_bz.bzccd do
begin
esc_enter:=0;
g_dc.showmodal;
if esc_enter=0 then exit;
edit;
fieldbyname('bh').value:=hn_bh;
fieldbyname('bzbh').value:=trim(bzbh.text);
fieldbyname('clh').value:=g_dc.q_dc.fieldbyname('clh').asstring;
fieldbyname('ch').value:=g_dc.q_dc.fieldbyname('ch').asstring;
fieldbyname('cm').value:=g_dc.q_dc.fieldbyname('mc').asstring;
fieldbyname('dj').value:=g_dc.q_dc.fieldbyname('dj').asfloat;
fieldbyname('sl').value:=1;
fieldbyname('dzl').value:=g_dc.q_dc.fieldbyname('dzl').asfloat;
fieldbyname('gg').value:=g_dc.q_dc.fieldbyname('gg').asstring;
fieldbyname('lbh').value:=g_dc.q_dc.fieldbyname('lbh').asstring;
post;
end;
end;
procedure Tz_bz_xz.FormShow(Sender: TObject);
begin
if y_n=1 then
begin
z_bz.bzc.append;
caption:='包桌菜[新增]';
bzbh.enabled:=true;
bzbh.setfocus;
z_bz.bzccd.Filter:='bzbh='+'0000';
jehj.caption:='0.00';
end
else
begin
z_bz.bzc.edit;
caption:='包桌菜修改]';
bzbh.enabled:=false;
zzrq.date:=z_bz.bzc.fieldbyname('zzrq').asdatetime;
bzmc.setfocus;
z_bz.bzccd.Filter:='bzbh='+bzbh.text;
bzje;
end;
end;
procedure Tz_bz_xz.qxClick(Sender: TObject);
begin
if bzbh.Enabled then
begin
s_sql:='delete from bzccd where bzbh="'+bzbh.text+'"';
main.h_del(s_sql);
end;
z_bz.bzc.cancel;
end;
procedure Tz_bz_xz.BitBtn1Click(Sender: TObject);
begin
try
strtoint(bzbh.text);
except
messagebox(handle,'包桌编号必须为4位数字!','系统提示信息',MB_OK+MB_ICONWARNING);
bzbh.setfocus;
exit;
end;
if (trim(bzbh.text)='') or (length(bzbh.text)<>4) then
begin
messagebox(handle,'包桌编号必须为4位数字!','系统提示信息',MB_OK+MB_ICONWARNING);
bzbh.setfocus;
exit;
end;
z_bz.bzc.edit;
z_bz.bzc.fieldbyname('zzrq').value:=zzrq.Date;
z_bz.bzc.post;
z_bz.bzccd.edit;
z_bz.bzccd.post;
close;
end;
procedure Tz_bz_xz.DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then z_bz.bzccd.append;
if (key=46) and (trim(z_bz.bzccd.fieldbyname('cm').asstring)<>'')then
if messagebox(handle,'您真的要删除该菜吗','系统提示信息',MB_OKCANCEL+MB_ICONQUESTION)=IDOK then
begin
z_bz.bzccd.edit;
z_bz.bzccd.Delete;
bzje;
end;
if ((key>=65) and (key<=90) and (trim(z_bz.bzccd.fieldbyname('cm').asstring)='')) or ((key<=57) and (key>=48) and (trim(z_bz.bzccd.fieldbyname('cm').asstring)='')) or ((key<=105) and (key>=96) and (trim(z_bz.bzccd.fieldbyname('cm').asstring)='')) then
begin
c_key:=chr(key);
dccz;
bzje;
end;
end;
procedure Tz_bz_xz.bzbhExit(Sender: TObject);
begin
if trim(bzbh.text)='' then exit;
s_sql:='select bzbh from bzc where bzbh=:s_bzbh';
if main.h_only(s_sql,'s_bzbh',bzbh.text)<>0 then
begin
messagebox(handle,'您输入的包桌编号已经存在!','系统提示信息',MB_OK+MB_ICONWARNING);
bzbh.setfocus;
end;
end;
procedure Tz_bz_xz.bzbzChange(Sender: TObject);
begin
if not bzbz.Focused then exit;
try
strtofloat(bzbz.text);
except
bzbz.text:=bs_bzbz;
exit;
end;
if strtofloat(bzbz.text)<0 then bzbz.text:=bs_bzbz;
bs_bzbz:=bzbz.text;
end;
procedure Tz_bz_xz.DBGrid1Enter(Sender: TObject);
begin
try
strtoint(bzbh.text);
except
messagebox(handle,'包桌编号必须为4位数字!','系统提示信息',MB_OK+MB_ICONWARNING);
bzbh.setfocus;
exit;
end;
if (trim(bzbh.text)='') or (length(bzbh.text)<>4) then
begin
messagebox(handle,'包桌编号必须为4位数字!','系统提示信息',MB_OK+MB_ICONWARNING);
bzbh.setfocus;
exit;
end;
z_bz.bzccd.Filter:='bzbh='+bzbh.text;
z_bz_xz.KeyPreview:=false;
end;
procedure Tz_bz_xz.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then selectnext(activecontrol,true,true);
if key=#27 then qxClick(Sender);
end;
procedure Tz_bz_xz.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if z_bz.bzccd.fieldbyname('cm').asstring='' then
DBGrid1.ReadOnly:=true
else
DBGrid1.ReadOnly:=false;
end;
procedure Tz_bz_xz.DBGrid1Exit(Sender: TObject);
begin
z_bz_xz.KeyPreview:=true;
end;
procedure Tz_bz_xz.bzbzEnter(Sender: TObject);
begin
bs_bzbz:=bzbz.text;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -