Fórum Incompatible Types: ´ShortString´ and ´PChar´ #240286

29/06/2004

0

:shock:

Bom dia..

Estou tendo um probleminha aqui... é o seguinte:

Tenho um form... no activate dele eu tenho o seguinte código:

procedure TForm2.FormActivate(Sender: TObject);
var
t, totalx: string [10];
begin
randomize;
x := random (300);
if (x mod 2 <> 0) then
x:=x+1;
total:= (x div 2);
t:= inttostr (x);
totalx:= inttostr (total);
Application.MessageBox (´Pense em um número...´, ´Diego Nunes Meira´, MB_OK+MB_ICONHAND);
Application.MessageBox (´Multiplica este número por dois´, ´Diego Nunes Meira´, MB_OK+MB_ICONHAND);
Application.MessageBox (´Soma ´+ t, ´Diego Nunes Meira´, MB_OK+MB_ICONHAND);
Application.MessageBox (´Divide o resultado por 2´, ´Diego Nunes Meira´, MB_OK+MB_ICONHAND);
Application.MessageBox (´Diminui pelo número que vc pensou´, ´Diego Nunes Meira´, MB_OK+MB_ICONHAND);
Application.MessageBox (´O Resultado de toda essa matemática foi = ´+totalx, ´Diego Nunes Meira´, MB_OK+MB_ICONHAND);
Inttostr (Total)
end;

Quando eu jogo uma variável na msg da o erro de incompatibilidade...

Alguem pode sanar essa dúvida?

Desde já agradecido...

Diego


Diegus

Diegus

Responder

Posts

29/06/2004

Vinicius2k

Colega,

Application.MessageBox ([color=red:b90e56bba4]´O Resultado de toda essa matemática foi = ´+totalx[/color:b90e56bba4], ´Diego Nunes Meira´, MB_OK+MB_ICONHAND);


Este parametro da função MessageBox é PChar, logo vc não pode informar uma string, no seu caso, resultado de uma concatenação...
É só converter...
Application.MessageBox (PChar(´O Resultado de toda essa matemática foi = ´+totalx), ´Diego Nunes Meira´, MB_OK+MB_ICONHAND);


T+


Responder

Gostei + 0

29/06/2004

Diegus

:lol: :D :P

Valeu pessoal... ja consegui resolver....

Para quem tiver a mesma dúvida...

Faça o seguinte:

procedure TForm2.FormActivate(Sender: TObject); var t, totalx: string; begin randomize; x := random (300); if (x mod 2 <> 0) then x:=x+1; total:= (x div 2); t:= ´Soma ´+ Inttostr (x); totalx:= ´O Resultado de toda essa matemática foi = ´+ inttostr(total) ; Application.MessageBox (´Pense em um número...´, ´Diego Nunes Meira´, MB_OK+MB_ICONEXCLAMATION); Application.MessageBox (´Multiplica este número por dois´, ´Diego Nunes Meira´, MB_OK+MB_ICONEXCLAMATION); Application.MessageBox (PChar (t), ´Diego Nunes Meira´, MB_OK+MB_ICONEXCLAMATION); Application.MessageBox (´Divide o resultado por 2´, ´Diego Nunes Meira´, MB_OK+MB_ICONEXCLAMATION); Application.MessageBox (´Diminui pelo número que vc pensou´, ´Diego Nunes Meira´, MB_OK+MB_ICONEXCLAMATION); Application.MessageBox (PChar (totalx), ´Diego Nunes Meira´, MB_OK+MB_ICONINFORMATION); Button6.Visible:= true;


Agradecido....


Responder

Gostei + 0

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

Aceitar