Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/6062824/tecnologia.css

...

Pagetitle
MLCount
MLCount

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

Bloco de código

...

collapsefalse
nLin := MLCount(

...

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

...

Parâmetros

...

NomeTipoDescriçãoObrigatório
cText

...

caracterIndica 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éricoDefine 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

NomeTipoDescrição
nLinNumérico

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

 

 

Exemplo

Bloco de código

...

languagecpp

...

theme

...

Eclipse
linenumberstrue

...

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

No exemplo acima, o resultado esperado segue abaixo:

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