Quick Tips : Diferença entre InputQuery e InputBox

Veja nesta Quick a diferença entre InputQuery e InputBox

Olá galera, nesta Quick Tips, irei mostra a diferença entre duas mensagens muitos comuns em Delphi InputQuery e InputBox. Podemos encontrar estas duas functions em Dialogs.

O que é InputBox ?

InputBox é uma mensagem onde podemos informar um determinado valor, mas sem alterar o valor da variável passada como referencia, veja sua estrutura :

//Função InputBox function InputBox(const ACaption, APrompt, ADefault: string): string;

O que é InputQuery ?

InputQuery é uma mensagem onde podemos informar um determinado valor, mas alterando o valor da variável passada como referencia, veja sua estrutura :

//Função InputQuery function InputQuery(const ACaption, APrompt: string; var Value: string): Boolean;

Aparentemente os dois são iguais certo? Sim são iguais, mas uma diferença é a seguinte, quando implementamos o seguinte código no clique de um botão:

procedure TForm1.BitBtn2Click(Sender: TObject); Var StrX : String; begin StrX := '10'; InputBox('Titulo','descricao', StrX); ShowMessage(StrX); InputQuery('Titulo','descricao', StrX); ShowMessage(StrX); end;

Notaremos que ao exibir a mensagem com o valor 10 na caixa de texto, se mudarmos o seu valor para 5 por exemplo, o primeiro ShowMessage irá exibir o valor de StrX, no caso 10, já quando formos exibir a mensagem com InputQuery, se mudarmos o valor da caixa de texto o segundo ShowMessage irá exibir o valor alterado, como isso é possível ? Atraves da passagem de parâmetros por referencia, onde ao alterar o conteúdo de um parâmetro o externo também é alterado.

A única necessidade que temos de usar a principio de um InputQuery para o InputBox, seria se fosse necessário pegar o conteúdo informado pelo usuário, caso contrário poderíamos usar os dois sem diferença alguma.

Fico por aqui ate à próxima Quick Tips

Um abraço

Wesley Y

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados