Tiempo aproximado de lectura 00:05:00 min
Duda
¿Cúal es el uso de la función AADD?
Entorno
Cross Segmentos - TOTVS Backoffice (Linea Protheus) - MI - ADVPL - A partir de la versión 12.1.2410
Solución
La función AADD() agrega un nuevo elemento al final de un array, aumentando su tamaño. El contenido del nuevo elemento es el resultado suministrado por la expresión.
Argumentos
< array >
Define el nombre del array en el cual se agregará el nuevo elemento.
< expresión >
Define el contenido que se atribuirá al nuevo elemento del array.
Sugerencias
La función AADD() es semejante a la función ASIZE(). Mientras AADD() agrega solamente un elemento en cada vez al array especificado, el ASIZE() puede agregar varios elementos de una única vez, dejando el array especificado con el tamaño deseado. Sin embargo, la función AADD() puede atribuir un contenido al nuevo elemento, mientras que ASIZE() no.
A pesar de parecer semejantes, las funciones AINS() y AADD() tienen una diferencia básica: la función AINS() agrega un nuevo elemento en una determinada posición del array y mueve todos los otros al final, descartando el último. Por lo tanto, no modifica el tamaño del array. La función AADD() agrega un nuevo elemento al final del array, aumentando su tamaño.
Si la expresión especificada es otro array, el nuevo elemento contendrá solamente una referencia al array especificado por el argumento <expresión>.
Ejemplos
Los siguientes ejemplos muestran utilizaciones típicas de la función AADD():
// Crea un array vacío. Es decir, sin elementos
aMatriz := { }
// Agrega un nuevo elemento al array, que tendrá solamente 1 elemento, cuyo contenido es el valor
// numérico 5
AADD(aMatriz, 5)
// Muestra 5
MSGALERT( aMatriz[1] )
// Agrega un elemento más al array, que ahora tendrá 2 elementos
AADD(aMatriz, 10)
// Muestra 10
MSGALERT( aMatriz[2] )
// Agrega un elemento más al array, que pasa a ser multidimensional y a tener 4 elementos, pues el
// elemento agregado es otro array
AADD(aMatriz, { 20, 30 })
// Muestra 20 y 30, respectivamente
MSGALERT(aMatriz[3, 1])
MSGALERT(aMatriz[3, 2])
0 Comentarios