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