大佬教程收集整理的这篇文章主要介绍了delphi – 控制台应用程序中的掩码密码输入,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
提前致谢,
尼克
program Project2; {$APPTYPE CONSOLE} uses SysUtils,Windows; function Getpassword(const InputMask: Char = '*'): String; var OldMode: Cardinal; c: char; begin GetConsoleMode(GetStdHandle(STD_INPUT_HANDLE),OldModE); SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE),OldMode and not (ENABLE_LINE_INPUT or ENABLE_ECHO_INPUT)); try while not Eof do begin Read(c); if c = #13 then // Carriage Return Break; Result := Result + c; if c = #8 then // BACk Space Write(#8) else Write(InputMask); end; finally SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE),OldModE); end; end; begin try Writeln(Format(sLineBreak + 'pswd=%s',[Getpassword])); Readln; except on E: Exception do Writeln(E.ClassName,': ',E.messagE); end; end.
更新:请注意,上面的代码在视觉上处理BACkSpaces,但将它们嵌入密码中,这可能不是您想要的.
在这种情况下,以下代码将过滤掉它们:
if c = #13 then // Carriage Return Break; if (c = #8) and (Length(Result) > 0) then // BACk Space begin delete(Result,Length(Result),1); Write(#8); end else begin Result := Result + c; Write(InputMask); end;
以上是大佬教程为你收集整理的delphi – 控制台应用程序中的掩码密码输入全部内容,希望文章能够帮你解决delphi – 控制台应用程序中的掩码密码输入所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。