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

📄 mmxn.pas

📁 机房管理系统delphi源代码
💻 PAS
字号:
unit mmxn;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, Db, DBTables;

type
  Tf_mmxn = class(TForm)
    Label1: TLabel;
    name_sr: TEdit;
    Label2: TLabel;
    passwd_sr: TEdit;
    GroupBox1: TGroupBox;
    xzsb: TRadioButton;
    xzyh: TRadioButton;
    ok: TBitBtn;
    cancel: TBitBtn;
    quit: TBitBtn;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure okClick(Sender: TObject);
    procedure cancelClick(Sender: TObject);
    procedure name_srKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure passwd_srKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure xzsbClick(Sender: TObject);
    procedure xzyhClick(Sender: TObject);
    procedure quitClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  f_mmxn: Tf_mmxn;
  pass : integer;  //通过标志
  i : integer;

implementation

uses jfos, gbv, data, sbgl_ref, yhgl_ref;

{$R *.DFM}

procedure Tf_mmxn.okClick(Sender: TObject);
begin
  pass:=0;
  with ds_data.Qu_pass do
  begin  //打开口令数据库
       //参数设置
       Close;
       ParamByName('name').value:=name_sr.Text;
       ParamByName('passwd').value:=passwd_sr.Text;

       //判断登录方式
       if xzsb.Checked then
       begin  //设备登录
            DatabaseName:='sbos';
            ds_data.Qu_chpw.DatabaseName:='sbos';
            ds_data.Qu_chqx.DatabaseName:='sbos';
       end
       else
       begin  //用户登录
            DatabaseName:='yhos';
            ds_data.Qu_chpw.DatabaseName:='yhos';
            ds_data.Qu_chqx.DatabaseName:='yhos';
       end;

       Open;
       //判断是否登录
       if RecordCount=1 then
       begin  //登录成功,并保存初始值
            f_gbv.pass_dl.Caption:=DatabaseName;
            f_gbv.pass_name.Caption:=FieldByName('name').AsString;
            f_gbv.pass_passwd.Caption:=FieldByName('passwd').AsString;
            f_gbv.pass_qx.Caption:=FieldByName('qx').AsString;
            f_gbv.pass_qxx.Caption:=FieldByName('qxx').AsString;
            f_mmxn.quit.Visible:=False;
            f_mmxn.cancel.Visible:=True;
            pass:=1;
       end;
       Close;  //关闭口令数据库
  end;
  f_mmxn.Close;
end;

procedure Tf_mmxn.FormClose(Sender: TObject; var Action: TCloseAction);
var qxs : string;  //权限字符串
    qxl : Boolean;  //权限判断
begin
  if pass=1 then  //通过检查
  begin  //权限
       qxs:=f_gbv.pass_qxx.Caption;  //权限字符串
       with f_jfos do
       begin  //权限初始化
            for i:=1 to Length(qxs) do
            begin
                 //权限判断
                 if qxs[i]='1' then qxl:=True else qxl:=False;
                 case i of
                      1: menu_glxt_sbgl.Enabled:=qxl;
                      2: ds_data.Qu_sbgl.RequestLive:=qxl;
                      3: f_sbgl_ref.xsgb.Enabled:=qxl;
                      4: menu_glxt_yhgl.Enabled:=qxl;
                      5: ds_data.Qu_yhgl.RequestLive:=qxl;
                      6: f_yhgl_ref.xsgb.Enabled:=qxl;
                      7: menu_glxt_zx.Enabled:=qxl;
                      8: menu_glxt_exit.Enabled:=qxl;
                      9: menu_sjxt_yhsj.Enabled:=qxl;
                      10: menu_sjxt_yysj.Enabled:=qxl;
                      11: menu_tjxt_sbtj.Enabled:=qxl;
                      12: menu_tjxt_jftj.Enabled:=qxl;
                      13: menu_tjxt_clear.Enabled:=qxl;
                      14: menu_xtsz_szkl.Enabled:=qxl;
                      15: menu_xtsz_xfsjk.Enabled:=qxl;
                 end;
            end;
       end;
  end;

  if pass=0 then
  begin  //未通过检查
       Application.MessageBox('口令错误,请更改口令。', '错误', Mb_OK);
       FormShow(nil);
       Action:=caNone;
  end
  else
  begin  //放弃注销、注销成功
       f_jfos.Enabled:=True;
       f_jfos.Show;
  end;
end;

procedure Tf_mmxn.FormShow(Sender: TObject);
begin
  //初始化按钮
  quit.Left:=cancel.Left;
  
  //初始化口令框
  name_sr.Text:='';
  passwd_sr.Text:='';
  name_sr.SetFocus;
end;

procedure Tf_mmxn.cancelClick(Sender: TObject);
begin
  //放弃注销
  pass:=2;
  f_mmxn.Close;
end;

procedure Tf_mmxn.name_srKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  //设置焦点
  if (Key=13) or (key=40) then passwd_sr.SetFocus;
end;

procedure Tf_mmxn.passwd_srKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  //设置焦点
  if key=38 then name_sr.SetFocus;
  //口令判断
  if Key=13 then okClick(nil);
end;

procedure Tf_mmxn.xzsbClick(Sender: TObject);
begin
  name_sr.SetFocus;
end;

procedure Tf_mmxn.xzyhClick(Sender: TObject);
begin
  name_sr.SetFocus;
end;

procedure Tf_mmxn.quitClick(Sender: TObject);
begin
  f_jfos.Close;
end;

end.

⌨️ 快捷键说明

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