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