Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Invalid TypeCast (https://www.clubdelphi.com/foros/showthread.php?t=18956)

Enan0 28-02-2005 15:38:27

Invalid TypeCast
 
Hola, extoy teniendo un pequeño problema con esta linea de codigo..
luego del "VsiNgle", en el momento de compilar me da un error
INVALID TYPECAST.. la verdad es que no se porque lo da.. esta es la linea en cuestion..

Código Delphi [-]
      result := 'varSingle ' + IntToHex(Longint(TVarData(v).VSingle), 8);

marcoszorrilla 28-02-2005 15:58:48

Todo apunta a que el moldeado de datos no tiene éxito ya que la función IntToHex expera únicamente un entero y el número de digitos que devolverá en la conversión.

Prueba a hacer la conversión antes de pasarle el valor.

Esto funciona sin problemas:
Código Delphi [-]
 Function LoQueSea(n:Integer):String;
 begin
  result := 'varSingle ' + IntToHex(n, 8);
 end;
 procedure TForm1.Button1Click(Sender: TObject);
 begin
 ShowMessage(LoQueSea(256));
 end;
Un Saludo.

Enan0 28-02-2005 16:04:09

Gracias!!! ;)

roman 28-02-2005 16:13:59

¿Qué pretendes hacer con ésto?

Longint(TVarData(v).VSingle)

TVarData(v).VSingle será un número real. No puedes moldearlo a un entero. Si lo que deseas es omitir los decimales entonces usa Trunc.

// Saludos


La franja horaria es GMT +2. Ahora son las 23:05:37.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi