Saltar al contenido principal
Versión: Siguiente

ARRAY PICTURE

ARRAY PICTURE ( nombreArray ; tamaño {; tamaño2} )

ParámetroTipoDescripción
nombreArrayArray🡒Nombre del array
tamañoEntero largo🡒Número de elementos en el array o Número de filas si se especifica tamaño2
tamaño2Entero largo🡒Número de columnas en un array bidimensional

Descripción

El comando ARRAY PICTURE crea y/o redimensiona un array de elementos de tipo Imagen en memoria.

  • El parámetro nombreArray es el nombre del array.
  • El parámetro tamaño es el número de elementos en el array.
  • El parámetro tamaño2 es opcional; si se especifica tamaño2, el comando crea un array bidimensional. En este caso, tamaño especifica el número de filas y tamaño2 especifica el número de columnas en cada array. Cada fila en un array bidimensional puede tratarse como un elemento y como un array. Esto significa que mientras trabaja con la primera dimensión del array, puede utilizar otros comandos de array para insertar y borrar arrays enteros en un array bidimensional.

Cuando aplica ARRAY PICTURE a un array existente:

  • Si agranda el tamaño del array, los elementos existentes no son modificados, y los nuevos elementos se inicializan en imágenes vacías. Esto significa que Picture size aplicado a uno de estos elementos devuelve 0.
  • Si reduce el tamaño del array, se pierden los últimos elementos borrados del array.

Ejemplo 1

Este ejemplo crea un array de proceso de 100 elementos de tipo Imagen:

 ARRAY PICTURE(agValores;100)

Ejemplo 2

Este ejemplo crea un array local de 100 filas de de 50 elementos de tipo Imagen:

 ARRAY PICTURE($agValores;100;50)

Ejemplo 3

Este ejemplo crea un array interpcoceso de elementos de tipo Imagen y carga cada imagen en uno de los elementos del array. El tamaño del array es igual al número de recursos 'PICT' disponibles en la base. El nombre del recurso del array comienza por "User Intf/":

 RESOURCE LIST("PICT";$aiResIDs;$asResNombres)
 ARRAY PICTURE(◊agValores;Size of array($aiResIDs))
 $vlPictElem:=0
 For($vlElem;1;Size of array(◊agValues))
    If($asResNames="User Intf/@")
       $vlPictElem:=vlPictElem+1
       GET PICTURE RESOURCE("PICT";$aiResIDs{$vlElem};$vgImagen)
       ◊agValores{$vlPictElem}:=$vgImagen
    End if
 End for
 ARRAY PICTURE(◊agValores;$vlPictElem)