其他语言

位置:IT落伍者 >> 其他语言 >> 浏览文章

DELPHI基础教程:动态链接库编程(二)[3]


发布日期:2018年09月09日
 
DELPHI基础教程:动态链接库编程(二)[3]

在口令设置窗口中为了确保用户记住了设置的口令在用户输入并按回车键后要求用户再次输入进行确认只有用户重新输入的字符串与原设置口令相同口令设置窗口才能正常关闭 否则将原设置口令清空要求用户再次输入以上功能的实现在编辑框的OnKeyPress事件处理过程中

procedure TSetPassWordFormEditKeyPress(Sender: TObject; var Key: Char)

begin

if Edittext = then Exit;

if Key = # then

begin

if Verified then

if StrPas(PassWord) = Edittext then

begin

OKBtnEnabled := True;

EditEnabled := False;

OKBtnSetFocus;

end

else

begin

Verified := False;

MessageDlg(PassWord is InValidmtWarning[mbOK]

Edittext := ;

PassWord := ;

LabelCaption := Please Input PassWord:;

end

else

begin

Verified := True;

StrPCopy(PassWordEdittext)

Edittext := ;

Labelcaption := Please Verify PassWord:;

end;

Key := #;

end;

end;

口令检查窗口的实现相对简单只定义了一个输出函数GetPassWord用于生成口令检查窗口并返回口令检查的结果

function GetPassword(Password: PChar) Boolean;

var

GetPasswordForm: TGetPasswordForm;

begin

Result := False;

GetPasswordForm := TGetPasswordFormCreate(Application)

try

with GetPasswordForm do

if ShowModal = mrOK then

if UpperCase(EditText) <> StrPas(StrUpper(Password)) then

MessageDlg(Invalid Password mtWarning [mbOK]

else

Result := True;

finally

PasswordFormFree;

end;

end;

PassWord为输入的参数不能为空由调用以上函数的程序负责维护

窗口中用户输入口令时回显在屏幕上的字符由编辑框的PassWordChar属性确定

在DLLs的工程文件中把两个输出函数写到exports子句中

library PassForm;

uses

GetPass in GETPASSPAS {PasswordForm}

Setpass in SETPASSPAS {SetPassWordForm};

exports

GetPasswordSetPassWord;

begin

end

Delphi应用程序调用重用窗体

在Delphi应用程序中调用重用窗体首先必须包含passformdll的两个输出函数

function GetPassword(Password: PChar) Boolean;

far; external c:\dlls\PassForm;

function SetPassword(PassWord: PChar) Boolean;

far; external c:\dlls\PassForm;

这位于程序单元的implementation部分

[] [] [] []

               

上一篇:DELPHI基础教程:动态链接库编程(二)[4]

下一篇:DELPHI基础教程:动态链接库编程(二)[2]