首页 | 源码下载 | 编程控件 | 书籍教程 | 应用方案 | 设计素材 | 项目交易 | 开发文档 | 商业源码 | 我的帐号
登陆我的帐号
帐 号:
密 码:
我还不是会员,需要注册!

截止2004年12月16日
本站源码总量(商业源码除外)RAR压缩为 4,206,733 KB。其中免费源码为 1,124,495 KB,会员源码为 3,082,238 KB
C/C++ 129,555 KB
Delphi 1,258,381 KB
Java 120,937 KB
.Net 36,886 KB
PowerBuilder 954,525 KB
Visual Basic 923,454 KB
ASP 259,795 KB
JSP 4,987 KB
其他 94,723 KB

本站是中国频道、中资源、时代互联顶级代理:注册国际域名70元,国内域名130元,各类ASP、PHP、JSP空间8折优惠!
本站承担各类网站制作开发及方案策划,项目经验丰富,欢迎洽谈!

网站动态
关于下载速度慢的问题解答
想免费下载源码吗?
还有众多资源恭候大家免费…
道歉!
关于资源更新的说明
关于下载错误的原因!
源码资源网新版网站投入运…

当前位置:源码资源网首页 > 开发文档首页 > Delphi >用注册表给应用程序加口令

用注册表给应用程序加口令
人气:2 文字大小:     作者:

几乎每个应用系统都有相应的权限管理功能。对于大型多用户应用系统,一般是将权限设置保存在数据库中。但是对于小型的单用户应用系统和非数据库应用系统,就没有必要将权限设置保存在数据库中,但是用文件来保存既不方便又不安全,因为文件很可能被删除或毁坏。其实,灵活地利用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;


//判断用户名和口令是否正确
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;


//保存用户名和口令
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)<=0) or  length spass)<=0) then
begin
Application.MessageBox "用户名和口令都必须输入!", "系统提示",
MB_OK + MB_ICONINFORMATION);
edituser.SetFocus ;
exit;
end;
if Wsz_IfFirst then
begin


//处理第一次登录的用户名和口令
if Application.MessageBox 
"您是第一次使用本软件,请记住您的用户名和口令,以便下次登录。现在进入系统吗?",
"系统提示",
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;

 

文章出处:   发表时间:2004-12-23 18:15:29

1条数据记录,分1页显示 上一页 < [1] > 下一页
相关文章  
没有找到相关的数据!

相关评论  
 当前没有评论!
请登陆后再来发表评论!
当前位置:源码资源网首页 > 开发文档首页 > 用注册表给应用程序加口令
会员升级 | 广告服务 | 网站开发 | 联系我们 | 网站动态 | 客户反馈

CodeRes.com 保留所有权利 2004
本站所有资源仅供学习参考,版权归原作者所有,如侵犯了您的权益请与我们联系