Ir para conteúdo
Fórum Script Brasil
  • 0

ajuda ao iniciante aqui!


sandroI9

Pergunta

Boa noite pessoal, estou iniciando meu aprendizado em delphi, comecei a fazer alguns programas simples que já fiz em pascal, mais o que acontece, é que delphi tem muita coisa diferente, então o que acontece é que fiz esse programa abaixo de calculo de media, e quando copilo ele me diz que há incopatibilidade de string and real na variavel r ? se alguém sabe qual o erro, agradeço, obrigado pela ajuda e atenção.

unit Unit4;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Button1: TButton;

procedure Edit2KeyPress(Sender: TObject; var Key: Char);

procedure Edit3KeyPress(Sender: TObject; var Key: Char);

procedure Button1Click(Sender: TObject);

procedure Edit1KeyPress(Sender: TObject; var Key: Char);

procedure Edit4KeyPress(Sender: TObject; var Key: Char);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);

begin

if not (key in ['0'..'9']) then key:=#0;

end;

procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);

begin

if not (key in ['0'..'9']) then key:=#0;

end;

procedure TForm1.Button1Click(Sender: TObject);

var a,b,c,d : real;

r : real ;

begin

a:=strtoint(Edit1.Text);

b:=strtoint(Edit2.Text);

c:=strtoint(Edit3.Text);

d:=strtoint(Edit4.Text);

r:=(a+b+c+d)/4;

Label1.Caption:=+r;{erro nessa linha aqui}

end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if not (key in ['0'..'9']) then key:=#0;

end;

procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: Char);

begin

if not (key in ['0'..'9']) then key:=#0;

end;

end.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
quando copilo ele me diz que há incopatibilidade de string and real na variavel r

faça esta modificação

procedure TForm1.Button1Click(Sender: TObject);
var a,b,c,d : real;
r : real;
begin
a:=strtoint(Edit1.Text);
b:=strtoint(Edit2.Text);
c:=strtoint(Edit3.Text);
d:=strtoint(Edit4.Text);
r:=(a+b+c+d)/4; 
Label1.Caption:=floattostr(r);{modifique}

end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

se você ver a proprierade do label.Caption vai ver que só é aceito String.

mas no caso ali R é Real, por isso deu erro de incompatibilidade... para arrumar isso faça como o jhonas mostrou, tem que transformar float para string usando o comando FloatToStr( r );

espero que tenha entendido :)

Editado por Frega
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...