Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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

...

 

 

...