⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 u_main.pas

📁 恒邦餐饮管理源码。将源码放到C:hbjdcyzy 登陆:1001/1001
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -