中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Delphi > 控件开发
利用Dll实现通用密码验证框
作者:ghj1976 时间:2001-10-27 10:34 出处:互联网 责编:chinaitpower
              摘要:利用Dll实现通用密码验证框



      作者:夏青虫

---- 在我们编制Delphi应用程序,常常需要提供一个密码验证框,对应用程序的使用者进行身份核对。

如果能有一个通用的密码验证框,便能够为我们的工作节约不少的时间,更能使我们编制的程序小而快。



      



以下的程序为你提供了这样的一个DLL文件。 

//文件名为CheckPasswordForm.dpr;
编译此文件生成CheckPasswordForm.dll
    library CheckPasswordForm;

    uses
      XcqCheck in 'XcqCheck.pas' {XcqForm};

    exports
      CheckPassword name 'CheckPassword';//dll入口

    begin
    end.


    //文件名为XcqCheck.pas
    unit XcqCheck;

    interface

    uses
      Windows, Messages, SysUtils, Classes,
 Graphics, Controls, Forms, Dialogs,
      StdCtrls, Mask, Menus;

    type
      TXcqForm = class(TForm)
      XcqEdit: TMaskEdit;//密码输入框
      OkBtn: TButton;
      procedure OkBtnClick(Sender: TObject);
    end;

    var
      XcqForm: TXcqForm;
      Check: Boolean;//验证输入密码的正确性
      function CheckPassword: Boolean;export;
//本dll文件的关键实现

    implementation

    {$R *.DFM}

    procedure TXcqForm.OkBtnClick(Sender: TObject);
    begin
      if XcqEdit.Text = 'xcq' then
        Check := True;
      Close;
    end;

    function CheckPassword;export;
    begin
      Check := False;
      XcqForm := TXcqForm.Create(Application);
//创建密码输入框
      XcqForm.ShowModal;//显示密码输入框; 
注意:不能用XcqForm.Show!
Result := Check;//返回给调用本dll的应用程序判断
XcqForm.Free;//释放本dll文件所占资源
    end;
    end.
---- 在调用以上dll中CheckPassword函数的应用程序中只需加入以下语句在implementation 后,

function CheckPassword: Boolean; external 'CheckPasswordForm.dll' name 'CheckPassword';在需

要进行密码验证的地方加入下面的条件语句就完全实现了密码验证的功能。 
    if CheckPassword then 
    begin
      ...//如XcqQuery.Open;
    end;
---- 上面的程序只是一个简单的密码验证框,我们可以将密码以写入注册表或文件的方式保存,动态修

改,更可以利用算术算法对密码进行简单的加密等,使要保密的数据更安全。 
---- 其实,上文中如何在dll中实现窗口让我走了不少弯路,我觉得此法对大家更有意义,这是避免程序

庞大的一种有效方法,不妨试试。 

---- 以上程序在Windows98/Delphi3下编译通过。欢迎大家批评指正。

 

 

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有