Descrição
FRead [AS] - Lê caracteres de um arquivo binário para uma variável de buffer.
|
Sintaxe
| FRead( <nHandle>, <cBufferVar>, <nQtdBytes> ) |
Parâmetros
| Par |
Nome |
Tipo |
Descrição |
Default |
Obg |
Ref |
01
|
nHandle
|
Numérico
|
Indica o handle do arquivo obtido pelas funções FOpen(), FCreate() ou pré-definido pelo DOS – Disk Operating System
|
|
X |
|
| 02 |
cBufferVar |
Caracter |
Indica o nome de uma variável do tipo caractere. Essa variável é utilizada como buffer de leitura, para que os dados lidos sejam armazenados. O tamanho desta variável deve ser maior ou igual ao tamanho informado no parâmetro |
|
X |
|
| 03 |
nQtdBytes |
Numérico |
Indica a quantidade de bytes que devem ser lidos do arquivo a partir do posicionamento do ponteiro atual |
|
X |
|
Retorno
| Retorno |
Tipo |
Descrição |
| nRet |
Numérico
|
Retorna a quantidade de bytes lidos na forma de um valor numérico inteiro. Um valor de retorno menor <nQtdBytes> ou 0 (zero) indica final de arquivo ou algum erro de leitura. Para obter mais detalhes, utilize a função FError()..
|
Exemplo
#INCLUDE "TOTVS.CH"
#INCLUDE 'FILEIO.CH'
User Function FRead()
Local cString := ''
Local nHandle := fOpen('\TEST.TXT' , FO_READWRITE + FO_SHARED )
If nHandle == -1
MsgStop('Erro de abertura : FERROR ' + Str(fError(), 4), 'UniversoADVPL' )
Else
cString := FRead( nHandle, cString, 1024 )
fclose(nHandle) // Fecha arquivo
Endif
Return( Nil )
Resultado
Informações adicionais
|
Lê os dados a partir de um arquivo aberto, através das funções FOpen() e FCreate(), e armazena os dados por referência no buffer informado
|
|
Lê até o número de bytes informado no parâmetro <nQtdBytes>; caso aconteça algum erro ou o arquivo chegue ao final, a função retorna um número menor que o especificado
|
|
Lê normalmente caracteres de controle (ASC 128, ASC 0, etc.)
|
|
A variável string que será utilizada como buffer de leitura deve ser sempre pré-alocada e passada como referência. Caso contrário, os dados não poderão ser retornados
|
|
Realiza a leitura a partir da posição atual do ponteiro do arquivo, que pode ser ajustado ou modificado pelas funções FSeek(), FWrite() ou FReadStr()
|
Gostou? Compartilhe com seus amigos e deixe um comentário! 😎