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

Retorna o tamanho de uma cadeia de caracteres ou a quantidade de elementos em um arrayvariável.

Sintaxe

Bloco de código
collapsefalse
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
languagecpp
themeEclipse
titleExemplo 1
linenumberstrue
collapsefalse
User function exemplo()
  MsgAlert( LEN(“AdvPL”"AdvPL") )          // Resulta 5
 
  cNome := “Protheus"Protheus – ERP da TOTVS”TOTVS"
 
  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