用注冊(cè)表給應(yīng)用程序加口令
作者:佚名 來源:本站 時(shí)間:2018-07-24 點(diǎn)擊:100次
幾乎每個(gè)應(yīng)用系統(tǒng)都有相應(yīng)的權(quán)限管理功能。對(duì)于大型多用戶應(yīng)用系統(tǒng),一般是將權(quán)限設(shè)置保存在數(shù)據(jù)庫中。但是對(duì)于小型的單用戶應(yīng)用系統(tǒng)和非數(shù)據(jù)庫應(yīng)用系統(tǒng),就沒有必要將權(quán)限設(shè)置保存在數(shù)據(jù)庫中,但是用文件來保存既不方便又不安全,因?yàn)槲募芸赡鼙粍h除或毀壞。其實(shí),靈活地利用Windows注冊(cè)表的特點(diǎn),可以很方便地為應(yīng)用系統(tǒng)設(shè)置用戶名和口令,這種方法不但編程簡便,而且安全性比較高。下面舉例說明,該例程在Windows98,Delphi4環(huán)境下調(diào)試通過。
設(shè)計(jì)流程為:先判斷是否為第一次使用,如果為第一次使用,則要求設(shè)置新的用戶名和口令,系統(tǒng)將用戶名和口令保存起來;如果不是第一次使用,則要求輸入用戶名和口令才能登錄。
在Delphi開發(fā)環(huán)境中,新建一個(gè)工程Project1,在Project1中增加一個(gè)窗體Form1;在Form1上增加兩個(gè)按紐,一個(gè)為確定,另一個(gè)為取消;再在Form1上增加兩個(gè)Text框EditUser和EditPass,分別為用戶名和口令輸入框。定義窗體級(jí)全局變量RegF:TRegistry。并在interface的Uses中加上Registry。
增加函數(shù)Wsz_IfFirst,判斷是否是第一次使用;增加過程Wsz_SaveUse,保存用戶名和口令;增加函數(shù)Wsz_CheckUser,判斷用戶名和口令是否正確。然后在Form1的FormShow事件和確定按紐事件中分別調(diào)用這三個(gè)函數(shù)和過程,達(dá)到設(shè)計(jì)要求。
//判斷是否是第一次使用
function Wsz_IfFirst:Boolean;
var
sUser:string;
sPass:string;
begin
result := false;
RegF:=TRegistry.Create;
RegF.RootKey :=HKEY_LOCAL_MACHINE;
RegF.OpenKey("SOFTWAREMicroSoftwhh726",TRUE);
sUser := RegF.ReadString("user");
sPass := RegF.ReadString("pass");
if ((length(sUser)<=0) and (length(sPass)<=0)) then
result := true ;
RegF.Free;
end;
file://判斷用戶名和口令是否正確
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("SOFTWAREMicroSoftwhh726",TRUE);
sUser := RegF.ReadString("user");
sPass := RegF.ReadString("pass");
if (sUser=MyUser) and (sPass=MyPass) then
result := true;
RegF.Free;
end;
file://保存用戶名和口令
procedure Wsz_SaveUser(MyUser:string;MyPass :string);
begin
RegF:=TRegistry.Create;
RegF.RootKey :=HKEY_LOCAL_MACHINE;
RegF.OpenKey("SOFTWAREMicroSoftwhh726",TRUE);
RegF.WriteString("user",MyUser);
RegF.WriteString("pass",MyPass);
RegF.Free;
end;
file://取消按紐事件
procedure TWszLoginForm.BitBtnCloseClick(Sender: TObject);
begin
Close;
end;
file://確定按紐事件
procedure TWszLoginForm.BitBtnYesClick(Sender: TObject);
var
suser:string;
spass:string;
begin
suser := trim(edituser.text);
spass := trim(editpass.text);
if (length(suser)<=0) or (length(spass)<=0) then
begin
Application.MessageBox("用戶名和口令都必須輸入!",
"系統(tǒng)提示",
MB_OK + MB_ICONINFORMATION);
edituser.SetFocus ;
exit;
end;
if Wsz_IfFirst then
begin
file://處理第一次登錄的用戶名和口令
if Application.MessageBox(
"您是第一次使用本軟件,請(qǐng)記住您的用戶名和口令,
以便下次登錄,F(xiàn)在進(jìn)入系統(tǒng)嗎?",
"系統(tǒng)提示",
MB_OKCANCEL + MB_ICONQUESTION) = IDOK then
begin
file://保存
Wsz_SaveUser(suser,spass);
end
else
begin
edituser.SetFocus ;
exit;
end;
end else
begin
if not Wsz_CheckUser(suser,spass) then
begin
Application.MessageBox
("對(duì)不起,用戶名和口令輸入不正確!", "系統(tǒng)提示",
MB_OK + MB_ICONINFORMATION);
edituser.setfocus ;
exit;
end;
end;
file://全局變量
GB_Wsz_User := suser;
GB_Wsz_PASS := spass;
Close;
end;
file://窗體的Show事件
procedure TWszLoginForm.FormShow(Sender: TObject);
begin
if Wsz_IfFirst then
begin
Application.MessageBox(
"您是第一次使用本軟件,您可以隨便輸入用戶名和口令。",
"系統(tǒng)提示",
MB_OK + MB_ICONINFORMATION);
end;
end;
- 上一篇: 二六條小技巧助你圓滿釋放C盤空間
- 下一篇: windows系統(tǒng)下右鍵沒有新建文本文檔的處
相關(guān)閱讀
更多資訊
- 系統(tǒng)垃圾清理批處理代碼
- 使鼠標(biāo)放到任務(wù)欄右邊的日期欄時(shí)怎樣顯示星期
- 二種迅速關(guān)機(jī)辦法
- 一百四十個(gè)電腦技巧
- 跟我學(xué)在電腦右下角時(shí)間處顯示自己名字
- 7個(gè)節(jié)省設(shè)置時(shí)間的電腦小技巧
- 磁盤碎片迅速整理辦法
- 小技巧刪除快捷方式圖標(biāo)上的箭頭
- 用批處理方式刪除刪不了的文件
- 掌握快捷鍵,跟我學(xué)成為電腦高手
- 更改MAC地址,給網(wǎng)卡辦新“身份證”
- 繞過管理系統(tǒng)讓你在網(wǎng)吧上網(wǎng)不花錢
- 巧辦法找到誤刪除文件
- 五個(gè)辦法關(guān)閉優(yōu)盤自動(dòng)播放技巧
- 怎么設(shè)置更好的語音效果
- 用鍵盤彈奏鋼琴曲
- 用電視卡啟動(dòng)
- 在桌面上設(shè)置隱秘文件夾
- 雙擊無法打開盤符及文件夾的原因及處理辦法
- 應(yīng)付刪除不掉的文件的五個(gè)辦法
熱門文章
推薦游戲
換一換- 因?yàn)樘峦此匀c(diǎn)防御力手游下載v1.0
- Weapon Masters RPG安卓版-武器大師RPG手游免費(fèi)下載v1.1.1中文版
- 粉碎城市模擬器最新破解版-粉碎城市模擬器破解版游戲下載v1.0破解版
- 英雄戰(zhàn)記手游下載v1.0.11
- 女皇萬歲游戲免費(fèi)下載-女皇萬歲破下載v3.0
- 部落沖突360最新版下載安裝-部落沖突360最新版本下載v14.405.16
- 三國志威力無雙抖音版-三國志威力無雙抖音廣告版下載v2.1.0抖音渠道服
- 相公我還要至尊版(暫未上線)-相公我還要公益服v1.0.0
- 靈魂潮汐騰訊版-靈魂潮汐qq登錄版下載v0.40.1應(yīng)用寶服
最新文章
- 人氣排行