MEMOLINE()
 Extrai uma linha de texto de uma cadeia de caracteres ou campo memo
------------------------------------------------------------------------------

 Sintaxe

     MEMOLINE(<cString>,
        [<nTamanhoLinha>],
        [<nNúmeroLinha>],
        [<nTamanhoTab>],
        [<lTransporte>]) --> cLinha

 Argumentos

     <cString> é o campo memo ou cadeia de caracteres do qual será
     extraída uma linha de texto.

     <nTamanhoLinha> especifica a quantidade de caracteres por linha e
     pode ser um número entre quatro e 254.  Se nao for especificado, o
     tamanho de linha padrao é 79.

     <nNúmeroLinha> especifica o número da linha a ser extraida.  Caso
     nao seja especificado, o valor padrao é um.

     <nTamanhoTab> define o tamanho da tabulaçao.  Se nao for
     especificado, o valor padrao é quatro.  Se <nTamanhoTab> for maior ou
     igual a <nTamanhoLinha>, entao o tamanho da tabulaçao é automaticamente
     convertido para <nTamanhoLinha> - 1.

     <LRolagem> comuta rolagem.  Especificar verdadeiro (.T.) liga
     transporte; falso (.F.) desliga.  Caso nao seja especificado, o valor
     padrao é verdadeiro (.T.).

 Retorno

     MEMOLINE() retorna a linha de texto especificada por <nNúmeroLinha> em
     <cString> na forma de uma cadeia de caracteres.  Caso a linha tenha
     menos caracteres que o tamanho indicado, o valor de retorno é
     complementado com espaços em branco.  Se o número da linha for maior do
     que o número total de linhas em <cString>, MEMOLINE() retorna uma
     cadeia de caracteres nula ("").

     Se <lTransporte> for verdadeiro (.T.) e o tamanho de linha indicado
     fizer a quebra de linha no meio de uma palavra, aquela palavra nao é
     incluida como parte do valor de retorno, mas aparece no início da
     próxima linha extraida com MEMOLINE().

     Se <lTransporte> for falso (.F.), MEMOLINE() retorna somente o número
     de caracteres especificados pelo tamanho de linha.  A próxima linha
     extraída por MEMOLINE() começa com o próximo caractere a partir do
     próximo carriage return manual, e todos os caracteres intermediários
     nao sao processados.

 Descriçao

     MEMOLINE() é uma funçao de tratamento de memos utilizada juntamente com
     MLCOUNT() para extrair linhas de texto de cadeias de caracteres e
     campos memo com base no número de caracteres por linha.  É o
     dispositivo mais básico fornecido pelo Clipper para exibir campos memo
     e longas cadeias de caracteres.

     O método básico de operaçao é determinar o número de linhas no campo
     memo ou cadeia de caracteres usando MLCOUNT() com o mesmo número de
     caracteres por linha, tamanho de tabulaçao, e comportamento de rolagem
     que você pretende utilizar com MEMOLINE().  Usando este valor como o
     limite superior de um FOR...NEXT, cada linha do campo memo ou cadeia de
     caracteres pode ser extraida com MEMOLINE() e processada com qualquer
     combinaçao de funçoes e comandos de saída necessária.

 Exemplos

     Este exemplo demonstra o método geral para exibiçao de campos memo e
     cadeias de caracteres longas usando a combinaçao de MLCOUNT() e
     MEMOLINE():

     LOCAL nLineSize := 40, nTabSize := 3, lWrap := .T.
     LOCAL nLines, nCurrLine
     USE Customer INDEX CustName NEW
     //
     nLines := MLCOUNT(CustNotes, nLineSize, nTabSize, lWrap)
     //
     SET PRINTER ON
     FOR nCurrLine := 1 TO nLines
        ? MEMOLINE(CustNotes, nLineSize, nCurrLine, nTabSize, lWrap)
     NEXT
     SET PRINTER OFF

 Arquivos:  Biblioteca EXTEND.LIB.
 To download this example - click here.

See Also: MEMOEDIT() MLCOUNT() MLPOS()