Versões comparadas

Chave

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

Incluir Página
tec:Len
tec:Len

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