📄 untlogin.~pas
字号:
unit UntLogin;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, ExtCtrls;
type
TFrmLogin = class(TForm)
Label1: TLabel;
Panel2: TPanel;
Label2: TLabel;
Label3: TLabel;
Edit_username: TEdit;
edit_password: TEdit;
SpdBtnOK: TSpeedButton;
SpdBtnCancel: TSpeedButton;
lblConnect: TLabel;
procedure Edit_usernameKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edit_passwordKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure SpdBtnOKClick(Sender: TObject);
procedure SpdBtnCancelClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit_usernameEnter(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure CreateParams(var Params: TCreateParams); override;
end;
TUser=record
ID:string;
Name:string;
nPrivilige:integer;
MobilePhone:string;
end;
var
FrmLogin: TFrmLogin;
Passed:Boolean=True;
LoginUser:TUser;
implementation
uses UntDM,UntSQL;
{$R *.dfm}
{ TFrmLogin }
procedure TFrmLogin.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.Style := Params.Style or WS_THICKFRAME ;
end;
procedure TFrmLogin.Edit_usernameKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=VK_ESCAPE then SpdBtnCancel.Click
else if Key=VK_RETURN then SpdBtnOK.Click;
end;
procedure TFrmLogin.edit_passwordKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=VK_ESCAPE then SpdBtnCancel.Click
else if Key=VK_RETURN then SpdBtnOK.Click;
end;
procedure TFrmLogin.SpdBtnOKClick(Sender: TObject);
var
sCheckSQL:string;
begin
Passed := True;
LoginUser.nPrivilige := 2;
//第二步,核查登录用户名密码
if DM1.QryLogin.Connection.Connected then
begin
frmLogin.lblConnect.Caption := '';
try
DM1.QryLogin.Close;
sCheckSQL := 'Select 用户ID, 用户名, 口令, 姓名, 手机号, 权限, 是否禁用 from 用户信息字典 ';
sCheckSQL := sCheckSQL + ' where 是否禁用<> ' + '''' + '禁用' + '''';
sCheckSQL := sCheckSQL + ' and 用户名= ' + '''' + StrToSQL(trim(Edit_username.Text)) + '''';
sCheckSQL := sCheckSQL + ' and (口令= ' + '''' + StrToSQL(trim(edit_password.Text)) + '''';
sCheckSQL := sCheckSQL + ' or 口令 is null )';
DM1.QryLogin.SQL.Text := sCheckSQL;
DM1.QryLogin.Open;
except
Passed := False;
end;
if Passed then
begin
if DM1.QryLogin.RecordCount=0 then Passed := False
else DM1.QryLogin.First;
end;
if not Passed then
begin
Application.MessageBox('用户名口令有误!','警告');
exit;
end else
begin
try
LoginUser.ID := DM1.QryLogin.FieldByName('用户ID').AsString;
LoginUser.Name := DM1.QryLogin.FieldByName('姓名').AsString;
LoginUser.nPrivilige := DM1.QryLogin.FieldByName('权限').AsInteger;
LoginUser.MobilePhone := DM1.QryLogin.FieldByName('手机号').AsString ;
except
LoginUser.nPrivilige := 2;
end;
DM1.QryLogin.Close;
end;
frmLogin.Close;
end;
end;
procedure TFrmLogin.SpdBtnCancelClick(Sender: TObject);
begin
Passed := False;
close;
end;
procedure TFrmLogin.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if frmLogin <> nil then
begin
frmLogin.Release;
frmLogin := nil;
end;
end;
procedure TFrmLogin.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=VK_ESCAPE then SpdBtnCancel.Click;
end;
procedure TFrmLogin.Edit_usernameEnter(Sender: TObject);
begin
Edit_username.ImeMode := imDisable;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -