Árvore de páginas

Versões comparadas

Chave

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

Sintaxis

 

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

 

 

Propósito

 

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

 

 

Argumentos

 

<expresión carácter>

...

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

 

cuyo tamaño se determinará.

 

< array ><expresión numérica>

 

Define el nombre del array cuyo 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á.elementos se determinará.

 

 

Utilizació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 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.

 

De 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 principalSi 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 caracteres.

 

 

Sugerencias

 

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"

 

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

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