?? login_u.pas
字號:
unit login_u;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, StdCtrls, jpeg, ExtCtrls, Buttons, ADODB;
type
Tlogin = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Image2: TImage;
ADOTable1: TADOTable;
DataSource1: TDataSource;
Label4: TLabel;
Image1: TImage;
ADOConnection1: TADOConnection;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit1Exit(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
login: Tlogin;
userxm_v,userid_v:string;
i:integer;
Const
connstr='Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source=%s;Persist Security Info=False;'+
'Jet OLEDB:Database Password=%s';
implementation
uses sfsb_u, public_u;
{$R *.dfm}
procedure checkpwd;
begin
if i>=3 then
begin
messagedlg('對不起,您輸入超過三次!',mtWarning,[mbok],0);
application.Terminate;
end;
end;
procedure Tlogin.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then edit2.SetFocus;
end;
procedure Tlogin.Edit1Exit(Sender: TObject);
begin
checkpwd;
if (edit1.text<>'') and adotable1.Locate('userid',edit1.Text,[]) then
begin
userxm_v:=adotable1.fieldvalues['xm'];
label3.Caption:=adotable1.FieldValues['xm'];
end
else
begin
if edit1.text<>'' then
begin
i:=i+1;
messagedlg('用戶名錯誤,請重新輸入!',mtWarning,[mbok],0);
edit1.SetFocus;
end;
end;
end;
procedure Tlogin.BitBtn1Click(Sender: TObject);
begin
checkpwd;
adotable1.Locate('userid',edit1.Text,[]);
if (edit2.text<>'') and (trim(adotable1.fieldbyname('password').asstring)=edit2.text) then
begin //密碼正確進入
userid_v:=adotable1.FieldByName('userid').AsString;
login.ModalResult:=mrok; //判斷退出時的狀態信息
login.CloseModal;
login.free;
application.CreateForm(tfrm_sfsb,frm_sfsb);
application.Run;
end
else
begin
if edit2.text<>'' then
begin
i:=i+1;
messagedlg('密碼錯誤,請重新輸入!',mtWarning,[mbok],0);
end;
end;
end;
procedure Tlogin.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then BitBtn1Click(Sender);
end;
procedure Tlogin.FormCreate(Sender: TObject);
var
dbfilename:string;
begin
dbfilename:=extractfilepath(application.ExeName)+'data\sfsb.mdb';
adoconnection1.ConnectionString:=format(connstr,[dbfilename,'tjz929']);
if datasource1.DataSet.State=dsinactive then datasource1.DataSet.Open;
end;
procedure Tlogin.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if self.ModalResult<>mrok then
begin
if Application.MessageBox('請確認是否退出本系統','提示信息',mb_iconquestion+ mb_YesNo)=id_yes then
application.Terminate
else
canclose:=false;
end;
end;
procedure Tlogin.BitBtn2Click(Sender: TObject);
begin
self.Close;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -