FT_FReadLn [AS]
Autor: Eurai Criado: 01/01/2016 Atualizado: 27/07/2021Descrição
Lê e retorna uma linha de texto do arquivo aberto pela função FT_FUse(). As linhas do texto, são delimitadas pela sequência de caracteres CRLF (chr(13)+chr(10)) ou apenas LF (chr(10)), e o tamanho máximo de cada linha é 1022 bytes . |
Sintaxe
FT_FReadLn() |
Parâmetros
Par | Nome | Tipo | Descrição | Default | Obg | Ref |
Retorno
Retorno | Tipo | Descrição |
cRet | Caracter |
Retorna a linha inteira na qual está posicionado o ponteiro para leitura de dados |
Exemplo
#INCLUDE "TOTVS.CH" #INCLUDE "FILEIO.CH" User Function FT_FReadLn() Local cLine := '' Local nHandle := 0 Local nLast := 0 Local nRecno := 0 nHandle := FT_FUse("C:\TEMP\TST.TXT") If nHandle == -1 // Se houver erro de abertura abandona processamento Return( Nil ) Endif FT_FGoTop()// Posiciona na primeira linha nLast := FT_FLastRec() // Retorna o número de linhas do arquivo MsgAlert( cValtoChar( nLast ), 'UniversoADVPL' ) Do While !FT_FEOF() cLine := FT_FReadLn() // Retorna a linha corrente nRecno := FT_FRecno() // Retorna o recno da linha MsgAlert( "Linha: " + cLine + " - Recno: " + StrZero(nRecno,3), 'UniversoADVPL' ) ) FT_FSKIP() // Pula para próxima linha EndDo FT_FUSE() // Fecha o arquivo Return( Nil )
Resultado
Informações adicionais
A utilização desta função não altera a posição do ponteiro para leitura dos dados, pois o ponteiro do arquivo não é movido. No entanto, caso seja necessário alterar, utilize a função FT_FSkip(). |
O limite de 1022 bytes por linha inclui os caracteres delimitados de final de linha. Deste modo, quando utilizamos os separadores CRLF e LF, é possível ter 1020 bytes de texto (CRLF) ou 1021 bytes (LF). Porém, ao tentar realizar a leitura do arquivo, com linha de texto maior que o especificado, o resultado será de 1023 bytes e a incorreta identificação das posteriores quebras de linhas |
As funções FT_F* foram desenvolvidas para lerem arquivos com o conteúdo apenas texto. Ao utilizar em arquivos binários, o comportamento pode ser inesperado na movimentação do ponteiro de leitura e na identificação dos separadores de final de linha |
Gostou? Compartilhe com seus amigos e deixe um comentário! 😎