Á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
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

Bloco de código
languagecpp
themeEclipse

...

linenumbers

...

true

...

collapse

...

false

...

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

...

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
Resultado do exemplo:

No exemplo acima, o resultado esperado segue abaixo:

...

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