Ir ao conteúdo
  • Cadastre-se

Pascal/Delphi Button não está trazendo a informação


Ir à solução Resolvido por Fazzioni,

Posts recomendados

Senhores, boa noite!

 

Estou com uma dúvida em um exercício em que eu tenho que mostrar qual número é o menor ou o maior inputado.

 

Porém não está trazendo o resultado correto.

 

Segue o código.

 

 

 

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    lblN1: TLabel;
    lblN2: TLabel;
    edtN1: TEdit;
    edtN2: TEdit;
    btnMostrar: TButton;
    procedure btnMostrarClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btnMostrarClick(Sender: TObject);
var
  edtN1 : Integer;
  edtN2: Integer;

begin

    if edtN1.Size > edtN2.Size then
      ShowMessage('O número 1 é o maior!')
    else
      ShowMessage('O número 2 é o maior!');
end;

end.

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Solução

Olá, os objetos criados não precisam de referência como acontece no java  e os valores das variáveis    não são tratados como propriedades,

acredito que seu códico deve ficar assim:

procedure TForm1.btnMostrarClick(Sender: TObject);
{var edtN1 : Integer; edtN2: Integer;  você não pode declarar essas variáveis, pois já existem edits com o mesmo nome, você so precisa citar o objeto}
var
a, b : integer;
begin

a := strtoint(edtN1.text); //no pascal é necessário converter de texto para inteiro, se não for inteiro irá gerar um exception, portanto, é necessário tratar
b := strtoint(edtN2.text);

// você pode fazer assim:
//if strtoint(edtN1.text) >  strtoint(edtN2.text) then
// ou
if a > b then
ShowMessage('O número 1 é o maior!')
else
ShowMessage('O número 2 é o maior! OU IGUAL');  

end;

 

para saber o número máximo que a variável suporta, você pode usar a função:

ShowMessage(IntToStr(high(a)));

// e

ShowMessage(IntToStr(low(a)));

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...