Mais uma implementação com InputBox.

 

Novamente como dito anteriormente e para quem não acompanhou a última dica, faça como se pede.

Declare a unit Messages, e a constante abaixo logo após a seção uses de sua unit.

Const
  InputBoxMsg = WM_USER + 123;

 

Vamos agora declarar a procedure responsável pela conversão dos caracteres para PassWordChar.

  private
    { Private declarations }
    procedure InputBoxSet(var Msg: TMessage); message InputBoxMsg;

 

Contruindo a procedure que fará a transformção:

procedure TFormXX.InputBoxSet(var Msg: TMessage);
var
  i: integer;
begin
  for i:=0 to Screen.Forms[0].ComponentCount-1 do
  begin
    if Screen.Forms[0].Components[i] is TEdit then
    begin
      With TEdit( Screen.Forms[0].Components[i] ) do
      begin
        PasswordChar := '*'; //Aqui está o caractere q irá aparecer na inputbox
        Clear;               //Limpamos a caixa de digitação da senha. 
      end;
    end;
  end;
end; 

 

Exemplo de uso da InputBox

 

var
  Senha: string;
begin
// Usaremos PostMessage para enviar a mensagem em caixa alta

  PostMessage(Handle, InputBoxMsg, 0, 0);
  Senha := InputBox('Autenticação', 'Informe sua senha:', '');
  if Senha <> '' then
    ShowMessage('A senha informada foi: ' + Senha);
end;

 

Em uma próxima oportunidade, estarei mostrando outras dicas sobre Delphi e Banco de Dados.

 
Até a próxima.