Árvore de páginas


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()

Retorno

Nome

Tipo

Descrição

cRet

caractere

Retorna a linha inteira na qual está posicionado o ponteiro para leitura de dados.

Observações

  • 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.

Exemplos

User Function Example()
  // Abre o arquivo
  nHandle := FT_FUse("c:\garbage\test.txt")
  // Se houver erro de abertura abandona processamento
  if nHandle = -1
    return
  endif
  // Posiciona na primeria linha
  FT_FGoTop()
  // Retorna o número de linhas do arquivo
  nLast := FT_FLastRec()
  MsgAlert( nLast )
  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) )
    // Pula para próxima linha
    FT_FSKIP()
  End
  // Fecha o Arquivo
  FT_FUSE()
 return

Abrangência

Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server

Veja também


  • Sem rótulos