Utilizando Calculo com 5 edits

25/03/2013

0

Eu vi uma situação interessante, eu gostaria de ler 05 valores utilizando 05 edits e dai me apresentar o número maior.
Isso seria possível de uma maneira se ficar utilizado o If várias vezes?
Utilizei o inputquery e deu certo, mas gostaria de utilizar os edits.

Será que alguém poderia me ajudar nessa?
David Sobral

David Sobral

Responder

Posts

26/03/2013

Danillo Camargo

Eu vi uma situação interessante, eu gostaria de ler 05 valores utilizando 05 edits e dai me apresentar o número maior.
Isso seria possível de uma maneira se ficar utilizado o If várias vezes?
Utilizei o inputquery e deu certo, mas gostaria de utilizar os edits.

Será que alguém poderia me ajudar nessa?


Boa noite David, tudo bem?

Acho que uma alternativa é utilizar uma rotina que percorra os componentes do formulário procurando os edits.

Sugestão:

procedure TForm1.Button1Click(Sender: TObject);
var
  intContador: Integer;
  intNumeroedit: Integer;
  intMaior: Integer;
begin
  // Variável que vai armazenar o maior número
  intMaior := 0;

  // Percorre os componentes do formulário "Self" procurando os edits
  for intContador := 0 to Self.ComponentCount - 1 do
    if Components[intContador] is TEdit then
      with (Components[intContador] as TEdit) do
      begin
        // Converte o conteúdo do texto em inteiro
        // Try..except caso seja diferente de 0..9
        try
          intNumeroedit := StrToInt(Text);
        except
          begin
            ShowMessage('Erro.');
            Exit;
          end;
        end;

        // Verifica se o valor encontrado no edit é maior que o número já encontrado
        // Caso seja, atribui o valor para variável do maior número
        if intNumeroedit > intMaior then
          intMaior := intNumeroedit;
      end;
  // Exibe o maior número
  ShowMessage('O número maior: ' + IntToStr(intMaior));
end;


Qualquer dúvida estou à disposição,
Atenciosamente,
Responder

26/03/2013

David Sobral

Danilo no Delphi XE3 o código que você me passou deu certo perfeitamente, porém no Delphi XE2 aparece:
project project1.exe raised exception class econverterror with message '''' is not a valid integer value
O que pode estar acontecendo?
Responder

02/04/2013

David Sobral

Danilo no Delphi XE3 o código que você me passou deu certo perfeitamente, porém no Delphi XE2 aparece:
project project1.exe raised exception class econverterror with message '''' is not a valid integer value
O que pode estar acontecendo?
Responder

02/04/2013

William

Colega debug aplicação e observe em qual linha é disparado esse erro!

Assim fica mais fácil de entender, mas acho estranho esse tipo anomalia entre as versões, até porque o código é bem simples.
Responder

02/04/2013

Danillo Camargo

Danilo no Delphi XE3 o código que você me passou deu certo perfeitamente, porém no Delphi XE2 aparece:
project project1.exe raised exception class econverterror with message '''' is not a valid integer value
O que pode estar acontecendo?


Bom dia David. Tudo bem?

Desculpa a demora,
Siga as instruções do amigo wllfl. Também achei estranho essa anomalia pois utilizo a versão XE2.

Qualquer dúvida estou à disposição,
Um abraço,
Atenciosamente,
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar