FT_FReadLn [AS]

FT_FReadLn [AS]
Author: Eurai
Inclusão: 01/01/2016
Alteração: 27/07/2021

Descriçã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
ft_freadln_-_resultado_01                                       

 

 

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! 😎  

 

 

 

 

 

 

 

Esse conteúdo te ajudou? Ajude o canal com doação
Compartilhar
Comentários