Método ReadTextLine
Prototipo
ReadTextLine Proto hHandle:HANDLE, lpszBuffer:LPSTR
Sintaxis
Invoke ReadTextLine, hHandle, lpszBuffer
Función
Lee una linea de texto de un archivo abierto.
Parámetros
hHandle
Handle del archivo de texto abierto (devuelto por el método OpenTextFile).
lpszFileName
Puntero a una zona de memoria (buffer) que recibirá la linea de texto. Puede ser NULL si se desea obtener la longitud de la linea (en bytes).
Valores de retorno
Si el archivo no se ha podido leer, Eax devuelve -1.
Si lpszBuffer es el puntero a una zona de memoria, Eax devuelve TRUE si se ha podido leer la linea, o FALSE si se ha llegado al final del archivo (EOF).
Si lpszBuffer es NULL, Eax devuelve la longitud de la linea (en bytes) incluyendo el carácter nulo final, o FALSE si se ha alcanzado el final del archivo (EOF).
Los caracteres <CR>
y
<LF>
(Carriage
Return
y Line
Feed)
determinan el final de una
linea. Este método lee caracteres hasta que encuentra
cualquiera de las siguientes combinaciones:
<CR> + <LF>
<LF> + <CR>
<CR> no seguido ni precedido por <LF>
<LF> no seguido ni precedido por <CR>
NOTA:
Los caracteres <CR>
y/o <LF>
indican el final de una linea, pero no se depositan en
el buffer apuntado por lpszBuffer.
OBSERVACIONES:
El método ReadTextLine
intenta leer una cadena Unicode si la aplicación se
está ejecutando como Unicode, o una cadena ANSI si no
(vea el método IsAppUnicode).
Puede utilizar ReadTextLineA
para leer cadenas ANSI en aplicaciones Unicode, o ReadTextLineW
para leer cadenas Unicode en aplicaciones ANSI.
Cuando lea archivos
Unicode, recuerde que los
dos primeros bytes (una palabra) no son un carácter Unicode,
sino un código
que identifica el tipo de formato Unicode (0FFFEH
= little
endian, 0FEFFH
= big endian).
IMPORTANTE:
Debe asegurarse de que la zona de memoria (buffer)
apuntada por lpszBuffer
es suficientemente grande para recibir
la linea que se dispone a leer. Llame a este método con lpszBuffer
puesto a NULL
si desea saber cuantos bytes se
necesitan para contener la próxima linea que se va a leer.