?? login.~pas
字號:
unit Login;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls, Buttons;
type
TfrmLogin = class(TForm)
Image1: TImage;
Label1: TLabel;
edtUserId: TEdit;
edtPassword: TEdit;
bbtnOK: TBitBtn;
bbtnCancle: TBitBtn;
Label2: TLabel;
procedure bbtnOKClick(Sender: TObject);
procedure bbtnCancleClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmLogin: TfrmLogin;
function gfunOpenLogin(var sUserID :string; nStatus :integer) :integer;
implementation
uses DataModual,SportMain;
var
usUserID :string; //接收用戶標識
unStatus :integer; //與nStatus含義一樣
unTimes :integer; // 計算用戶登錄次數
{$R *.dfm}
//登錄表單提供出來的接口函數
function gfunOpenLogin(var sUserID :string; nStatus :integer) :integer;
begin
frmLogin :=TfrmLogin.Create(nil); //動態創建登錄表單對象
unStatus :=nStatus; //將調用者參數送入unStatus變量中
unTimes :=1; //初始登錄數字設為1
frmLogin.ShowModal; //顯示登錄界面
sUserID :=usUserID; //將登錄界面的用戶標識返回給調用者
Result :=0; //函數返回0值
frmLogin.Free; //釋放登錄表單對象
end;
procedure TfrmLogin.bbtnOKClick(Sender: TObject);
var
sPassword :string;
sConn :string;
begin
sPassword :=trim(edtPassword.Text);
usUserID :=trim(edtUserID.Text);
if usUserID = '' then
begin
application.MessageBox('沒有輸入用戶標識','提示',mb_ok) ;
edtUserID.SetFocus ;
exit;
end;
sConn := 'Provider=OraOLEDB.Oracle.1;Password='+sPassword+
'; Persist Security Info=True;User ID='+usUserID+';Data Source=demo';
if DataModule1.connOracle.Connected then
DataModule1.connOracle.Close;
DataModule1.connOracle.ConnectionString := sConn;
DataModule1.connOracle.LoginPrompt := False;
try
DataModule1.connOracle.Open; //建立數據庫的連接
close; //關閉登錄界面
SportMain.frmSportMain.Show ; //顯示主界面
except
application.MessageBox('輸入用戶標識或口令有錯','提示',mb_ok);
unTimes := unTimes+1;
if unTimes >3 then
begin
application.MessageBox('您已經試圖登錄三次不成功,退出系統','提示',mb_ok);
application.Terminate ;
end
else
edtUserID.SetFocus ;
end;
end;
//取消登錄系統
procedure TfrmLogin.bbtnCancleClick(Sender: TObject);
begin
if unStatus = 0 then //初次取消退出整個應用程序
begin
if DataModule1.connOracle.Connected then
DataModule1.connOracle.Close;
application.Terminate ;
end
else //重新登錄后取消本次登錄
close;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -