4D v16.3

Arrays y el lenguaje 4D

Inicio

 
4D v16.3
Arrays y el lenguaje 4D

Arrays y el lenguaje 4D  


 

 

Los arrays son variables 4D. Como toda variable, un array tiene un alcance y sigue las reglas del lenguaje 4D language, aunque con algunas diferencias.

Puede crear y trabajar con arrays locales, proceso e interproceso. Ejemplos:

 ARRAY INTEGER($aiCodigos;100) ` Crea un array local de 100 valores enteros de 2 bytes
 ARRAY INTEGER(aiCodigos;100) ` Crea un array de proceso de 100 valores enteros de 2 bytes
 ARRAY INTEGER(◊aiCodigos;100) ` Crea un array interproceso de 100 valores enteros de 2 bytes

El alcance de estos arrays es idéntico al alcance de otras variables locales, proceso e interproceso:

Se declara un array local cuando el nombre del array comienza con el signo dólar ($).

El alcance de un array local es el método en el que se crea. El array se borra cuando el método termina. Los arrays locales con el mismo nombre en dos métodos diferentes pueden tener diferentes tipos, porque en realidad son dos variables diferentes con diferentes alcances.

Cuando crea un array local en un método de formulario, de objeto o de proyecto llamado como subrutina por los dos tipos de métodos anteriores, el array se crea y se borra cada vez que se llama el formulario o el método de objeto. En otras palabras, el array se crea y borra para cada evento de formulario. Por lo tanto, no puede utilizar arrays locales en formularios, ni para visualizar ni para imprimir.

Como en el caso de las variables locales, es buena idea utilizar arrays locales cada vez que sea posible. Al hacerlo, minimiza la cantidad de memoria necesaria para correr su aplicación.

Se declara un array de proceso cuando el nombre del array comienza con una letra.

El alcance de un array de proceso es el proceso en el que se crea. El array se borra cuando el proceso termina o es abortado. Un array de proceso dispone de una instancia creada automáticamente para cada proceso. Por lo tanto, el array es del mismo tipo para todos los procesos. Sin embargo, su contenido es particular para cada proceso.

Se declara un array interproceso cuando el nombre del array comienza con <> (en Windows y Macintosh) o con el signo diamante, Opción-Mayús-V en un teclado en castellano (sólo en Macintosh).

El alcance de un array interproceso es la totalidad de procesos durante una sesión de trabajo. Deben ser utilizados sólo para compartir datos y transferir información entre procesos.

Truco: cuando usted sabe con anterioridad que un array interproceso será utilizado por varios procesos, lo cual puede provocar conflictos, proteja el acceso a este array con un semáforo. Para mayor información, vea el ejemplo para el comando Semaphore.

Nota: puede utilizar arrays de proceso e interproceso en formularios para crear objetos de formulario tales como áreas de desplazamiento, menús desplegables, etc.

Puede pasar un array como parámetro a un comando 4D o a una rutina de un plug-in 4D. Por otra parte, no puede pasar un array como parámetro para un método de usuario. La solución es pasar un puntero al array como parámetro al método. Para más detalles, consulte la sección Arrays y punteros.

A diferencia de las variables de tipo texto o alfa, usted no puede asignar un array a otro. Para copiar (asignar) un array a otro, utilice la función COPY ARRAY.



Ver también 

Arrays
Arrays y punteros

 
PROPIEDADES 

Producto: 4D
Tema: Arrays

 
HISTORIA 

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)