六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

首頁 > 電腦資訊 > 電腦知識

運用注冊表給系統應用程序加口令

作者:佚名   來源:本站   時間:2018-07-18  點擊:102次

    幾乎每個應用系統都有相應的權限管理功能。對于大型多用戶應用系統,一般是將權限設置保存在數據庫中。但是對于小型的單用戶應用系統和非數據庫應用系統,就沒有必要將權限設置保存在數據庫中,但是用文件來保存既不方便又不安全,因為文件很可能被刪除或毀壞。其實,靈活地利用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)<=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("SOFTWARE\MicroSoft\whh726",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("SOFTWARE\MicroSoft\whh726",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("用戶名和口令都必須輸入!",

    "系統提示",

   MB_OK + MB_ICONINFORMATION);

   edituser.SetFocus ;

  exit;

   end;

   if Wsz_IfFirst then

   begin

  file://處理第一次登錄的用戶名和口令

  if Application.MessageBox(

   "您是第一次使用本軟件,請記住您的用戶名和口令,

   以便下次登錄。現在進入系統嗎?",

   "系統提示",

   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

   ("對不起,用戶名和口令輸入不正確!", "系統提示",

  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(

  "您是第一次使用本軟件,您可以隨便輸入用戶名和口令。",

  "系統提示",

  MB_OK + MB_ICONINFORMATION);

  end;

    end;

推薦游戲

換一換
主站蜘蛛池模板: 日本一区二区三 | 亚洲婷婷在线 | 五月婷激情 | 伊人五月在线 | 色亚洲视频 | 日本免费在线一区 | 天天射天天舔 | 日本红怡院亚洲红怡院最新 | 在线免费黄 | 欧美一级黄色录相 | 日本免费一区二区三区看片 | 青娱乐自拍 | 欧美一区综合 | 日本精品a在线观看 | 情侣国产在线 | 在线视频国产一区 | 日本一本在线视频 | 日韩三级在线观看 | 色接久久 | 泰剧不期而爱第三季免费全集观看 | 日本中文字幕第一页 | 欧美在线观看不卡 | 天天色天天操天天 | 亚洲国产欧洲精品路线久久 | 色偷偷亚洲女人天堂观看欧 | 日韩中文在线观看 | 五月婷婷激情综合网 | 天堂在线网站 | 中文字幕亚洲一区二区v@在线 | 色视频一区二区三区 | 青草视频网址 | 亚洲色欲色欲www在线观看 | 午夜免费啪啪 | 婷婷免费在线 | 婷婷五月在线视频 | 一级做a爰片久久毛片免费看 | 中日韩视频在线看免费观看 | 亚洲va久久久噜噜噜久久 | 五月天婷婷在线视频国产在线 | 片免费观看网站视频 | 青青草黄 |