📄 frame_ulogin.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 + -