4D v13.4

Creación de arrays

Inicio

 
4D v13.4
Creación de arrays

Creación de arrays  


 

 

Un array se crea con uno de los comandos de declaración de arrays descritos en este capítulo. Esta es la lista de comandos de declaración de arrays:

ComandoCrea o redimensiona un array de
Array INTEGEREnteros 2-bytes
Array LONGINTEnteros 4-bytes (*)
Array REALReales
Array TEXTTextos (de 0 a 32 000 caracteres por elemento) (**)
Array STRINGAlfanuméricos (de 0 a 255 caracteres por elemento) (**)
Array DATEFechas
Array BOOLEANBooleanos
Array PICTUREImágenes
Array POINTERPunteros

Cada comando de declaración de arrays puede crear o redimensionar arrays de una o dos dimensiones. Para mayor información sobre arrays de dos dimensiones, consulte la sección Arrays de dos dimensiones.

(*) Los arrays de tipo Entero largo le permiten manipular datos de tipo Hora. Para mostrar en un formulario de horas, aplique sobre el objeto de formulario asociado el formato de salida &/x, donde x representa el número de formato en la lista de formatos de horas (en orden de aparición). Por Ejemplo, &/4 mostrará el formato Hora Minuto.

(**) Los arrays de tipo texto y alfa trabajan con los mismos tipos de elementos: caracteres.

  • En modo Unicode (modo por defecto para las bases creadas a partir de la versión 11 de 4D), no hay diferencia entre los arrays texto y alfa. Se ignora el parámetro strLen del comando ARRAY STRING. En este contexto, se recomienda utilizar los arrays Texto. El comando ARRAY STRING sólo se conserva por razones de compatibilidad. 
  • En modo compatibilidad (no Unicode), los comandos ARRAY TEXT y ARRAY STRING difieren:
    • En un array tipo texto, cada elemento es de longitud variable y guarda sus caracteres en partes diferentes de la memoria. Cada elemento de un array Texto puede contener hasta 32 000 caracteres.
    • En un array tipo alfa, todos los elementos tienen la misma longitud fija (la longitud pasada en el parámetro strLen cuando se creó el array). Todos los elementos se guardan uno después de otro en la misma parte de la memoria, lo que hace que los arrays Alfa sean más rápidos que los Texto. Sin embargo, los arrays Cadena no pueden tener más de 255 caracteres.
      Para mayor información, consulte la sección Códigos ASCII.

La siguiente línea de código crea (declara) un array entero de 10 elementos:

 ARRAY INTEGER(aiUnArray;10)

Luego, el siguiente código redimensiona el mismo array a 20 elementos:

 ARRAY INTEGER(aiUnArray;20)

Finalmente, el siguiente código redimensiona el mismo array a 0 elementos:

 ARRAY INTEGER(aiUnArray;0)

Los elementos en un array se referencian utilizando llaves ({…}). Se utiliza un número dentro de las llaves para referirse a un elemento en particular; este número se llama número de elemento. Las siguientes líneas colocan cinco nombres en un array llamado atNombres y luego los muestra en ventanas de alerta:

 ARRAY TEXT(atNombres;5)
 atNombres{1}:="Ricardo"
 atNombres{2}:="Sara"
 atNombres{3}:="Samuel"
 atNombres{4}:="Javier"
 atNombres{5}:="Juan"
 For($vlElem;1;5)
    ALERT("El elemento #"+String($vlElem)+" es igual a: "+atNombres{$vlElem})
 End for


Observe la sintaxis atNombres{$vlElem}. En lugar de especificar un número literal tal como atNombres{3}, puede utilizar una variable numérica para indicar que elemento de array al que usted está direccionando.

Utilizando las iteraciones de las estructuras de bucle (For...End for, Repeat...Until o While...End whileSVG), pedazos compactos de código pueden direccionar todos o parte de los elementos en un Array.

Hay otros comandos 4D que pueden crear y trabajar con arrays. En particular:

 
PROPIEDADES 

Producto: 4D
Tema: Arrays

 
VER TAMBIÉN 

ARRAY BOOLEAN
ARRAY DATE
ARRAY INTEGER
ARRAY LONGINT
ARRAY PICTURE
ARRAY POINTER
ARRAY REAL
ARRAY STRING
ARRAY TEXT
Arrays
Arrays de dos dimensiones