📄 unit1.pas
字号:
//用户登录
//denglu
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DB, ADODB, jpeg, ExtCtrls;
type
Tdenglu = class(TForm)
Image1: TImage;
ADODataSet1: TADODataSet;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
usename,password:string;
qx1,qx2,qx3,qx4{,qx5}:boolean;
{ Public declarations }
end;
var
denglu: Tdenglu;
i:integer;
implementation
uses Unit2, Unit4, Unit14;
{$R *.dfm}
procedure Tdenglu.FormCreate(Sender: TObject);
begin
i:=0;
edit1.Enabled:=true;//将用户名文本框设为可用
edit2.Enabled:=true;//将密码文本框设为可用
edit1.Color:=clwindow;// 用户名文本框变白
edit2.color:=clwindow;//密码文本框变白
BitBtn1.Enabled :=true;//登录按钮变为可用
end;
procedure Tdenglu.BitBtn1Click(Sender: TObject);
begin
if edit1.text=''then //判断用户名及密码是否为空,如果为空则显示提示信息
begin
Application.MessageBox('请输入用户名!','提示信息',mb_OK);//用户名及密码不为空
edit1.SetFocus;
exit;
end;
if edit2.text='' then
begin
Application.MessageBox('请输入密码!','提示信息',mb_OK);//用户名及密码不为空
edit2.SetFocus;
exit;
end;
AdoDataSet1.Active:=true;
adodataset1.First;
while not adodataset1.Eof do
begin
if (trim(adodataset1.FieldByName('操作员名').AsString)=edit1.text) then
begin
if (trim(AdoDataSet1.FieldByName('密码').AsString)=edit2.Text) then//当用户名存在时,判断用户的密码是否正确
begin//密码正确
usename:=edit1.Text;
password:=edit2.Text;
qx1:=AdoDataSet1.FieldByName('权限一').Asboolean;
qx2:=AdoDataSet1.FieldByName('权限二').Asboolean;
qx3:=AdoDataSet1.FieldByName('权限三').Asboolean;
qx4:=AdoDataSet1.FieldByName('权限四').Asboolean;
//qx5:=AdoDataSet1.FieldByName('权限五').Asboolean;
mindyparadise.mqx1:=qx1;
mindyparadise.mqx2:=qx2;
mindyparadise.mqx3:=qx3;
mindyparadise.mqx4:=qx4;
//mindyparadise.mqx5:=qx5;
changepassword.edit1.text:=usename;
AdoDataSet1.Active:=false;
adodataset1.Close;
edit1.SetFocus;
edit2.Text:='';
edit2.text:=''; //将密码文本框设为空
denglu.Hide;//关闭登录窗体
mindyparadise.show;//显示客房管理系统主窗体
exit;
end
else
begin
if i<2 then //判断还有几次输入机会,共三次
begin
Application.MessageBox('您输入的密码错误,请重新输入!','提示信息',mb_ok);
edit2.text:='';//将密码文本框设为空,重新输入
edit2.SetFocus ;
i:=i+1;
exit; //输入密码次数加1
end
else //已无重新输入密码的机会
begin
messagedlg('您已无重新输入密码的机会,请退出本系统!',mtwarning,[mbok],0);
adodataset1.Close;
edit1.text:=''; //将用户名文本框设为空
edit2.text:=''; //将密码文本框设为空
edit1.Enabled:=false;//将用户名文本框设为不可用
edit2.Enabled:=false;//将密码文本框设为不可用
edit1.Color:=clsilver;// 用户名文本框变灰
edit2.color:=clsilver;//密码文本框变灰
BitBtn1.Enabled :=false;//登录按钮变为不可用
exit;
end;
end;
end
else
adodataset1.Next ;
end;
if adodataset1.Eof then
begin
Application.MessageBox('此用户不存在,请退出本系统!','警告',mb_ok);
edit1.SetFocus;
edit1.Text:=''; //将用户名文本框设为空
edit2.Text:=''; //将密码文本框设为空
end;
end;
procedure Tdenglu.BitBtn2Click(Sender: TObject);
begin
adodataset1.Close;
edit1.Text:='';
edit2.Text:='';
close;
end;
procedure Tdenglu.FormShow(Sender: TObject);
begin
cancelrptform.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -