程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 利用Dll實現通用密碼驗證框

利用Dll實現通用密碼驗證框

編輯:Delphi



      作者:夏青蟲

---- 在我們編制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下編譯通過。歡迎大家批評指正。

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved