📄 frm_loginu.pas
字号:
unit frm_loginU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls,frm_mainU,Db,AdoDb,Config, Mask;
type
Tfrm_login = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
btn_ok: TButton;
btn_cancel: TButton;
edt_user: TEdit;
Label1: TLabel;
Label2: TLabel;
edt_pwd: TMaskEdit;
procedure btn_cancelClick(Sender: TObject);
procedure btn_okClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
Try_times:integer;//记录用户输入错误次数
public
end;
var
frm_login: Tfrm_login;
implementation
uses DataMU,ClassesU,Control_OperatorU;
{$R *.dfm}
procedure Tfrm_login.btn_cancelClick(Sender: TObject);
begin
Application.Terminate;
end;
procedure Tfrm_login.btn_okClick(Sender: TObject);
var
operator:TOperator;
operatorID:integer;
begin
if (edt_user.Text='') then
begin
MessageBox(Handle, '用户名不能为空', '信息', MB_ICONASTERISK);
exit;
end;
//启动数据库连接
if(not DataM.ADOCon.Connected) then
begin
DataM.ADOCon.ConnectionString:=TXQWYConfig.getConnectionStr;
DataM.ADOCon.Open;
end;
operator:=Toperator.Create;
operator.OperatorName:=edt_user.Text;
operator.pwd:=edt_pwd.Text;
operatorID:=Control_OperatorU.CheckOperator(operator);
//若用户名密码匹配成功
if operatorID<>-1 then
begin
frm_main.userID:=operatorID; //保存当前登录用户的标识
frm_main.Show; //打开程序主窗口
self.Close; //关闭登录窗口
end
else //否则,提示错误,并记录错误次数
begin
MessageBox(Handle, '用户名和密码不对', '小区物业', MB_ICONEXCLAMATION);
inc(Try_times); //用户输入密码次数加1
if Try_times=3 then
begin
MessageBox(Handle, '输入错误超过3次,系统关闭', '小区物业', MB_ICONEXCLAMATION);
frm_main.Close;
end;
end;
end;
procedure Tfrm_login.FormCreate(Sender: TObject);
begin
//初始化记录用户输入错误次数
Try_times:=0;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -