Ver Mensaje Individual
  #7  
Antiguo 09-08-2012
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Una función que trata cadenas al estilo C debe poner un nulo al final del Buffer que se le pasa, si no lo hace, entonces podemos decir que no es estilo C o que es una chapuza. Por lo tanto me inclino a pensar que si te devuelve un nulo final de cadena.

En el caso de que no devuelve el nulo, puedes usar un Buffer tipo array of char o un String con longitud asignada previamente o un ShortString si no va a ser mas larga de 255.

Para la llamada a esa función deberás usar un puntero que apunte al primer elemento de tu cadena o array:
En el caso de un array: @Buffer[0];
En el caso de un ShortString o String: @Cadena[1] (para luego poder asignar la longitud).

Si tienes que usar el resultado de la llamada como un String tienes estos casos:
En el caso de usar array of char puedes convertirlo a un String.
En el caso de usar un ShortString debes asignar al caracter[0] la longitud de la cadena sin el nulo final
En el caso de un String debes usar SetLength para asignar el tamaño sin el nulo final.



Saludos.

Última edición por escafandra fecha: 09-08-2012 a las 19:58:15.
Responder Con Cita