用注册表给应用程序加口令
2008-04-09 04:42:12来源:互联网 阅读 ()
设计流程为:先判断是否为第一次使用,如果为第一次使用,则要求设置新的用户名和口令,系统将用户名和口令保存起来;如果不是第一次使用,则要求输入用户名和口令才能登录。
在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;
156
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash