Usina BRGuía AdvPL
Ingresar
← Todos los temas
FUNCIóNEn revisión

FRead

FRead( nHandle, @cBufferVar, nQtdBytes ) --> nRet

Lee bytes en buffer y devuelve cantidad leída.

FReadAdvPL
01 · DESCRIPCIÓN GENERAL

Descripción general

FRead devuelve número; datos llegan a buffer preasignado por referencia. No sustituir buffer por cantidad. Ejemplos antiguo oficial y comunitario no respetan toda preparación; adaptación usa Space(64), @cBuffer y nLeidos separado. Lectura corta puede ser EOF o error; capturar FError antes de cerrar. No imprime contenido ni supone 64 bytes disponibles. (TOTVS, s.f., ref. 1)

02 · SINTAXIS

Sintaxis

FRead( nHandle, @cBufferVar, nQtdBytes ) --> nRet

Parámetros

nHandle
NuméricoObligatorio

Handle válido de FOpen/FCreate; cero también es válido.

cBufferVar
CarácterObligatorio

Buffer de tamaño >= nQtdBytes, por referencia.

nQtdBytes
NuméricoObligatorio

Máximo solicitado en lectura.

Retorno

Cantidad de bytes efectivamente leídos.

03 · EJEMPLO PRÁCTICO

Ejemplo comentado

#Include "Protheus.ch"
#Include "Fileio.ch"

User Function Ed393()
    Local nHandle := -1
    Local nError := 0
    Local cBuffer := Space(64)
    Local nLeidos
    // Archivo ficticio existente en contexto de prueba; lectura compartida.
    nHandle := FOpen("editorial-test.txt", FO_READ + FO_SHARED)
    If nHandle < 0
        nError := FError()
        ConOut(cValToChar(nError))
    Else
        // Buffer y tamano separados del retorno numerico.
        nLeidos := FRead(nHandle, @cBuffer, 64)
        nError := FError()
        ConOut(cValToChar(nLeidos))
        If nError <> 0
            ConOut(cValToChar(nError))
        EndIf
        If !FClose(nHandle)
            ConOut(cValToChar(FError()))
        EndIf
    EndIf
Return Nil
Resultado esperado

Conteo hasta 64 bytes o diagnóstico; es lectura única, no lector completo. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

BUENAS PRÁCTICAS
  • Comprobar ruta, permisos, plataforma y propiedad del handle. Cerrar solo handles propios, incluido manejo de errores de aplicación completa.
  • En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

Contenido relacionado

REFERENCIAS
  1. TOTVS. FRead. TDN. Consulta el 2026-10-26.
  2. EURAI. ADVPL/Funcoes/Arquivos de Disco/FRead.PRW. universo_do_desenvolvedor_site, commit a5c83e9490302bdb4a0fc5a9d92c2d569a60773c. Exemplo analisado. Consulta el 2026-10-26.
Estado
En revisión
Página creada el
Última revisión el
Idioma original
Portugués
Revisión
Usina.BR
0 comentario(s) aprobado(s)

Comentarios

Todavía no hay comentarios aprobados.

Inicia sesión con Google o Microsoft para comentar.

Desarrollado con Usina Docs · Alpha