使用DLL完成通用密碼驗證框
發(fā)表時間:2024-06-17 來源:明輝站整理相關軟件相關文章人氣:
[摘要]---- 在我們編制Delphi應用程序,常常需要提供一個密碼驗證框,對應用程序的使用者進行身份核對。如果能有一個通用的密碼驗證框,便能夠為我們的工作節(jié)約不少的時間,更能使我們編制的程序小而快。以下的程序為你提供了這樣的一個DLL文件。 //文件名為CheckPasswordForm.dpr; ...
---- 在我們編制Delphi應用程序,常常需要提供一個密碼驗證框,對應用程序的使用者進行身份核對。如果能有一個通用的密碼驗證框,便能夠為我們的工作節(jié)約不少的時間,更能使我們編制的程序小而快。以下的程序為你提供了這樣的一個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文件的關鍵實現(xiàn)
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);
//創(chuàng)建密碼輸入框
XcqForm.ShowModal;//顯示密碼輸入框;
注意:不能用XcqForm.Show!
Result := Check;//返回給調(diào)用本dll的應用程序判斷
XcqForm.Free;//釋放本dll文件所占資源
end;
end.
---- 在調(diào)用以上dll中CheckPassword函數(shù)的應用程序中只需加入以下語句在implementation 后,function CheckPassword: Boolean; external 'CheckPasswordForm.dll' name 'CheckPassword';在需要進行密碼驗證的地方加入下面的條件語句就完全實現(xiàn)了密碼驗證的功能。
if CheckPassword then
begin
...//如XcqQuery.Open;
end;
---- 上面的程序只是一個簡單的密碼驗證框,我們可以將密碼以寫入注冊表或文件的方式保存,動態(tài)修改,更可以利用算術算法對密碼進行簡單的加密等,使要保密的數(shù)據(jù)更安全。
---- 其實,上文中如何在dll中實現(xiàn)窗口讓我走了不少彎路,我覺得此法對大家更有意義,這是避免程序龐大的一種有效方法,不妨試試。