Arrays y el lenguaje 4D

4D - Documentation   Français   English   German   Español   English   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente

versión 6.0


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.

Arrays locales, proceso e interproceso


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:

Arrays locales

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.

Arrays de proceso

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.

Arrays interproceso

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.

Pasar un array como parámetro


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.

Asignar un array a otro array


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.


4D - Documentation   Français   English   German   Español   English   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente