Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema en Delphi 4.01 Pro (https://www.clubdelphi.com/foros/showthread.php?t=62610)

THc 04-01-2009 21:49:24

Problema en Delphi 4.01 Pro
 
Hola a todos, estoy convirtiendo funciones propias de Delphi 2.0 y otros lenguajes a Delphi 4.01 Pro (con update patchs 2 y 3 instalados). Al convertir dos versiones de un cifrado propio me he encontrado que la primera versión me devuelve una cadena de caracteres vacía. He seguido los pasos de la función y toma los valores correctos, pero el fallo es que la variable "Result", donde se almacena el resultado de la función, no se actualiza con los valores obtenidos del cifrado. El código que falla es el siguiente ...

Result := Result + Char(Xc);

La variable "Result" se encuentra dentro de un bucle do...while. El valor "Xc" es un entero y "Char(Xc)" devuelve el valor ASCII que corresponde, pero "Result" no se actualiza añadiendo el nuevo caracter. La función está definida como tipo String y funcionaba perfectamente en Delphi 2.0.

Estoy desarrollando proyectos propios y necesito solucionar este problema, pero no sé por dónde cogerlo. ¿Alguien me puede ayudar?

Gracias de antemano.

marcoszorrilla 04-01-2009 21:52:45

Por qué no sustituyes el primer Result por otra variable:

xResult por ejemplo, y el código te quedaría:
Código Delphi [-]
Result := xResult + Char(Xc);

Un Saludo.

THc 04-01-2009 21:57:58

perdona por no haberlo indicado, marcoszorrilla, ya había intentado meterlo en una variable y actualizar result al final. No funciona cuando tiene que asignar el valor de result.

Gracias.

THc 04-01-2009 22:27:12

marcoszorrilla, he vuelto ha meter el código de la variable temporal para rastrear su valor. Sólo funciona el código "Char(Xc)", tanto en la variable temporal como en Result no inserta ningún caracter. Me parecía una tontería, pero ya que toma el valor "Char(Xc)" dentro de la variable temporal (xr) también he probado meter "result := result + xr;". Tampoco funciona.


La franja horaria es GMT +2. Ahora son las 19:37:09.

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