📄 login.pas
字号:
unit Login;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, ExtCtrls, SkinCaption, WinSkinData;
type
TFrm_Login = class(TForm)
Label1: TLabel;
Label2: TLabel;
Bevel1: TBevel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
ADOQuery1: TADOQuery;
SkinData1: TSkinData;
SkinCaption1: TSkinCaption;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
private
num:integer;
function password(Str:string):string;
{ Private declarations }
public
sucess:boolean;
quanxian:string;
{ Public declarations }
end;
var
Frm_Login: TFrm_Login;
implementation
uses main, DM;
Function Tfrm_login.password(Str:String):string;
var
s:string;
i,len,m,sum:integer;
begin
sum:=1314;
len:=length(str);
for i:=1 to len do
begin
s:=copy(str,i,1);
m:=strtoint(s);
sum:=m xor sum;
end;
result:=inttohex(sum,8);
end;
{$R *.dfm}
procedure TFrm_Login.FormCreate(Sender: TObject);
begin
sucess:=false;
num:=0;
end;
procedure TFrm_Login.Button1Click(Sender: TObject);
var
Dh,Mm:String;
Count:Integer;
connstr:string;
Str,pass:string;
begin
Dh:=Trim(Edit1.Text);
Mm:=Trim(Edit2.Text);
Str:='1224';
pass:=password(str);
Connstr:='Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source='+ExtractFilePath(Application.ExeName)+'\date\db1.mdb;'+
'Persist Security Info=False;'+
'Jet OLEDB:Database Password="'+pass+'"';// 加入密码
adoquery1.ConnectionString:=connstr;
with ADOQuery1 do
begin
Close;
SQL.Clear;
sql.add('select * from 用户 where 用户代号=:a and 用户密码=:b');
parameters.ParamByName('a').Value:=Trim(Edit1.Text);
parameters.ParamByName('b').Value:=Trim(Edit2.Text);
// SQL.Add('Select * From 用户 Where 用户代号="'+Trim(Edit1.Text)+'" and 用户密码="'+Trim(Edit2.Text)+'"');
Open;
end;
Count:=adoquery1.RecordCount;
if Count>0 then
begin
// Sucess:=True;
// self.close;
quanxian:=ADOQuery1.fieldbyname('用户权限').AsString;
Frm_main:=TFrm_main.Create(Application);
Frm_main.Update;
Frm_main.ShowModal;
frm_login.Free;
end
else if Count<=0 then
begin
Num:=Num+1;
MessageBox(Handle,'用户名或密码错误,登陆失败!','错误',MB_OK+MB_ICONERROR);
if Num>=5 then
begin
MessageBox(Handle,'多次登陆失败,程序自动退出!','错误',MB_OK+MB_ICONSTOP);
Close;
end;
end;
end;
procedure TFrm_Login.Button2Click(Sender: TObject);
begin
close;
end;
procedure TFrm_Login.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
edit2.SetFocus;
end;
procedure TFrm_Login.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
button1.SetFocus;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -