Ver Mensaje Individual
  #1  
Antiguo 06-08-2012
usuario87 usuario87 is offline
Miembro
NULL
 
Registrado: ago 2011
Posts: 10
Reputación: 0
usuario87 Va por buen camino
¿como llenar de nulos una cadena?

hola , mi programa usa una funcion que esta dentro de una dll, esta funcion es parecida a GetSystemDirectory, se le pasa una direccion de memoria donde regresara una cadena que consta de caracteres distintos al caracter nulo (0) , pero al regresar de la funcion esta no te devuelve el numero de caracteres escritos en la direccion de memoria, en visual basic lo que se hace en estos casos es declarar una variable string y llenarlo de puros nulos y al regresar de la funcion simplemente busco el primer nulo dentro de la cadena y ese nulo me indica el final de esa cadena devuelta:

dim Cantidad as Integer
dim Buffer as string 'delcra la var string
Buffer = String(255,Chr(0)) 'asigna 255 nulos en la variable
ObtenerNombre Buffer 'Esta es la funcion que uso
Cantidad = InStr(1,Buffer,Chr(0)) ' aqui busco el primer caracter nulo que indica el final
Buffer = Mid(Buffer,1,Cantidad - 1) 'aqui cojo todos los caracteres -1 que seria el nulo
MsgBox Buffer 'muestro la cadena


¿como se haria eso en delphi?

intente usando setlength pero esta funcion no llena de nulos una cadena xP, para mi es mas facil usar una cadena.

Última edición por usuario87 fecha: 06-08-2012 a las 04:28:58.
Responder Con Cita