LEN( )

 Devuelve la longitud de una cadena de caracteres o el número de elementos de una matriz

Sintaxis

     LEN(  ) –> nPosiciones

Argumentos

es la cadena de caracteres que se va a contar.

es la matriz que se va a contar.

Devuelve

LEN() devuelve la longitud de una cadena de caracteres o el número de elementos en una matriz, como un número entero. Si la cadena de caracteres es una cadena nula (“”) o la matriz está vacía, LEN() devuelve cero.

 Descripción

LEN() es una función de caracteres y matrices que devuelve la longitud de una cadena de caracteres o el número de elementos en una matriz. Con una cadena de caracteres, cada byte se cuenta como uno, incluyendo un byte nulo (CHR (0)). Por contra, una cadena nula (“”) se cuenta como cero.

Para una matriz, LEN() devuelve el número de elementos. Si la matriz es multidimensional, las submatrices se cuentan como un elemento. Esto quiere decir que el valor devuelto por LEN() para una matriz anidada o multidimensional es simplemente la longitud de la primera dimensión. Para determinar el número de elementos en otras dimensiones, utilice LEN() en las submatrices como se muestra en el ejemplo siguiente. Recuerde que las matrices anidadas en DPXBASE no necesitan tener dimensiones uniformes.

Ejemplos

     ¦  Estos ejemplos muestran la utilización de LEN() con varios argumentos:

        ? LEN(“cadena de caracteres”)        // Resultado: 20

        ? LEN(“”)                                          // Resultado: 0

        ? LEN(CHR(0))                              // Resultado: 1

        //

        LOCAL aPrueba[10]

        ? LEN(aPrueba)                         // Resultado: 10

     ¦  Este ejemplo crea una matriz bidimensional de forma literal y devuelve el número de elementos en la submatriz contenida en el

        primer elemento de la matriz original:

        LOCAL aMatriz := { {1, 2}, {1, 2}, {1, 2} }

        ? LEN(aMatriz)                           // Resultado: 3

        ? LEN(aMatriz[1])                      // Resultado: 2

     ¦  Este ejemplo se desplaza por una matriz multidimensional utilizando LEN():

        LOCAL aMatriz := { {1, 2}, {1, 2}, {1, 2} }

        LOCAL nFilas, nCols, nPosFilas, nPosCols

        //

        nPosFilas = LEN(aMatriz)

        FOR nFilas = 1 TO nPosFilas

           nPosCols = LEN(aMatriz[nFilas])

           FOR nCols = 1 TO nPosCols

              ? nFilas, nCols, aMatriz[nFilas][nCols]

           NEXT

        NEXT

     ¦  En este ejemplo, una función devuelve una matriz de valores numéricos que describe las dimensiones de una matriz multidimensional anidada. La función supone que la matriz tiene dimensiones uniformes:

        FUNCTION Dimensiones( aMatriz )

           LOCAL aDims := {}

           DO WHILE ( VALTYPE(aMatriz) == “A” )

              AADD( aDims, LEN(aMatriz) )

              aMatriz := aMatriz[1]

           ENDDO

           RETURN (aDims)

 Ficheros: La biblioteca asociada es DPXBASE.CH.