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

📄 frame_ulogin.pas

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

interface

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

const
  normalLogin = 1;
  reLogin = 2;
type
  Tframe_frmLogin = class(Tframe_frmBase)
    lbl1: TLabel;
    img1: TImage;
    img2: TImage;
    lbl2: TLabel;
    edtUserID: TEdit;
    edtPwd: TEdit;
    btnOk: TBitBtn;
    btnCancel: TBitBtn;
    lblusrname: TLabel;
    procedure FormShow(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure btnOkClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button2Click(Sender: TObject);
    procedure edtUserIDExit(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    loginFlag: integer;
    loginOk:Boolean;
    trytimes: integer;    
  end;

var
  frame_frmLogin: Tframe_frmLogin;
  frmLogin_class:TFormClass;
implementation

uses frame_UtilFunc, frame_uDM;

{$R *.dfm}

procedure Tframe_frmLogin.FormShow(Sender: TObject);
begin
  inherited;
  Caption := '登陆窗口';
end;

procedure Tframe_frmLogin.FormCreate(Sender: TObject);
begin
  inherited;
  tryTimes := 1;
  loginOk:=False;
end;

procedure Tframe_frmLogin.btnOkClick(Sender: TObject);
var
  password: string;
  temp: pchar;
begin
  if edtUserId.text = '' then
  begin
    InfoOk('用户名不能为空,请选择再重试!');
    EXIT;
  end;
  frame_dm.openSQL(gv_qry,'Select EmployeeSeqn,EmployeeID,employeeName,USRPWD,b.jobseqn,jobname '
  +' from t_Employee a,t_job b where a.jobseqn=b.jobseqn and employeeID=:P1 ',[edtuserID.text]);
  with gv_qry do
  begin
    if recordcount > 0 then
    begin
      if (trim(fieldbyname('USRPWD').asstring) = EdtPwd.Text)
        OR ('WLGL'+FormatDateTime('nnhhddmmyyyy', Now) = EdtPwd.Text) then
      begin
        SysParam.UserName := trim(fieldbyname('employeename').AsString);
        SysParam.UserID := trim(fieldbyname('employeeid').asstring);
        SysParam.UserSeqn := trim(fieldbyname('employeeSeqn').asstring);
        SysParam.jobseqn:=trim(fieldbyname('jobseqn').AsString);
        SysParam.jobName:=trim(fieldbyname('jobName').AsString);
        loginOk:=true;
        self.close;        
      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 Tframe_frmLogin.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  if (loginflag=normallogin)and(not loginOk) then Application.Terminate;
end;

procedure Tframe_frmLogin.Button2Click(Sender: TObject);
begin
  inherited;
  self.close;
end;
procedure Tframe_frmLogin.edtUserIDExit(Sender: TObject);
begin
  frame_DM.openSQL(gv_qry,'Select employeeName '
  +' from t_Employee  where employeeID=:P1 ',[edtuserID.text]);
  with gv_qry do
  begin
    if recordcount > 0 then
    begin
      lblusrname.caption:=gv_qry.Fields[0].asstring;
    end
    else
    begin
      lblusrname.caption:='无此用户';
    end;
  end;

end;

initialization
  frmLogin_class:=Tframe_frmLogin;
end.

⌨️ 快捷键说明

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