📄 login.pas
字号:
unit login;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls, Db, DBClient, ADODB, ComCtrls;
type
TFrm_Login = class(TForm)
bbtnok: TBitBtn;
btncancel: TBitBtn;
GroupBox2: TGroupBox;
cbUserId: TComboBox;
Label3: TLabel;
Label4: TLabel;
edtPassword: TEdit;
ADOQ_Temp: TADOQuery;
procedure btncancelClick(Sender: TObject);
procedure bbtnokClick(Sender: TObject);
procedure edtPasswordKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormCreate(Sender: TObject);
procedure edituseridKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
login:boolean;
end;
var
Frm_Login: TFrm_Login;
LoginNum :integer;
implementation
uses DataBase, Common;
{$R *.DFM}
procedure TFrm_Login.btncancelClick(Sender: TObject);
begin
Login :=False;
close;
end;
procedure TFrm_Login.bbtnokClick(Sender: TObject);
begin
//录入检验
if cbUserId.text='' then
begin
messagedlg('请 选 择 用 户 名 !',mtInformation,[mbok],0);
cbUserId.SetFocus();
exit;
end;
//登录验证
with ADOQ_Temp do
begin
close;
SQL.Clear;
SQL.Add('SELECT * From 用户信息表 Where 用户名='+''''+cbUserId.Text+'''');
Open;
//用户有效性
IF not IsEmpty then
begin
//登录失败
If edtPassword.Text <> Fieldbyname('密码').AsString then
begin
messagedlg('口令错误,请修改 !',mterror,[mbok],0);
LoginNum:=LoginNum+1;
if LoginNum=3 then
begin
messagedlg('非法用户!你无权使用本系统',mterror,[mbok],0);
application.Terminate ;
end;
edtPassword.Text :='';
edtPassword.SetFocus;
exit;
end
//登录成功
else
begin
//保存登录的用户信息
gs_login_userid :=fieldbyname('用户名').asstring;
gs_login_username :=fieldbyname('用户名').asstring;
gs_login_userlevel :=fieldbyname('用户等级').asstring;
gs_login_Password :=fieldbyname('密码').asstring;
gt_login_time:=now();
Login:=true;
self.close;
end;
end
else
begin
messagedlg('指定的用户已被注销!你无权使用本系统!',mterror,[mbok],0);
Login:=False;
self.close;
end;
end;
end;
procedure TFrm_Login.edtPasswordKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_RETURN then
bbtnOk.SetFocus ;
end;
procedure TFrm_Login.FormCreate(Sender: TObject);
begin
//
Login:=false;
// 初始化用户选择列表
with ADOQ_Temp do
begin
close;
SQL.Clear;
SQL.Add('SELECT 用户名 From 用户信息表');
Open;
while not eof do
begin
cbUserId.Items.Add(FieldByName('用户名').AsString);
Next;
end;
close;
end;
cbUserId.ItemIndex:= 0;
end;
procedure TFrm_Login.edituseridKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_RETURN then
edtPassword.SetFocus;
end;
procedure TFrm_Login.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//
end;
procedure TFrm_Login.FormShow(Sender: TObject);
begin
//
edtPassword.SetFocus();
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -