Usina BRAdvPL Guia
Entrar
← Todos os tópicos
FUNçãOEm revisão

FREADSTR()

FReadStr( nHandle, nQtdBytes ) --> cRet

Lê até o limite de bytes e devolve texto.

FREADSTR()AdvPL
01 · VISÃO GERAL

Visão geral

FReadStr devolve uma string, diferentemente do retorno numérico de FRead. A leitura pode parar ao encontrar Chr(0), no fim ou na falha; não é substituto genérico para conteúdo binário que precise preservar nulos. O fonte GitHub demonstra leitura com abertura de escrita; a adaptação usa somente leitura e captura diagnóstico antes de fechar. O tamanho retornado depende do arquivo e da posição, sem equivaler a número de caracteres Unicode. (TOTVS, s.d., ref. 1)

02 · SINTAXE

Sintaxe

FReadStr( nHandle, nQtdBytes ) --> cRet

Parâmetros

nHandle
NuméricoObrigatório

Handle válido obtido por FOpen/FCreate; zero também é válido.

nQtdBytes
NuméricoObrigatório

Limite solicitado de bytes.

Retorno

Texto lido até o limite, nulo ou fim.

03 · EXEMPLO PRÁTICO

Exemplo comentado

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

User Function Ed394()
    Local nHandle := -1
    Local nErro := 0
    Local cTexto
    // Arquivo ficticio existente no contexto de teste; leitura compartilhada.
    nHandle := FOpen("editorial-test.txt", FO_READ + FO_SHARED)
    If nHandle < 0
        nErro := FError()
        ConOut(cValToChar(nErro))
    Else
        cTexto := FReadStr(nHandle, 64)
        nErro := FError()
        // Informar tamanho, sem expor conteudo do arquivo.
        ConOut(cValToChar(Len(cTexto)))
        If nErro <> 0
            ConOut(cValToChar(nErro))
        EndIf
        If !FClose(nHandle)
            ConOut(cValToChar(FError()))
        EndIf
    EndIf
Return Nil
Resultado esperado

Comprimento de até 64 bytes ou diagnóstico; conteúdo não exibido. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

BOAS PRÁTICAS
  • Conferir caminho, permissões, plataforma e propriedade do handle. Fechar somente handles obtidos pela própria rotina, inclusive em tratamento de erros da aplicação completa.
  • Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. FREADSTR(). TDN. Consulta em 2026-10-26.
  2. EURAI. ADVPL/Funcoes/Arquivos de Disco/FReadStr.PRW. universo_do_desenvolvedor_site, commit a5c83e9490302bdb4a0fc5a9d92c2d569a60773c. Exemplo analisado. Consulta em 2026-10-26.
Situação
Em revisão
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR
0 comentário(s) aprovado(s)

Comentários

Ainda não há comentários aprovados.

Entre com Google ou Microsoft para comentar.

Powered by Usina Docs · Alpha