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
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
Curtir tópico
+ 0
Responder
Posts
29/06/2004
Vinicius2k
Colega,
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...
T+
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:
Agradecido....
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
Clique aqui para fazer login e interagir na Comunidade :)