Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/6062824/tecnologia.css
|
Pagetitle | ||||
---|---|---|---|---|
|
Retorna o tamanho de uma cadeia de caracteres ou a quantidade de elementos em um arrayvariável.
Sintaxe
Bloco de código | ||
---|---|---|
| ||
Len( < xParam > ) |
...
Nome | Tipo | Descrição |
---|---|---|
nCount | numérico | Retorna o tamanho do array ou do Stringde xParam. |
Observações
- Se a cadeia de caracteres especificada for nula (“”""), a função LEN() retornará o valor zero. Entretanto, o caracter caractere nulo, CHR(0), tem o comprimento de uma (1) posição.
- 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.
A tabela abaixo demonstra os retornos da função LEN para campos criados no SGBD:
Tipo
Retorno
C
O tamanho retornado corresponde ao tamanho de string máxima que pode ser armazenado na coluna.
D
É retornado sempre 8 bytes.
L
É retornado sempre 1 byte.
M
É retornado sempre 10 bytes.
Observação: É importante lembrar que, este valor é retornado por compatibilidade e não corresponde a capacidade real de armazenamento da coluna. O tamanho máximo de armazenamento de uma coluna do tipo "M" está condicionada ao driver RDD utilizado.N
Juntamente com o valor retornado na quarta posição, quantidade de decimais, informa a capacidade de armazenamento de valores numéricos no campo.
Exemplos
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
User function exemplo() MsgAlert( LEN(AdvPL"AdvPL") ) // Resulta 5 cNome := Protheus"Protheus ERP da TOTVSTOTVS" MsgAlert( LEN(cNome) ) // Resulta 23 MsgAlert( LEN("") ) // Resulta zero MsgAlert( LEN(CHR(0)) ) // Resulta 1 Return //O exemplo abaixo demonstra como obter o número de elementos de um array com várias dimensões: User Function exemplo2() 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]) ) Return |