Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Sintaxis

 

LENLEFT( <expresión carácter> / <array> , <expresión numérica> )

 

 

Propósito

 

Devuelve el tamaño Extrae una parte de una cadena de caracteres o la cantidad de elementos en un array.

 

 

Argumentos

 

<expresión carácter>

...

Define la cadena de caracteres cuyo tamaño se determinaráde la cual se desea extraer una parte. Esta cadena podrá tener, como máximo, 64 Kbytes, es decir, 65.535 caracteres.

 < array >

<expresión numérica>

 

Define el nombre del array cuyo número de elementos se determinaránúmero de caracteres que se extraerá de la cadena de caracteres especificada, a partir del primer carácter. Es decir, define el tamaño de la parte que se extraerá.

 

 

Utilización

 

Si la cadena de caracteres especificada es nula (“”), la función LEN() devolverá el valor cero. Sin embargo, el carácter nulo, CHR(0), tiene la longitud de una (1) posición.

 

La función LEFT() permite extraer la primera parte (parte más a la izquierda) de una cadena de caracteres, con el número de caracteres especificado por la expresión numérica.

 

Si el resultado de la expresión numérica es menor o igual a cero, se suministrará una cadena de caracteres nula. En caso de que el resultado de la expresión numérica sea mayor que el tamaño total de la cadena de caracteres especificada, se suministrará toda la cadena de caracteresDe la misma forma, la función LEN() devolverá el valor cero si el array especificado no tiene elementos, es decir, si está vacío. Si el array tiene más de una dimensión, se suministrará únicamente el número de elementos de la primera dimensión. Para determinar el número de elementos de las otras dimensiones, debe utilizarse la propia función LEN() en cada subarray que forme parte del array principal.

 

 

Sugerencias

 

No se debe olvidar de que en el AdvPL cada array multidimensional se compone de varios subarrays. Además, estos subarrays no deben, necesariamente, tener dimensiones uniformes.

 

 

Ejemplos

 

MsgAlert( LEN(“AdvPL”) )          // Resulta 5

 

cNome := “Protheus – ERP de TOTVS”

 

MsgAlert( LEN(cNome) )           // Resulta 23

MsgAlert( LEN(“”) )                    // Resulta cero

MsgAlert( LEN(CHR(0)) )          // Resulta 1

 

El siguiente ejemplo muestra cómo obtener el número de elementos de un array con varias dimensiones:

 

LOCAL aMatriz[5, 10, 5]

 

MsgAlert( LEN(aMatriz) )         // Resulta 5, el número de elementos de la primera dimensión

MsgAlert( LEN(aMatriz[1]) )     // Resulta 10, el número de elementos de la segunda dimensión

MsgAlert( LEN(aMatriz[1, 1]) )     // Resulta 5, el número de elementos de la tercera dimensión

 

// Resulta 250, el número total de elementos del array

Las funciones LEFT(), RIGHT() y SUBSTR() se vinculan, suministrando partes extraídas de una cadena de caracteres especificada. La función LEFT() suministra la parte de la izquierda, RIGHT() suministra la parte de la derecha y SUBSTR() suministra una parte intermedia. Estas funciones acostumbra utilizarse con las funciones AT() y RAT(), que ubican la posición de las partes que se extraerán.

 

Por medio de estas funciones puede manejarse cualquier cadena de caracteres con un máximo de 64 Kbytes de tamaño (65.535 posiciones).

 

 

Ejemplos

 

MsgAlert( LEFT("AdvPL", 4) )             // Suministra “AdvP”

 

Este ejemplo extrae un fragmento a partir del inicio de un string hasta la primera ocurrencia de una coma:

 

LOCAL cName := "James, William"

 

MsgAlert( LEFT(cName, AT(",", cName) - 1) )  // Resulta: JamesMsgAlert( LEN(aMatriz) * LEN(aMatriz[1]) * LEN(aMatriz[1, 1]) )