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.