Histórico da Página
Incluir Página | ||||
---|---|---|---|---|
|
Sintaxe
LEN( <expressão caracter> / <array> )
Propósito
Retorna o tamanho de uma cadeia de caracteres ou a quantidade de elementos em um array.
Argumentos
<expressão caracter>
Define a cadeia de caracteres cujo tamanho será determinado.
<array>
Define o nome do array cujo número de elementos será determinado.
Utilização
Se a cadeia de caracteres especificada for nula (“”), a função LEN() retornará o valor zero. Entretanto, o caracter nulo, CHR(0), tem o comprimento de uma (1) posição.
Da mesma forma, a função LEN() retornará o valor zero se o array especificado não contiver elementos, ou seja, se estiver vazio. Se o array possuir mais de uma dimensão, será fornecido apenas o número de elementos da primeira dimensão. Para determinar o número de elementos das demais dimensões, deve-se utilizar a própria função LEN() em cada subarray que compõem o array principal.
Dicas
Deve-se lembrar que no AdvPL cada array multidimensional e composto por vários subarrays. Além disso, estes subarrays não precisam, necessariamente, ter dimensões uniformes.
Exemplos
MsgAlert( LEN(“AdvPL”) ) // Resulta 5
cNome := “Protheus – ERP da TOTVS”
MsgAlert( LEN(cNome) ) // Resulta 23
MsgAlert( LEN(“”) ) // Resulta zero
MsgAlert( LEN(CHR(0)) ) // Resulta 1
O exemplo abaixo demonstra como obter o número de elementos de um array com várias dimensões:
LOCAL aMatriz[5, 10, 5]
MsgAlert( LEN(aMatriz) ) // Resulta 5, o número de elementos da primeira dimensão
MsgAlert( LEN(aMatriz[1]) ) // Resulta 10, o número de elementos da segunda dimensão
MsgAlert( LEN(aMatriz[1, 1]) ) // Resulta 5, o número de elementos da terceira dimensão
// Resulta 250, o número total de elementos do array
MsgAlert( LEN(aMatriz) * LEN(aMatriz[1]) * LEN(aMatriz[1, 1]) )