LEN()
 Retorna o tamanho de um string ou a quantidade de elementos em um vetor
------------------------------------------------------------------------------

 Sintaxe

     LEN(<cString> | <aDestino>) --> nCont

 Argumentos

     <cString> é a cadeia de caracteres cujo tamanho será medido.

     <aDestino> é o vetor cujos elementos serao contados.

 Retorno

     LEN() retorna o tamanho de uma cadeia de caracteres ou a quantidade de
     elementos em um vetor na forma de um valor numérico inteiro.  Caso a
     cadeia de caracteres seja nula ("") ou o vetor esteja vazio, LEN()
     retorna zero.

 Descriçao

     LEN() é uma funçao de tratamento de caracteres e vetores que retorna o
     tamanho de uma cadeia de caracteres ou a quantidade de elementos em um
     vetor.  Com uma cadeia de caracteres, cada byte é contado como um,
     inclusive bytes nulos inclusos (CHR(0)).  Cadeias de caracteres nulas
     (""), por outro lado, sao contadas como zero.

     Para vetores, LEN() retorna a quantidade de elementos de cada um.  No
     caso vetores multi-dimensionais, cada sub-vetor é considerado um
     elemento.  Isto significa que o uso de LEN() para vetores aninhados ou
     multi-dimensionais retorna apenas o tamanho da primeira dimensao.  Para
     determinar a quantidade de elementos em outras dimensoes, use LEN() nos
     sub-vetores como mostra o exemplo abaixo.  Observe que vetores
     aninhados em Clipper nao necessitam ter dimensoes uniformes.

 Exemplos

       Os exemplos a seguir demonstram LEN() com vários argumentos:

        ? LEN("cadeia de caracteres")              // Resulta: 20
        ? LEN("")                                  // Resulta: 0
        ? LEN(CHR(0))                              // Resulta: 1
        //
        LOCAL aTest[10]
        ? LEN(aTest)                               // Resulta: 10

       Este exemplo cria um vetor bi-dimensional literal e depois
        retorna a quantidade de elementos no sub-vetor contido no primeiro
        elemento do vetor original:

        LOCAL aArray := { {1, 2}, {1, 2}, {1, 2} }
        ? LEN(aArray)                              // Resulta: 3
        ? LEN(aArray[1])                           // Resulta: 2

       Este é um exemplo de como LEN() pode ser utilizado para
        exibir o conteúdo de um vetor multi-dimensional:

        LOCAL aArray := { {1, 2}, {1, 2}, {1, 2} }
        LOCAL nLin, nCol, nLineCnt, nColCnt
        //
        nLineCnt := LEN(aArray)
        FOR nLin := 1 TO nLineCnt
           nColCnt := LEN(aArray[nLin])
           FOR nCol := 1 TO nColCnt
              ? nLin, nCol, aArray[nLin][nCol]
           NEXT
        NEXT

       Este exemplo mostra uma funçao que retorna um vetor de
        valores numéricos, vetor este que descreve as dimensoes de um vetor
        multi-dimensional ou aninhado.  A funçao assume que o vetor tem
        dimensoes uniformes:

        FUNCTION Dimensions( aArray )
           LOCAL aDims := {}
           WHILE ( VALTYPE(aArray) == "A" )
              AADD( aDims, LEN(aArray) )
              aArray := aArray[1]
           ENDDO
           RETURN (aDims)

 Arquivos:  Biblioteca CLIPPER.LIB.
 To download this example - click here.

See Also: AADD() ASIZE() LTRIM() RTRIM()