📄 ulogin.pas
字号:
unit ULogin;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, BusinessSkinForm, ExtCtrls, bsSkinCtrls, StdCtrls, Mask,
bsSkinBoxCtrls;
type
TfrmLogin = class(TForm)
Image1: TImage;
bsBusinessSkinForm1: TbsBusinessSkinForm;
bsSkinStdLabel1: TbsSkinStdLabel;
bsSkinStdLabel2: TbsSkinStdLabel;
edtpwd: TbsSkinEdit;
btnOk: TbsSkinButton;
btnExit: TbsSkinButton;
cbUser: TbsSkinComboBox;
procedure btnExitClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure btnOkClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmLogin: TfrmLogin;
Count:integer;
implementation
uses upublic,comobj;
{$R *.dfm}
procedure TfrmLogin.btnExitClick(Sender: TObject);
begin
Login:=false;
close;
end;
procedure TfrmLogin.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
frmlogin:=nil;
if not login then application.Terminate;
end;
procedure TfrmLogin.FormCreate(Sender: TObject);
begin
if fileexists(extractfilepath(application.exename)+'yh.mdb') then
begin
//连接数据库字串
connstr:='Provider=Microsoft.Jet.OLEDB.4.0;data Source='+extractfilepath(application.exename)+'yh.mdb';
//建立Connection
conn:=CreateOleObject('ADODB.Connection');
//打开连接
conn.open(connstr);
rs:=CreateOleObject('ADODB.Recordset');
rs.open('select * from tuser order by userid',conn,1,1);
if not rs.eof then
begin
rs.movefirst;
repeat
cbUser.Items.Add(rs.fields.Item['username'].value);
rs.movenext;
until rs.eof;
end;
rs.close;
rs:=unassigned;
end
else
begin
showmessage('找不到数据库文件,程序即将结束');
Login:=false;
close;
end;
end;
procedure TfrmLogin.btnOkClick(Sender: TObject);
begin
if count>=3 then
begin
showmessage('对不起,您无权进入本系统,程序即将结束!');
login:=false;
close;
exit;
end;
rs:=CreateOleObject('ADODB.Recordset');
rs.open('select * from tuser where username='+yinhao+trim(cbuser.Text)+yinhao,conn,1,1);
if not rs.eof then //用户存在,判断密码
begin
UserInfoA.UserID:=rs.fields.Item['UserID'].value;
UserInfoA.UserName:=rs.fields.Item['UserName'].value;
UserInfoA.Password:=rs.fields.Item['pass'].value;
UserInfoA.Level:=rs.fields.Item['Level'].value;
UserInfoA.Gtdm:=rs.fields.Item['Gtdm'].value;
rs.close;
rs:=unassigned;
end
else
begin
UserInfoA.UserID:=0;
UserInfoA.UserName:='';
UserInfoA.Password:='';
UserInfoA.Level:=1000;
UserInfoA.Gtdm:=0;
end;
if UserInfoA.UserName='' then
begin
inc(Count); //错误次数加一
showmessage('此用户不存在,请重新输入!');
cbuser.SetFocus;
exit;
end;
if (UserInfoA.Password<>trim(edtpwd.Text)) and (UserInfoA.UserName=trim(cbuser.text)) then
begin
inc(Count); //错误次数加一
showmessage('密码错误,请重新输入!');
edtpwd.text:='';
edtpwd.SetFocus;
exit;
end;
Login:=true;
close;
end;
procedure TfrmLogin.FormActivate(Sender: TObject);
begin
cbuser.SetFocus;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -