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

📄 xw_main.pas

📁 详细说明:毕业论文中关于小型宾馆管理系统的详细设计毕 业论文中关于小型宾馆...一个酒店管理系统VB+Access [学生学籍管理系统(VB+Acess).zip] - !这个是刚刚编的毕业设计,可能
💻 PAS
字号:
unit xw_main;

interface
                                                                                  
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, Menus,
  StdCtrls, Dialogs, Buttons, Messages, ExtCtrls, ComCtrls, StdActns,
  ActnList,  ImgList,login,Db, Toolwin,
  ADODB, DBTables, Grids, DBGrids,comobj,prefs,registry,DBMain,
  //
 frmpwd, ColourLabel, cmpTrayIcon,utils,yk, OleCtrls,
  ShockwaveFlashObjects_TLB,unit1;
const
   TYPE_PRJ=0;
   TYPE_ROLE=1;
   TYPE_DOC=2;
   EN_PRJ=0;
   EN_ROLE=1;
   EN_DOC=2;
   EN_TEMP=3;
type
  TxwfdForm = class(TForm)
    OpenDialog: TOpenDialog;
    StatusBar: TStatusBar;
    ImgMenu: TImageList;
    Panel1: TPanel;
    Panel2: TPanel;
    Image2: TImage;
    spSet: TSpeedButton;
    spMm: TSpeedButton;
    spExit: TSpeedButton;
    SpeedButton4: TSpeedButton;
    ImageList3: TImageList;
    sbcw: TSpeedButton;
    Image1: TImage;
    sbck: TSpeedButton;
    sbyk: TSpeedButton;
    sbgz: TSpeedButton;
    sbrs: TSpeedButton;
    sbtz: TSpeedButton;
    sbbwl: TSpeedButton;
    sbxh: TSpeedButton;
    sbxt: TSpeedButton;
    sbjd: TSpeedButton;
    TrayIcon21: TTrayIcon2;
    pmxwfd: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    SpeedButton1: TSpeedButton;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    Ncw: TMenuItem;
    Nck: TMenuItem;
    Nyk: TMenuItem;
    Ngz: TMenuItem;
    Nrs: TMenuItem;
    Njd: TMenuItem;
    Nbwl: TMenuItem;
    Ntz: TMenuItem;
    Nxh: TMenuItem;
    Nxt: TMenuItem;
    mLogout: TSpeedButton;
    Timer1: TTimer;
    ibp: TImage;
    Timer2: TTimer;
    Image3: TImage;
    labYh: TLabel;
    f1: TShockwaveFlash;
    Timer3: TTimer;

    procedure HelpAbout1Execute(Sender: TObject);
    procedure Preference1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure spExitClick(Sender: TObject);
    procedure sbcwClick(Sender: TObject);
    procedure spSetClick(Sender: TObject);
    procedure sbckClick(Sender: TObject);
    procedure RunExefile(path:string);
    procedure sbgzClick(Sender: TObject);
    procedure sbrsClick(Sender: TObject);
    procedure sbbwlClick(Sender: TObject);
    procedure sbtzClick(Sender: TObject);
    procedure sbykClick(Sender: TObject);
    procedure sbjdClick(Sender: TObject);
    procedure sbxhClick(Sender: TObject);
    procedure sbxtClick(Sender: TObject);
    procedure laboutClick(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormHide(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure mLogoutClick(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Bp;
    procedure spMmClick(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Timer3Timer(Sender: TObject);
  private
    { Private declarations }

    function CheckLogin:boolean;
  public
    { Public declarations }
  end;

var
  xwfdForm: TxwfdForm;

  bAdmin:Boolean;
  sUser:widestring;
  ex:boolean;
  e:boolean;
implementation

{$R *.DFM}

uses dlgAbt, Main;

procedure TxwfdForm.HelpAbout1Execute(Sender: TObject);
var
  dlgAbout: TdlgAbout;
begin
  dlgAbout:=TdlgAbout.Create(self);
  dlgAbout.ShowModal;
end;

procedure TxwfdForm.Preference1Click(Sender: TObject);
var
   dlgPreferences:TdlgPreferences;
begin
    Application.CreateForm(TdlgPreferences, dlgPreferences);
    dlgPreferences.ShowModal;

end;

procedure TxwfdForm.FormShow(Sender: TObject);
begin

  if not ex then close;
  labYh.Width:=217;
  labYh.Caption:='你好!'+sup.PS_Username+'.  欢迎进入管理系统!';
  Trayicon21.Enabled:=false;
  AutoSize:=FALSE;
  Timer1.Interval:=6000;

  f1.movie:=ExtractFilePath(Application.ExeName)+'1.swf';
end;
// Check Login user
function TxwfdForm.CheckLogin:boolean;
var
  Reg: TRegistry;
  r:integer;
  dlgLogin: TdlgLogin;
begin
  e:=false;
  // Init
  Result:=True;

      // Login dialog

      dlgLogin:=nil;
      dlgLogin:=TdlgLogin.Create(self);
      r:=dlgLogin.ShowModal;
      If r<>mrOK then  begin
          //sup.PS_Logout;
          Result:=false;
          Exit;
      end;

  sbcw.Enabled:=false;
  sbck.Enabled:=false;
  sbyk.Enabled:=false;
  sbgz.Enabled:=false;
  sbrs.Enabled:=false;
  sbjd.Enabled:=false;
  sbbwl.Enabled:=false;
  sbtz.Enabled:=false;
  sbxh.Enabled:=false;
  sbxt.Enabled:=false;
  //
  Nxt.Enabled:=false;
  Ncw.Enabled:=false;
  Nck.Enabled:=false;
  Nyk.Enabled:=false;
  Ngz.Enabled:=false;
  Nrs.Enabled:=false;
  Njd.Enabled:=false;
  Nbwl.Enabled:=false;
  Ntz.Enabled:=false;
  NXH.Enabled:=false;




  // Login
      while not sup.PS_Login(dlgLogin.eUser.Text,dlgLogin.ePassword.Text) do begin
                MessageDlg(sup.PS_LastError,mtError,[mbOk], 0);
                dlgLogin.eUser.text:='';
                dlgLogin.ePassword.text:='';
                // Login dialog
                if dlgLogin=nil then
                   dlgLogin:=TdlgLogin.Create(self);
                r:=dlgLogin.ShowModal;
                If r<>mrOK then  begin
                   //sup.PS_Logout;
                   dlgLogin.free;
                   Result:=false;
                   Exit;
                end;
                //sup.PS_Logout;
        end;

        if sup.PS_WillExpire then Showmessage(sup.PS_LastError);
        e:=true;
        // Is Administrator?
        if sup.PS_Is_Admin then begin
           bAdmin:=true;
           sbxt.Enabled:=true;
           Nxt.Enabled:=true;
           sbcw.Enabled:=true;
           sbck.Enabled:=true;
           sbyk.Enabled:=true;
           sbgz.Enabled:=true;
           sbrs.Enabled:=true;
           sbjd.Enabled:=true;
           sbbwl.Enabled:=true;
           sbtz.Enabled:=true;
           sbxh.Enabled:=true;
          //

           Ncw.Enabled:=true;
           Nck.Enabled:=true;
           Nyk.Enabled:=true;
           Ngz.Enabled:=true;
           Nrs.Enabled:=true;
           Njd.Enabled:=true;
           Nbwl.Enabled:=true;
           Ntz.Enabled:=true;
           Nxh.Enabled:=true;
        end else begin
          bAdmin:=false;
          sbxt.Enabled:=false;
          Nxt.Enabled:=false;
          if sup.PS_CheckUserRights(sup.PS_Username,'财务管理') then begin
             sbcw.Enabled:=true;
             Ncw.Enabled:=true;
          end;
          if sup.PS_CheckUserRights(sup.PS_Username,'仓库管理') then begin
          end;
          if sup.PS_CheckUserRights(sup.PS_Username,'用款申请') then begin
             sbyk.Enabled:=true;
             Nyk.Enabled:=true;
          end;
          if sup.PS_CheckUserRights(sup.PS_Username,'工资管理') then begin
             sbgz.Enabled:=true;
             Ngz.Enabled:=true;
          end;
          if sup.PS_CheckUserRights(sup.PS_Username,'人事管理') then begin
             sbrs.Enabled:=true;
             Nrs.Enabled:=true;
          end;
          if sup.PS_CheckUserRights(sup.PS_Username,'酒店管理') then begin
             sbjd.Enabled:=true;
             Njd.Enabled:=true;
          end;
          if sup.PS_CheckUserRights(sup.PS_Username,'备忘录') then begin
             sbbwl.Enabled:=true;
             Nbwl.Enabled:=true;
          end;
          if sup.PS_CheckUserRights(sup.PS_Username,'通知') then begin
             sbtz.Enabled:=true;
             Ntz.Enabled:=true;
          end;
          if sup.PS_CheckUserRights(sup.PS_Username,'网上寻呼') then begin

            sbxh.Enabled:=true;
            Nxh.Enabled:=true;
          end;


       end;

         sUser:=dlgLogin.eUser.Text;
         // Record user name
         Reg := TRegistry.Create;
         try
            Reg.RootKey := HKEY_CURRENT_USER;
            if Reg.OpenKey('\Software\xwfd\Settings', True)
            then  begin
               Reg.WriteString('username',dlgLogin.eUser.Text);
            end;
         finally
            Reg.CloseKey;
            Reg.Free;
            inherited;
         end;

         dlgLogin.free;

end;




procedure TxwfdForm.spExitClick(Sender: TObject);
begin
 close;
end;

procedure TxwfdForm.sbcwClick(Sender: TObject);
begin
   RunExeFile(g_Prefs.PREFS_CW);
end;
procedure TxwfdForm.RunExefile(path:string);
var str:string;
    r:integer;
    ps:Pchar;
begin
   if path='' then begin
      Application.MessageBox('对不起,请先到用户设置中设置.', PChar('信息'), mb_OK)
   end;
   Str:=path;
   ps:=PChar(path);
   if g_Prefs.PREFS_HIDE then Hide;
   try
      //r:=WinExecAndWait32(str, SW_SHOWDEFAULT);
      r:=WinExec32(ps,SW_SHOWDEFAULT);
      if r<>0 then begin
         Application.MessageBox('主程序未找到,不能运行.', PChar(str), mb_OK)
      end;
   except
      MessageDlg('运行失败!',mtWarning,[mbOK],0);

   end;

end;

procedure TxwfdForm.spSetClick(Sender: TObject);
var
   dlgPreferences:TdlgPreferences;
begin
    Application.CreateForm(TdlgPreferences, dlgPreferences);
    dlgPreferences.ShowModal;

end;

procedure TxwfdForm.sbckClick(Sender: TObject);
begin
RunExeFile(g_Prefs.PREFS_CK);
end;

procedure TxwfdForm.sbgzClick(Sender: TObject);
begin
RunExeFile(g_Prefs.PREFS_GZ);
end;

procedure TxwfdForm.sbrsClick(Sender: TObject);
begin
RunExeFile(g_Prefs.PREFS_RS);
end;

procedure TxwfdForm.sbbwlClick(Sender: TObject);
begin
RunExeFile(g_Prefs.PREFS_DO);
end;

procedure TxwfdForm.sbtzClick(Sender: TObject);
begin
RunExeFile(g_Prefs.PREFS_TZ);
end;

procedure TxwfdForm.sbykClick(Sender: TObject);
var frmYK: TfrmYK;
begin
   frmYK:=TfrmYK.Create(self);
   if g_Prefs.PREFS_HIDE then Hide;
   frmYK.ShowModal;
   if g_Prefs.PREFS_HIDE then Show;


end;

procedure TxwfdForm.sbjdClick(Sender: TObject);
begin
//
end;

procedure TxwfdForm.sbxhClick(Sender: TObject);
var form1:Tform1;
begin
  Application.CreateForm(TForm1, Form1);
  form1.show;
end;

procedure TxwfdForm.sbxtClick(Sender: TObject);
var MainForm: TMainForm;
begin
   mainForm:=TMainForm.Create(self);
   //mainForm.ShowModal;
   mainForm.Show;
   if g_Prefs.PREFS_HIDE then Hide;


end;

procedure TxwfdForm.laboutClick(Sender: TObject);

var
  dlgAbout: TdlgAbout;
begin
  dlgAbout:=TdlgAbout.Create(self);
  dlgAbout.ShowModal;
end;

procedure TxwfdForm.N2Click(Sender: TObject);
begin
   xwfdForm.Show;
end;

procedure TxwfdForm.FormCreate(Sender: TObject);
begin
  Trayicon21.Enabled:=false;
  LoadSettings;
  ex:=CheckLogin;
end;

procedure TxwfdForm.FormHide(Sender: TObject);
begin

  Trayicon21.Enabled:=true;
end;

procedure TxwfdForm.SpeedButton1Click(Sender: TObject);
begin
 Hide;
end;

procedure TxwfdForm.mLogoutClick(Sender: TObject);
begin
   if mLogout.Caption='(&L)登陆出' then begin
       sup.PS_Logout;
       mLogout.Caption:='(&L)登陆入';
       labYh.Width:=217;
       Timer1.Interval:=0;
       n7.Enabled:=false;
  labYh.Caption:='你好!' + '  ' + ' 欢迎进入管理系统!';
       Panel1.enabled:=false;//Visible:=false;
    end else begin
       if not CheckLogin then exit;
       labYh.Width:=217;
       labYh.Caption:='你好!'+sup.PS_Username+'.  欢迎进入管理系统!';
       mLogout.Caption:='(&L)登陆出';
       //Panel1.Visible:=true;
       Panel1.enabled:=true;
       Timer1.Interval:=6000;
       n7.Enabled:=true;
    end;
end;

procedure TxwfdForm.Timer1Timer(Sender: TObject);
var sqlstr,sql1:string;
    uid,gid:string;
    rows:variant;
    str:TStrings;
    bm:string;
    bmzg:string;
begin
  timer2.Interval:=0;
  ibp.Visible:=false;


  sqlstr:=' where C_USER_NAME='+''''+sup.PS_Username+'''';
  sql1:=' where C_GRP_ZG='+''''+sup.PS_Username+'''';


  uid:=sup.PS_valStrToStr('CSI_SECU_USER','C_USER_NAME','C_USER_ID',sup.PS_Username);
  //showmessage(sup.ps_username);
  //showmessage('gid:'+uid);
  gid:=sup.PS_valStrToStr('CSI_SECU_USER_GRP','C_USER_ID','C_GRP_ID',uid);
  if gid='' then begin
     //Showmessage('对不起,你不属于一个部门。';
   // exit;
  end;
  bm:=sup.PS_valStrToStr('CSI_SECU_GRP','C_GRP_ID','C_GRP_NAME',gid);
  //showmessage(bm);
  bmzg:=sup.PS_valStrToStr('csi_secu_GRP','C_Grp_id','C_GRP_Zg',gid);
  //showmessage(bmzg);
  //
  if sup.PS_Username = bmzg then begin
     if sup.PS_CheckExists2Val('csi_report','c_from','c_status','',bm,'N','') then begin
     //if (sup.PS_CheckExistStrVar('csi_report','c_status','N') then begin
        bp;
     end ;//else showmessage('false');
  end;
  if sup.PB_GetValFromTab('CSI_SECU_USER','C_USER_ZW',sqlstr)='财务经理' then begin
     if sup.PS_CheckExistStrVar('csi_report','c_status','B') then begin
        bp;
     end;

  end;
  if sup.PB_GetValFromTab('CSI_SECU_USER','C_USER_ZW',sqlstr)='副总经理' then begin
     if sup.PS_CheckExistStrVar('csi_report','c_status','C') then begin
        bp;
     end;
  end;
  if sup.PB_GetValFromTab('CSI_SECU_USER','C_USER_ZW',sqlstr)='总经理' then begin
     if sup.PS_CheckExistStrVar('csi_report','c_status','F') then begin
        bp;
     end;
  end;



end;
procedure TxwfdForm.Bp;
var i:integer;
begin
  // for i:=0 to 6 do begin
     timer2.Interval:=700;
      // if ibp.Visible then ibp.Visible:=false
      // else ibp.Visible:=true;



end;

procedure TxwfdForm.spMmClick(Sender: TObject);
var
  PasswordDlg: TPasswordDlg;
begin


   PasswordDlg:=TPasswordDlg.Create(self);
   if PasswordDlg.ShowModal=mrOK then begin

      if sup.PS_ChangePwd(sup.PS_Username,passworddlg.eOldPwd.text,PasswordDlg.Password.text)<0 then begin
         Showmessage(sup.PS_LastError);
       end else begin
       application.MessageBox('密码已成功修改!', PChar('信息'), mb_OK );



      end;
   end;

end;

procedure TxwfdForm.Timer2Timer(Sender: TObject);
var i:integer;
begin
  // for i:=0 to 6 do begin

       if ibp.Visible then ibp.Visible:=false
       else ibp.Visible:=true;
       beep;


end;

procedure TxwfdForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if e then  sup.PS_Logout;

end;

procedure TxwfdForm.Timer3Timer(Sender: TObject);
var from,id,str:widestring;
begin
 str:='select * from csi_mes where c_to='+''''+sup.ps_username+''''+' and c_flag='+''''+'N'+'''';
 str:=sup.PS_Get_Mes_ext(str,from,id);
 if str<>'' then begin
    showmessage('消息来自于'+from+':'+#13+str);
    if id<>'' then
       
      sup.PS_MOD_Mes(id);
 end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -