麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 操作系統 > 正文

超級DIY 用注冊表給應用程序加口令

2024-07-26 00:32:01
字體:
來源:轉載
供稿:網友

作者: 王洪海 出處: 天極網

  幾乎每個應用系統都有相應的權限管理功能。對于大型多用戶應用系統,一般是將權限設置保存在數據庫中。但是對于小型的單用戶應用系統和非數據庫應用系統,就沒有必要將權限設置保存在數據庫中,但是用文件來保存既不方便又不安全,因為文件很可能被刪除或毀壞。其實,靈活地利用Windows注冊表的特點,可以很方便地為應用系統設置用戶名和口令,這種方法不但編程簡便,而且安全性比較高。下面舉例說明,該例程在Windows98,Delphi4環境下調試通過。

  設計流程為:先判斷是否為第一次使用,如果為第一次使用,則要求設置新的用戶名和口令,系統將用戶名和口令保存起來;如果不是第一次使用,則要求輸入用戶名和口令才能登錄。

   在Delphi開發環境中,新建一個工程PRoject1,在Project1中增加一個窗體Form1;在Form1上增加兩個按紐,一個為確定,另一個為取消;再在Form1上增加兩個Text框EditUser和EditPass,分別為用戶名和口令輸入框。定義窗體級全局變量RegF:TRegistry。并在interface的Uses中加上Registry。

  增加函數Wsz_IfFirst,判斷是否是第一次使用;增加過程Wsz_SaveUse,保存用戶名和口令;增加函數Wsz_CheckUser,判斷用戶名和口令是否正確。然后在Form1的FormShow事件和確定按紐事件中分別調用這三個函數和過程,達到設計要求。

//判斷是否是第一次使用

function Wsz_IfFirst:Boolean;
var
sUser:string;
sPass:string;
begin
result := false;
RegF:=TRegistry.Create;
RegF.RootKey :=HKEY_LOCAL_MACHINE;
RegF.OpenKey("SOFTWARE/MicroSoft/whh726",TRUE);
sUser := RegF.ReadString("user");
sPass := RegF.ReadString("pass");
if ((length(sUser)$#@60;=0) and (length(sPass)$#@60;=0)) then
result := true ;
RegF.Free;
end;

//判斷用戶名和口令是否正確
function Wsz_CheckUser(MyUser:string;MyPass :string):Boolean;
var
sUser:string;
sPass:string;
begin
result:= false;
RegF:=TRegistry.Create;
RegF.RootKey :=HKEY_LOCAL_MACHINE;
RegF.OpenKey("SOFTWARE/MicroSoft/whh726",TRUE);
sUser := RegF.ReadString("user");
sPass := RegF.ReadString("pass");
if (sUser=MyUser) and (sPass=MyPass) then
result := true;
RegF ee;
end;

//保存用戶名和口令
procedure Wsz_SaveUser(MyUser:string;MyPass :string);
begin
RegF:=TRegistry.Create;
RegF.RootKey :=HKEY_LOCAL_MACHINE;
RegF.OpenKey("SOFTWARE/MicroSoft/whh726",TRUE);
RegF.WriteString("user",MyUser);
RegF.WriteString("pass",MyPass);
RegF.Free;
end;

//取消按紐事件
procedure TWszLoginForm.BitBtnCloseClick(Sender: TObject);
begin
Close;
end;

//確定按紐事件
procedure TWszLoginForm.BitBtnYesClick(Sender: TObject);
var
suser:string;
spass:string;
begin
suser := trim(edituser.text);
spass := trim(editpass.text);
if (length(suser)$#@60;=0) or (length(spass)$#@60;=0) then
begin
application.MessageBox("用戶名和口令都必須輸入!", "系統提示",
MB_OK + MB_ICONINFORMATION);
edituser.SetFocus ;
exit;
end;
if Wsz_IfFirst then
begin

//處理第一次登錄的用戶名和口令
if Application.MessageBox(
"您是第一次使用本軟件,請記住您的用戶名和口令,以便下次登錄?,F在進入系統嗎?",
"系統提示",
MB_OKCANCEL + MB_ICONQUESTION) = IDOK then
begin

//保存
Wsz_SaveUser(suser,spass);
end
else
begin
edituser.SetFocus ;
exit;
end;
end else
begin
if not Wsz_CheckUser(suser,spass) then
begin
Application.MessageBox("對不起,用戶名和口令輸入不正確!",
"系統提示",
MB_OK + MB_ICONINFORMATION);
edituser.setfocus ;
exit;
end;
end;

//全局變量
GB_Wsz_User := suser;
GB_Wsz_PASS := spass;
Close;
end;

//窗體的Show事件
procedure TWszLoginForm.FormShow(Sender: TObject);
begin
if Wsz_IfFirst then
begin
Application.MessageBox(
"您是第一次使用本軟件,您可以隨便輸入用戶名和口令。",
"系統提示",
MB_OK + MB_ICONINFORMATION);
end;
end;


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久人人97超碰国产公开结果 | 色婷婷av一区二区三区久久 | 91真视频 | lutube成人福利在线观看污 | 国产一区免费在线 | 国产亚洲精品久久久久婷婷瑜伽 | 免费黄网站在线播放 | www.狠狠操.com | 毛片网站视频 | 日本成年网 | 欧美激情精品久久久久久久久久 | 国产毛片视频 | 日本精品免费观看 | www.理论片 | 在线天堂中文在线资源网 | 中文欧美日韩 | 91精品免费在线 | 黄色影院| 精品久久久久久久久久久久包黑料 | 亚洲欧美国产高清va在线播放 | 成人福利在线免费观看 | 美国一级免费视频 | 国产精品成人亚洲一区二区 | 国内精品免费一区二区2001 | v天堂在线视频 | 国产一区二区三区精品在线观看 | 看国产一级毛片 | 国产一区二区三区视频免费 | 日韩色视频在线观看 | 黄色的视频免费观看 | 懂色粉嫩av久婷啪 | 97久久精品一区二区三区观看 | 亚洲第一页在线观看 | 国产精品久久久乱弄 | 亚洲无限资源 | 欧美性生活xxxxx | 日韩欧美高清片 | 国产精品一区2区3区 | 国产一级淫片a级aaa | 黄视频网站免费观看 | 圆产精品久久久久久久久久久 |