📄 login.pas
字号:
unit login;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, Db, DBTables, ExtCtrls, DBCtrls, Dialogs, jpeg;
type
Tloginform = class(TForm)
Panel1: TPanel;
Image1: TImage;
PassWord: TEdit;
cmdOk: TBitBtn;
cmdExit: TBitBtn;
cboUser: TDBLookupComboBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure cmdExitClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cmdOkClick(Sender: TObject);
procedure PassWordKeyPress(Sender: TObject; var Key: Char);
procedure cboUserKeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
nTime: integer; //密码输入次数计数
public
{ Public declarations }
end;
var
loginform: Tloginform;
implementation
uses dataModule1;
{$R *.DFM}
procedure Tloginform.cmdExitClick(Sender: TObject);
begin
if DataE2.FirstRun then
Application.Terminate
else close;
end;
procedure Tloginform.FormShow(Sender: TObject);
begin
nTime := 0; //记录密码输入次数为0
cboUser.SetFocus; //用户名选择获得焦点
PassWord.text := ''; //清空密码输入
with dataE2 do
begin
if tblOpr.Active then tblOpr.close;
tblOpr.open;
end;
end;
procedure Tloginform.cmdOkClick(Sender: TObject);
var mm: string;
begin
if cbouser.Text='' then
begin
showmessage('用户名不能为空!请重新录入!');
cbouser.SetFocus;
exit;
end;
nTime := nTime + 1; //每单击一次‘确定’按钮,密码输入次数加1
mm := trim(dataE2.tblOpr.Fieldbyname('password').AsString); //取得该用户在数据库中的密码
if mm <> trim(PassWord.text) then
begin
if nTime < 3 then
begin
showmessage('密码不对,请重新录入!');
PassWord.text := '';
PassWord.SetFocus;
exit; end
else begin
showmessage('对不起,你没有通过口令认证!');
application.Terminate;
end;
end //pass
else begin
dataE2.myUsrName:=DataE2.tblOpr.FieldByName('name').AsString;
dataE2.myNumber:=DataE2.tblOpr.FieldByName('number').AsString;
close;
end;
Datae2.FirstRun:=false;
end;
procedure Tloginform.PassWordKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
cmdok.Click;
end;
procedure Tloginform.cboUserKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
PassWord.SetFocus;
end;
procedure Tloginform.FormCreate(Sender: TObject);
begin
Datae2.FirstRun:=True;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -