在我们编制Delphi应用程序常常需要提供一个密码验证框对应用程序的使用者进行身份核对如果能有一个通用的密码验证框便能够为我们的工作节约不少的时间更能使我们编制的程序小而快以下的程序为你提供了这样的一个DLL文件 //文件名为CheckPasswordFormdpr; 编译此文件生成CheckPasswordFormdll library CheckPasswordForm; uses XcqCheck in XcqCheckpas {XcqForm}; exports CheckPassword name CheckPassword;//dll入口 begin end //文件名为XcqCheckpas 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 TXcqFormOkBtnClick(Sender: TObject); begin if XcqEditText = xcq then Check := True; Close; end; function CheckPassword;export; begin Check := False; XcqForm := TXcqFormCreate(Application); //创建密码输入框 XcqFormShowModal;//显示密码输入框; 注意不能用XcqFormShow! Result := Check;//返回给调用本dll的应用程序判断 XcqFormFree;//释放本dll文件所占资源 end; end 在调用以上dll中CheckPassword函数的应用程序中只需加入以下语句在implementation 后function CheckPassword: Boolean; external CheckPasswordFormdll name CheckPassword;在需要进行密码验证的地方加入下面的条件语句就完全实现了密码验证的功能 if CheckPassword then begin //如XcqQueryOpen; end; 上面的程序只是一个简单的密码验证框我们可以将密码以写入注册表或文件的方式保存动态修改更可以利用算术算法对密码进行简单的加密等使要保密的数据更安全 其实上文中如何在dll中实现窗口让我走了不少弯路我觉得此法对大家更有意义这是避免程序庞大的一种有效方法不妨试试 |