📄 frmloginimpl.pas
字号:
unit FrmLoginImpl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, SUIButton, DB, ADODB, FrmMainImpl,
SUIForm, IniFiles;
type
TFrmLogin = class(TForm)
sfrMain: TsuiForm;
imgSt: TImage;
imgKey: TImage;
lblUserName: TLabel;
lblPassword: TLabel;
bvlLine2: TBevel;
edtUserName: TEdit;
edtPassword: TEdit;
btnConfirm: TsuiButton;
btnCancel: TsuiButton;
conMain: TADOConnection;
qryPublic: TADOQuery;
procedure btnConfirmClick(Sender: TObject);
procedure edtUserNameKeyPress(Sender: TObject; var Key: Char);
procedure edtPasswordKeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure btnCancelClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmLogin: TFrmLogin;
IniFile: TIniFile;
implementation
{$R *.dfm}
procedure TFrmLogin.btnConfirmClick(Sender: TObject);
var
strUserName, strPassword, strEncryedPassword: string;
intTimesRemain: integer;
label
IsOk;
begin
edtUserName.Text := Trim(edtUserName.Text);
strUserName := edtUserName.Text;
strPassword := edtPassword.Text;
ModalResult := mrNone;
if (strUserName = '') then
begin
ShowMessage('请输入“用户姓名”!');
edtUserName.SetFocus;
Abort;
end;
if (UpperCase(strUserName) = 'SA') and (strPassword = 'tendency') then
begin
UserID := 'SA';
UserName := '系统管理员';
DeptID := '';
goto IsOk;
end;
qryPublic.Close;
qryPublic.SQL.Clear;
if strPassword = '' then
qryPublic.SQL.Add('select top 1 USER_ID,UNIT_ID from T_SYS_USER where USER_NAME=' + QuotedStr(strUserName) + ' and USER_PSWD is null')
else
qryPublic.SQL.Add('select top 1 USER_ID,UNIT_ID from T_SYS_USER where USER_NAME=' + QuotedStr(strUserName) + ' and USER_PSWD=' + QuotedStr(strPassword));
qryPublic.Open;
if qryPublic.RecordCount <= 0 then//没有则再次登录
begin
ShowMessage('没有此用户或口令不正确,请重输或退出!');
edtUserName.SetFocus;
Abort;
end;
UserName := strUserName;
UserID := qryPublic.FieldByName('USER_ID').AsString;
DeptID := qryPublic.FieldByName('UNIT_ID').AsString;
IsOk:
IniFile.WriteString('System', 'UserName', UserName);
ModalResult := mrOk;
end;
procedure TFrmLogin.edtUserNameKeyPress(Sender: TObject; var Key: Char);
begin
{ if (key = chr(13)) and ((Sender as TEdit).Text <> '') then
edtPassword.SetFocus;}
end;
procedure TFrmLogin.edtPasswordKeyPress(Sender: TObject; var Key: Char);
begin
{ if (key = chr(13)) then
btnConfirm.SetFocus;}
end;
procedure TFrmLogin.FormShow(Sender: TObject);
begin
edtUserName.Text := IniFile.ReadString('System', 'UserName', '');
edtUserName.SetFocus;
end;
procedure TFrmLogin.FormCreate(Sender: TObject);
begin
if (not conMain.Connected) then
begin
conMain.Open;
end;
IniFile := Tinifile.Create(ExtractFileDir(Application.ExeName) + '\SysCfg.ini');
end;
procedure TFrmLogin.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if (conMain.Connected) then
begin
conMain.Close;
end;
end;
procedure TFrmLogin.FormDestroy(Sender: TObject);
begin
if (self = FrmLogin) then
FrmLogin := Nil;
end;
procedure TFrmLogin.btnCancelClick(Sender: TObject);
begin
Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -