📄 u_main.pas
字号:
unit u_main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ExtCtrls, ComCtrls, ToolWin, StdCtrls, Buttons, Db, DBTables,
Grids, DBGrids, ImgList;
type
Tmain = class(TForm)
sb: TStatusBar;
CoolBar1: TCoolBar;
v: TToolBar;
T_qtyy: TToolButton;
T_cpzz: TToolButton;
T_ctbz: TToolButton;
T_gtsp: TToolButton;
T_yhyd: TToolButton;
T_ckgl: TToolButton;
T_ctyx: TToolButton;
T_yyfx: TToolButton;
quit: TToolButton;
Animate1: TAnimate;
ScrollBox1: TScrollBox;
ImageList1: TImageList;
MainMenu1: TMainMenu;
xt: TMenuItem;
ms_ghczy: TMenuItem;
MenuItem14: TMenuItem;
ms_xtcsh: TMenuItem;
MenuItem17: TMenuItem;
MenuItem18: TMenuItem;
MenuItem19: TMenuItem;
MenuItem20: TMenuItem;
mi_yyt: TMenuItem;
mi_qtyy: TMenuItem;
MenuItem73: TMenuItem;
MenuItem74: TMenuItem;
MenuItem75: TMenuItem;
MenuItem76: TMenuItem;
N4: TMenuItem;
mz_yyzb: TMenuItem;
mz_yhyd: TMenuItem;
N14: TMenuItem;
mz_ckgl: TMenuItem;
my_yysz: TMenuItem;
my_fdxx: TMenuItem;
my_qtsz: TMenuItem;
N19: TMenuItem;
my_zhsz: TMenuItem;
N2: TMenuItem;
mz_gtsp: TMenuItem;
mz_ctyx: TMenuItem;
help: TToolButton;
my_yyfl: TMenuItem;
mz_cpzz: TMenuItem;
N12: TMenuItem;
N1: TMenuItem;
ms_sjbf: TMenuItem;
ms_sjhf: TMenuItem;
Image1: TImage;
T_yybb: TToolButton;
ms_czygl: TMenuItem;
mf: TMenuItem;
mf_sdxs: TMenuItem;
mf_cyxs: TMenuItem;
mf_ckxf: TMenuItem;
N15: TMenuItem;
mf_jzfs: TMenuItem;
mf_xflb: TMenuItem;
mf_srlb: TMenuItem;
mf_ctxs: TMenuItem;
N22: TMenuItem;
mf_clxs: TMenuItem;
N24: TMenuItem;
mf_krtc: TMenuItem;
mf_krrs: TMenuItem;
mi_yycx: TMenuItem;
fg1: TToolButton;
fx: TPopupMenu;
N8: TMenuItem;
N11: TMenuItem;
N13: TMenuItem;
N27: TMenuItem;
N28: TMenuItem;
N29: TMenuItem;
N30: TMenuItem;
N31: TMenuItem;
N32: TMenuItem;
N33: TMenuItem;
N34: TMenuItem;
N35: TMenuItem;
N36: TMenuItem;
N37: TMenuItem;
fg3: TToolButton;
fg4: TToolButton;
fg6: TToolButton;
mf_tcyy: TMenuItem;
mi_qdjz: TMenuItem;
N5: TMenuItem;
t_qdjz: TToolButton;
t_qtdz: TToolButton;
ct: TPopupMenu;
mp_ctbz: TMenuItem;
mp_ctck: TMenuItem;
cp: TPopupMenu;
mp_cpzz: TMenuItem;
mp_cpck: TMenuItem;
N18: TMenuItem;
mz_cpck: TMenuItem;
mi_ctyl: TMenuItem;
t_yycx: TToolButton;
mi_qtdz: TMenuItem;
PrinterSetup: TPrinterSetupDialog;
mz_bzgl: TMenuItem;
t_bzgl: TToolButton;
ImageList2: TImageList;
N3: TMenuItem;
mf_fwyxs: TMenuItem;
mb: TMenuItem;
mb_yybb: TMenuItem;
mb_sdbb: TMenuItem;
bb: TPopupMenu;
mp_yyrb: TMenuItem;
mp_sbbb: TMenuItem;
N6: TMenuItem;
mz_ctbz: TMenuItem;
mz_ctck: TMenuItem;
N7: TMenuItem;
mf_yylx: TMenuItem;
N9: TMenuItem;
mz_rygl: TMenuItem;
Timer1: TTimer;
N10: TMenuItem;
N16: TMenuItem;
Database1: TDatabase;
Query1: TQuery;
fdxx: TTable;
fdxxFdbh: TStringField;
fdxxFdmc: TStringField;
fdxxFddz: TStringField;
fdxxJlxm: TStringField;
fdxxDcdh: TStringField;
fdxxJlxc: TStringField;
fdxxZdzkl: TFloatField;
fdxxZdzkl1: TFloatField;
fdxxZdfwfl: TFloatField;
fdxxZdfwfl1: TFloatField;
fdxxSkth: TStringField;
fdxxGtbh: TStringField;
fdxxSkbj: TBooleanField;
fdxxHlxs: TIntegerField;
fdxxSfbz: TBooleanField;
fdxxZdxf: TBooleanField;
fdxxFwfl: TBooleanField;
fdxxGtsp: TBooleanField;
fdxxZkfl: TBooleanField;
fdxxRygl: TBooleanField;
fdxxJzdz: TBooleanField;
fdxxYyCldz: TBooleanField;
fdxxYdcldz: TBooleanField;
fdxxBzcldz: TBooleanField;
d_fdxx: TDataSource;
N17: TMenuItem;
cyxs: TMenuItem;
ctxs: TMenuItem;
N21: TMenuItem;
N23: TMenuItem;
N20: TMenuItem;
N25: TMenuItem;
procedure my_fdxxClick(Sender: TObject);
procedure quitClick(Sender: TObject);
procedure my_yyflClick(Sender: TObject);
procedure my_zhszClick(Sender: TObject);
procedure my_ctbzClick(Sender: TObject);
procedure mz_cpzzClick(Sender: TObject);
procedure mz_ckglClick(Sender: TObject);
procedure mz_ctyxClick(Sender: TObject);
procedure mz_gtspClick(Sender: TObject);
procedure T_ckglClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure helpClick(Sender: TObject);
procedure MenuItem76Click(Sender: TObject);
procedure ms_ghczyClick(Sender: TObject);
procedure ms_czyglClick(Sender: TObject);
procedure mz_bzglClick(Sender: TObject);
procedure mf_sdxsClick(Sender: TObject);
procedure mf_jzfsClick(Sender: TObject);
procedure mf_xflbClick(Sender: TObject);
procedure mf_srlbClick(Sender: TObject);
procedure mf_ctxsClick(Sender: TObject);
procedure mf_clxsClick(Sender: TObject);
procedure mf_cyxsClick(Sender: TObject);
procedure mf_krtcClick(Sender: TObject);
procedure mf_krrsClick(Sender: TObject);
procedure mf_ckxfClick(Sender: TObject);
procedure mf_tcyyClick(Sender: TObject);
procedure mi_yycxClick(Sender: TObject);
procedure ms_xtcshClick(Sender: TObject);
procedure ms_sjbfClick(Sender: TObject);
procedure ms_sjhfClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure my_ctckClick(Sender: TObject);
procedure mz_cpckClick(Sender: TObject);
procedure MenuItem18Click(Sender: TObject);
procedure mf_fwyxsClick(Sender: TObject);
procedure mb_yybbClick(Sender: TObject);
procedure mb_sdbbClick(Sender: TObject);
procedure mi_qtdzClick(Sender: TObject);
procedure mi_qtyyClick(Sender: TObject);
procedure mi_qdjzClick(Sender: TObject);
procedure mi_ctylClick(Sender: TObject);
procedure mz_ctbzClick(Sender: TObject);
procedure mz_ctckClick(Sender: TObject);
procedure mf_yylxClick(Sender: TObject);
procedure mz_ryglClick(Sender: TObject);
procedure FormDeactivate(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure FormHide(Sender: TObject);
procedure mz_yhydClick(Sender: TObject);
procedure cyxsClick(Sender: TObject);
procedure ctxsClick(Sender: TObject);
procedure MenuItem74Click(Sender: TObject);
procedure N25Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure yyfx;
function HzPy(sr: String): String;
function h_n_bh(s_sql:string):integer;
procedure hbyyfx(mytable:TQuery;t_rq1,t_rq2:Tdate);
procedure h_del(s_sql:string);
procedure h_del_p1(string1,string2:string;s_sql:string);
function h_count(s_sql:string):Integer;
function h_sum(s_sql:string):currency;
function h_only(s_sql,string1,string2:string):Integer;
function h_czqx(p_czyh,p_qxmm:string;p_czqx:integer):boolean;
procedure hbqxsz(p_czyh:string);
end;
var
main: Tmain;
c_key:char;//放入键值
i_key:integer;
s_sql:string;
s_mess:string;
i_fx:integer; //决定分析方式
s_mb:string;
Esc_enter:integer;//0为ESC键,1为ENTER键
f_tcsl:currency;//放入退菜数量
s_tcyyh:string;//放入退菜原因号
s_tcyy:string;//放入退菜原因
s_yylx:string;//放入营业类型
s_fdbh:string;//放入饭店编号
s_fdmc:string;//放入饭店名称
s_tm:string;//放入厅名(是否包间)
s_pzrh:string;//放入经理编号
s_skth:string;//放入放入收款台号
s_gtbh:string;//放入放入柜台编号
y_n:integer;//0:修改,1:新增
s_czyh:string;//放入操作员号
s_czym:string;//放入操作员号
s_cdbh:string;//菜单编号
i_login:integer;
s_ckbh:string;
s_filter:string;
//点菜单用的全局变量
c_zj,c_xj,c_fwf,c_zkf,c_zsje:currency;
s_th,s_tht,s_krs,s_fwyh,s_ycrq,s_ycsj:string;
sc_cdbh:string;//查询用的菜单编号
//权限设置全局变量
q_czygl,q_xtcsh,q_sjbf,q_sjhf,q_fdxx,q_qtsz,q_ctbz,q_ctck,q_yyfl,q_zhsz,
q_cpzz,q_cpck,q_ckgl,q_yhyd,q_bzgl,q_gtsp,q_sprg,q_spsx,q_ctyx,q_qtyy,q_ctyl,
q_qdjz,q_qdcx,q_qddz,q_yycx,q_yyrb,q_mf:boolean;
xs:boolean; //确定状态栏的显示内容
const ChinaCode: array[0..25,0..1] of Integer = ((1601,1636), (1637,1832),
(1833,2077),(2078,2273),(2274,2301),(2302,2432),(2433,2593),(2594,2786),
(9999,0000),(2787,3105),(3106,3211),(3212,3471),(3472,3634),(3635,3722),
(3723,3729),(3730,3857),(3858,4026),(4027,4085),(4086,4389),(4390,4557),
(9999,0000),(9999,0000),(4558,4683),(4684,4924),(4925,5248),(5249,5589));
implementation
uses us_fdxx,uz_cpzz, us_yyfl, us_zhsz,
us_ctbz,uz_yhyd, uz_ckgl, uz_ctyx, uz_gtsp, uy_yyt, uabout, ughczy,
ub_yyrb, uy_yyfx, ux_czygl, uhbjd, uy_yycx, uy_yyt_login, ux_xtcsh, uz_gtsp_rg, uz_gtsp_sx,
ux_sjbf, uz_cpck, us_ctck, uy_ctyl, uy_qdjz, uy_qtdz, uz_bz,
uf_yyfx, ub_sdbb, uz_rygl, uz_cbkz, ug_wait, ub_cyxs, ub_ctxs;
{$R *.DFM}
procedure Tmain.yyfx;
begin
g_wait.show;
g_wait.Update;
if f_yyfx=NIL then f_yyfx:=Tf_yyfx.Create(Application);
f_yyfx.showmodal;
end;
function Tmain.HzPy(sr: String): String;
var
C1, Len1, C2: Integer;
ir : Word;
FResult : String;
begin
FResult := '';
C1 := 1;
Len1 := Length(sr);
while (C1<=Len1) do
begin
if (ord(sr[C1])>=160) and (ord(sr[C1+1])>=160) then
begin
ir := (ord(sr[C1])-160)*100 + ord(sr[C1+1])-160;
C2 := 1;
while (C2<=26) do
begin
if (ir>=ChinaCode[C2,0]) and (ir<=ChinaCode[C2,1]) then
begin
FResult := FResult+chr(C2+ord('a'));
break;
end;
C2 := C2 + 1;
end;
end;
C1 := C1 + 2;
end;
Result := FResult;
end;
function Tmain.h_n_bh(s_sql:string):integer;
begin
with main.query1 do
begin
active:=false;
sql.Clear;
sql.add(s_sql);
active:=true;
end;
h_n_bh:=main.query1.fieldbyname('bh').asinteger+1;
end;
procedure Tmain.hbyyfx(mytable:TQuery;t_rq1,t_rq2:Tdate);
begin
with mytable do
begin
DisableControls;
active:=false;
ParamByName('rq1').asdate:=t_rq1;
ParamByName('rq2').asdate:=t_rq2;
active:=true;
EnableControls;
end;
end;
function Tmain.h_czqx(p_czyh,p_qxmm:string;p_czqx:integer):boolean;
var
d,d1,d2,t,t1,t2:string;
begin
//1:签单结帐,2:免单结帐,3:结帐打折,4:前台营业,5:退菜权利 6:赠菜权利,7:加临时菜
h_czqx:=true;
with Query1 do
begin
sql.Clear;
sql.add('select * from czy where czyh=:p_czyh');
ParamByName('p_czyh').asstring:=p_czyh;
active:=false;
active:=true;
if recordcount=0 then
begin
h_czqx:=false;
messagebox(main.handle,'请输入合法的批准人号!','系统提示信息',MB_OK+MB_ICONWARNING);
exit;
end;
end;
with query1 do
begin
sql.Clear;
sql.add('select * from czy where czyh=:p_czyh and mm=:p_czmm');
ParamByName('p_czyh').asstring:=p_czyh;
ParamByName('p_czmm').asstring:=p_qxmm;
active:=false;
active:=true;
if recordcount=0 then
begin
h_czqx:=false;
messagebox(main.handle,'请输入正确的权限密码!','系统提示信息',MB_OK+MB_ICONWARNING);
exit;
end;
end;
with query1 do
begin
d:=formatdatetime('yyyy.mm.dd',date());
d1:=formatdatetime('yyyy.mm.dd',fieldbyname('syrq1').asdatetime);
d2:=formatdatetime('yyyy.mm.dd',fieldbyname('syrq2').asdatetime);
t:=formatdatetime('hh.mm.ss',time());
t1:=formatdatetime('hh.mm.ss',fieldbyname('sysj1').asdatetime);
t2:=formatdatetime('hh.mm.ss',fieldbyname('sysj2').asdatetime);
end;
if (d1>d) or (d>d2) or (t1>t) or (t>t2) then
begin
messagebox(handle,'您在本时间段内没有操作权限!','系统提示信息',MB_OK+MB_ICONWARNING);
h_czqx:=false;
exit;
end;
if p_czqx=0 then exit;
case p_czqx of
1:if (not query1.fieldbyname('q_jz_qd').asboolean) then
begin
messagebox(handle,'您没有签单结帐的权利!','系统提示信息',MB_OK+MB_ICONWARNING);
h_czqx:=false;
end;
2:if (not query1.fieldbyname('q_jz_md').asboolean) then
begin
messagebox(handle,'您没有免单结帐的权利!','系统提示信息',MB_OK+MB_ICONWARNING);
h_czqx:=false;
end;
3:if (not query1.fieldbyname('q_jz_dz').asboolean) then
begin
messagebox(handle,'您没有结帐打折的权利!','系统提示信息',MB_OK+MB_ICONWARNING);
h_czqx:=false;
end;
4:if (not query1.fieldbyname('q_qtyy').asboolean) and (y_yyt.showing) then
begin
messagebox(handle,'您没有前台营业的权利!','系统提示信息',MB_OK+MB_ICONWARNING);
h_czqx:=false;
end;
5:if (not query1.fieldbyname('q_tc').asboolean) and (y_yyt.showing) then
begin
messagebox(handle,'您没有退菜的权利!','系统提示信息',MB_OK+MB_ICONWARNING);
h_czqx:=false;
end;
6:if (not query1.fieldbyname('q_zc').asboolean) and (y_yyt.showing) then
begin
messagebox(handle,'您没有赠菜的权利!','系统提示信息',MB_OK+MB_ICONWARNING);
h_czqx:=false;
end;
7:if (not query1.fieldbyname('q_jc').asboolean) and (y_yyt.showing) then
begin
messagebox(handle,'您没有加临时菜的权利!','系统提示信息',MB_OK+MB_ICONWARNING);
h_czqx:=false;
end;
end;
end;
procedure Tmain.hbqxsz(p_czyh:string);
begin
with Query1 do
begin
sql.Clear;
sql.add('select * from czy where czyh=:p_czyh');
ParamByName('p_czyh').asstring:=p_czyh;
active:=false;
active:=true;
ms_czygl.Enabled:=fieldbyname('q_czygl').AsBoolean;
ms_xtcsh.Enabled:=fieldbyname('q_xtcsh').AsBoolean;
ms_sjbf.Enabled:=fieldbyname('q_sjbf').AsBoolean;
ms_sjhf.Enabled:=fieldbyname('q_sjhf').AsBoolean;
my_fdxx.Enabled:=fieldbyname('q_fdxx').AsBoolean;
my_qtsz.Enabled:=fieldbyname('q_qtsz').AsBoolean;
my_yyfl.Enabled:=fieldbyname('q_yyfl').AsBoolean;
my_zhsz.Enabled:=fieldbyname('q_zhsz').AsBoolean;
mz_ctbz.Enabled:=fieldbyname('q_ctbz').AsBoolean;
t_ctbz.Enabled:=fieldbyname('q_ctbz').AsBoolean;
mz_ctck.Enabled:=fieldbyname('q_ctck').AsBoolean;
mz_rygl.Enabled:=fieldbyname('q_rygl').AsBoolean;
mz_cpzz.Enabled:=fieldbyname('q_cpzz').AsBoolean;
mz_cpck.Enabled:=fieldbyname('q_cpck').AsBoolean;
t_cpzz.Enabled:=fieldbyname('q_cpzz').AsBoolean;
mz_ckgl.Enabled:=fieldbyname('q_ckgl').AsBoolean;
t_ckgl.Enabled:=fieldbyname('q_ckgl').AsBoolean;
mz_yhyd.Enabled:=fieldbyname('q_yhyd').AsBoolean;
t_yhyd.Enabled:=fieldbyname('q_yhyd').AsBoolean;
mz_bzgl.Enabled:=fieldbyname('q_bzgl').AsBoolean;
t_bzgl.Enabled:=fieldbyname('q_bzgl').AsBoolean;
mz_ctyx.Enabled:=fieldbyname('q_ctyx').AsBoolean;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -