unit login;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,db,dbtables, ExtCtrls;type
Tflogin = class(TForm)
lnbox: TComboBox;
lgok: TButton;
lgcan: TButton;
pwedit: TEdit;
Label1: TLabel;
Label2: TLabel;
procedure FormShow(Sender: TObject);
procedure lgokClick(Sender: TObject);
procedure lgcanClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure lnboxKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure lnboxKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;var
flogin: Tflogin;implementation
uses datauit,pre,pubuit;
var lgtime :integer;{$R *.DFM}procedure Tflogin.FormShow(Sender: TObject);
begin
SetBGImage(self); fpre.hide;
addtocombox(lnbox,fmaindata.pwtable,0);
lgtime := 1;
pwedit.Text :='********';
lnbox.SetFocus;
end;procedure Tflogin.lgokClick(Sender: TObject);
var lgpw:string;
lgfound:boolean;
lgtype:integer;
begin
if lnbox.Text = '' then
begin
application.messagebox(pchar('请选择登录姓名!'),pchar('错误'),mb_ok);
exit;
end; lgpw :=pwedit.text; with fmaindata.pwtable do
begin
open;
locate ('使用者',lnbox.Text,[locaseinsensitive]); lgtype := fieldbyname('权限级别').asinteger; if fieldbyname('密码').asstring = lgpw then
lgfound := true
else
lgfound := false;
end; with fmaindata.sgntable do
begin
open;
filtered:=false;
append;
fieldbyname('登录日期').asdatetime := date;
lindate :=date ;
fieldbyname('进入时间').asdatetime := time;
lintime := time ;
fieldbyname('使用者').asstring := lnbox.text;
fieldbyname('密码').asstring := lgpw; if lgfound then
begin
fieldbyname('登录结果').asinteger := 1;
post;
username := lnbox.text;
usergroup := lgtype;
modalresult := mrok;
exit;
end
else
begin
fieldbyname('登录结果').asinteger := 0;
post;
end;
end; lgtime := lgtime + 1;
if lgtime < 4 then
begin
application.messagebox(pchar('密码错误,请重新输入!'),pchar('错误'),mb_ok);
pwedit.Text :='********';
pwedit.SetFocus ;
exit;
end
else
flogin.Close;
end;procedure Tflogin.lgcanClick(Sender: TObject);
begin
flogin.Close;
end;procedure Tflogin.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action := cafree;
end;procedure Tflogin.lnboxKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 13 then abort;
end;procedure Tflogin.lnboxKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
SelectNext((sender as TWinControl), true, true);
key := #0;
end;
end;end.
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,db,dbtables, ExtCtrls;type
Tflogin = class(TForm)
lnbox: TComboBox;
lgok: TButton;
lgcan: TButton;
pwedit: TEdit;
Label1: TLabel;
Label2: TLabel;
procedure FormShow(Sender: TObject);
procedure lgokClick(Sender: TObject);
procedure lgcanClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure lnboxKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure lnboxKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;var
flogin: Tflogin;implementation
uses datauit,pre,pubuit;
var lgtime :integer;{$R *.DFM}procedure Tflogin.FormShow(Sender: TObject);
begin
SetBGImage(self); fpre.hide;
addtocombox(lnbox,fmaindata.pwtable,0);
lgtime := 1;
pwedit.Text :='********';
lnbox.SetFocus;
end;procedure Tflogin.lgokClick(Sender: TObject);
var lgpw:string;
lgfound:boolean;
lgtype:integer;
begin
if lnbox.Text = '' then
begin
application.messagebox(pchar('请选择登录姓名!'),pchar('错误'),mb_ok);
exit;
end; lgpw :=pwedit.text; with fmaindata.pwtable do
begin
open;
locate ('使用者',lnbox.Text,[locaseinsensitive]); lgtype := fieldbyname('权限级别').asinteger; if fieldbyname('密码').asstring = lgpw then
lgfound := true
else
lgfound := false;
end; with fmaindata.sgntable do
begin
open;
filtered:=false;
append;
fieldbyname('登录日期').asdatetime := date;
lindate :=date ;
fieldbyname('进入时间').asdatetime := time;
lintime := time ;
fieldbyname('使用者').asstring := lnbox.text;
fieldbyname('密码').asstring := lgpw; if lgfound then
begin
fieldbyname('登录结果').asinteger := 1;
post;
username := lnbox.text;
usergroup := lgtype;
modalresult := mrok;
exit;
end
else
begin
fieldbyname('登录结果').asinteger := 0;
post;
end;
end; lgtime := lgtime + 1;
if lgtime < 4 then
begin
application.messagebox(pchar('密码错误,请重新输入!'),pchar('错误'),mb_ok);
pwedit.Text :='********';
pwedit.SetFocus ;
exit;
end
else
flogin.Close;
end;procedure Tflogin.lgcanClick(Sender: TObject);
begin
flogin.Close;
end;procedure Tflogin.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action := cafree;
end;procedure Tflogin.lnboxKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 13 then abort;
end;procedure Tflogin.lnboxKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
SelectNext((sender as TWinControl), true, true);
key := #0;
end;
end;end.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货