Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 13 Atual »

Conta a quantidade de linhas de um campo memo ou string com múltiplas linhas, considerando um numero máximo de letras por linha, tamanho estimado para caracteres de tabulação, e quebras de linhas CRLF (pulo de linha) dentro do texto.

Sintaxe

MLCount( < cText >, [ nLinLen ], [ nTabSize ], [ lQuebra ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cText

caractere

Indica o texto com múltiplas linhas para verificar a quantidade de linhas.

X

 

nLinLen

numérico

Especifica o número de caracteres por linha para que ocorra a quebra de linhas. (Default: 79)

 

 

nTabSize

numérico

Define um tamanho para tabulação. (Default: 4)

 

 

lQuebra

lógico

Especifica o comportamento de contagem de linhas quando a ultima palavra não cabe inteira na linha atual. .T. - Coloca a palavra na próxima linha (Default) .F. - Quebra a palavra no tamanho da linha e coloca o restante na próxima linha.

 

 

Retorno

Nome

Tipo

Descrição

nLin

numérico

Retorna o número de linhas da string considerando os parâmetros de formatação informados.

Exemplos

User Function exemplo()

  Local i, nTam , nLin, nLin2
  Local cString

  cString := "Lorem ipsum dolor sit amet, urna nullafusce vehicula porttitor lobortis "
  cString += "sapien, eget taciti nam tincidunt viverra saepe, eleifend et neque "
  cString += "justonunc adipiscing. Eget eu ut sed est sed accumsan, sit sed ultrices id "
  cString += "scelerisque ullamcorper at, sodales accumsan et per blandit et, enim "
  cString += "porta metus voluptatem luctus wisi, vel nunc tellus pellentesque "
  cString += "tincidunt urn."

  nTam := len(cString)
  conout( "Tamanho da String = " + cValToChar(nTam))

  nLin := mlcount(cString,40)
  conout( "Total de Linhas ( sem quebrar palavras ) = " +cValToChar( nLin ))

  For i := 1 to nLin
    conout( "Linha "+ str(i,2) +" ["+memoline(cString,40,i)+"]")
  Next

  nLin2 := mlcount(cString,40,,.F.)
  conout( "Rotal de Linhas ( quebrando as palavras ) = " +cValToChar( nLin2 ))

  For i := 1 to nLin2
    conout( "Linha "+ str(i,2) +" ["+memoline(cString,40,i,,.F.)+"]")
  Next

Return
Resultado do exemplo:
Tamanho da String = 362
Total de Linhas ( sem quebrar palavras ) = 10
Linha 1  [Lorem ipsum dolor sit amet, urna        ]
Linha 2  [nullafusce vehicula porttitor lobortis  ]
Linha 3  [sapien, eget taciti nam tincidunt       ]
Linha 4  [viverra saepe, eleifend et neque        ]
Linha 5  [justonunc adipiscing. Eget eu ut sed est]
Linha 6  [sed accumsan, sit sed ultrices id       ]
Linha 7  [scelerisque ullamcorper at, sodales     ]
Linha 8  [accumsan et per blandit et, enim porta  ]
Linha 9  [metus voluptatem luctus wisi, vel nunc  ]
Linha 10 [tellus pellentesque tincidunt urn.      ]

Total de Linhas ( quebrando as palavras ) = 9
Linha 1  [Lorem ipsum dolor sit amet, urna nullafu]
Linha 2  [sce vehicula porttitor lobortis sapien, ]
Linha 3  [eget taciti nam tincidunt viverra saepe,]
Linha 4  [eleifend et neque justonunc adipiscing. ]
Linha 5  [Eget eu ut sed est sed accumsan, sit sed]
Linha 6  [ultrices id scelerisque ullamcorper at, ]
Linha 7  [sodales accumsan et per blandit et, enim]
Linha 8  [porta metus voluptatem luctus wisi, vel ]
Linha 9  [nunc tellus pellentesque tincidunt urn. ]

Veja também

  • Sem rótulos