📄 fenmian_unit.pas.bak
字号:
unit Login_Unit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, ADODB, jpeg, Buttons,Registry;
type
TInfor=class(Tobject)
UserName:String;
Password:String;
end;
type
Tlogin_form = class(TForm)
Image1: TImage;
Edit1: TEdit;
Edit2: TEdit;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
{ procedure FormCreate(Sender: TObject); }
procedure Image5MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image4Click(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image2Click(Sender: TObject);
procedure Image3Click(Sender: TObject);
private
LogCount:Integer;
procedure GetUsers;
{ Private declarations }
public
class function ShowMe:boolean;
{ Public declarations }
end;
var
login_form: Tlogin_form;
LogTimes: Integer;
UserType: String;
ExeRoot: String;
DataFile: String;
UserName: String;
implementation
uses fenmian_unit;
{$R *.dfm}
procedure Tlogin_form.Image5MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
{关闭程序}
application.Terminate;
end;
procedure Tlogin_form.Image4Click(Sender: TObject);
var
ADOQuery1: TADOQuery;
begin
{数据库操作:判断用户和密码是否正确}
if (edit1.Text<>'') and (edit2.Text<>'') then
begin
ChDir(ExtractFilePath(Application.ExeName));
ChDir('..');
ExeRoot := GetCurrentDir;
{DataFile := GetCurrentDir+'\mdb\jxc.mdb'; }
DataFile := 'd:\众星大超市\mdb\jxc.mdb';
ADOQuery1:= TADOQuery.Create(self);
ADOQuery1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DataFile+';Persist Security Info=False;';
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from t_user where user_name="'+edit2.Text+'" and user_pass="'+edit1.Text+'" ');
ADOQuery1.Open;
if ADOQuery1.Eof then
begin
LogTimes := LogTimes+1;
if messagebox(handle,'您填写的用户或密码有错误!是否重新输入?','出错提示',mb_iconinformation+mb_okcancel)=IDcancel then application.Terminate;
if LogTimes>=3 then
begin
messagebox(handle,'对不起,登录次数超过3次,程序自动关闭!','非法登录',MB_ICONWARNING+mb_ok);
application.Terminate;
end;
end
else
begin
{用户和密码正确,登录成功}
UserType := ADOQuery1.FieldByName('user_type').AsString;
UserName := ADOQuery1.FieldByName('user_name').AsString;
LogTimes := 0;
ADOQuery1.Free;
login_form.Hide;
{ key=vk_return ; }
fenmian_form:=Tfenmian_form.create(Self);
fenmian_form.show;
end;
end
else
messagebox(handle,'您没有填写用户和密码!','出错提示',mb_iconinformation+mb_ok)
end;
procedure Tlogin_form.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then Edit1.SetFocus;
end;
procedure Tlogin_form.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then Image4Click(self);
end;
procedure Tlogin_form.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if (ssleft in shift) then
begin
releasecapture;
perform(wm_syscommand, $f012, 0);
end;
end;
procedure Tlogin_form.Image2Click(Sender: TObject);
begin
{关闭程序}
application.Terminate;
end;
procedure Tlogin_form.Image3Click(Sender: TObject);
begin
{最小化}
application.Minimize;
end;
procedure TLogin_Form.GetUsers;
var
reg:TRegistry;
VNames:TStrings;
Infor:TInfor;
i:integer;
begin
reg:=TRegistry.Create;
VNames:=TStringList.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('Software\FLy\Login',True);
Reg.GetValueNames(VNames);
if VNames.Count<=0 then
begin
Infor:=TInfor.Create;
Reg.WriteString('管理员','www');
Infor.UserName:='管理员';
Infor.Password:='www';
end
else
begin
for i:=0 to VNames.Count -1 do
begin
Infor:=TInfor.Create;
infor.UserName:=Vnames.Strings[i];
infor.password:=Reg.ReadString(VNames.Strings[i]);
end;
end;
reg.CloseKey;
reg.Free;
end;
class function TLogin_Form.ShowMe: boolean;
begin
try
Login_Form:=TLogin_Form.Create(Application);
Login_Form.ShowModal;
if Login_FOrm.ModalResult=mrOk then
Result:=True
else
Result:=false;
finally
Login_Form.Free;
login_form:=nil;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -