Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
...
Pagetitle | ||
---|---|---|
|
...
|
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
MLCount ( < cText> ) --> nLines
...
Nome | Tipo | Descrição | Obrigatório |
---|
...
cText |
...
caracter | 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. |
Retorno
Nome | Tipo | Descrição |
---|---|---|
nLin | Numérico |
...
Retorna o número de linhas da string considerando os parâmetros de formatação informados. |
...
// Cria campo com múltiplas linhas para testecLine := "Linha 01 Linha 01 Linha 01 Linha 01 "+CRLFcLine += "Linha 02 Linha 02 Linha 02 Linha 02 "+CRLF // Verifica o número de linhas no textonLines := MLCount(cLine)// Varre todas as linhas do textoFor nX := 1 To nLines MsgAlert( MemoLine(cLine,,nX) )Next nX
...
Exemplo
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
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. ] |