AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Sintaxis WLanguage / Declaración de variables
  • Liberar la memoria asignada a un array dinámico (opcional)
  • Pasar un array dinámico como parámetro a un procedimiento
  • Declarar un miembro de tipo dynamic array
  • Funciones WLanguage y arrays dinámicos
  • Limitaciones: Elementos de un array dinámico
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Un array dinámico es un tipo "avanzado" de array: el array crece a medida que se insertan nuevos elementos durante la ejecución del programa. En la mayoría de los casos, un array "simple" es más que suficiente.
Recordatorio: Un array es un tipo estructurado que permite agrupar una serie de elementos del mismo tipo. Puede acceder a cada elemento del array por su índice.
Le recomendamos utilizar:
Ejemplo
// Declare a dynamic array
CustomerArray is dynamic array
// Allocate memory for a dynamic array
CustomerArray is dynamic array

CustomerArray = new array of 4 by 7 int
// Equivalent to: CustomerArray = new array of 4,7 int
// (From version 17) Equivalent to: CustomerArray = new array [4,7] int
// Reference a dynamic array
CustomerArray[2,5,3] = 47
// Equivalent to : CustomerArray[2][5][3] = 47
Sintaxis

Declarar un array dinámico Ocultar los detalles

<Name of dynamic array> is dynamic array
<Name of dynamic array>:
Nombre de la variable de tipo dynamic array a declarar.

Asignar memoria para un array dinámico (sintaxis 1)


<Name of dynamic array> = new array [ <Dimension 1> [,<Dimension 2> ... [<Dimension 10>]] ] <Type of array elements>
Ejemplo:
CustomerArray is dynamic array
CustomerArray = new array [4,7] int

Asignar memoria para un array dinámico (sintaxis 2) Ocultar los detalles

<Name of dynamic array> = new array of <Dimension 1> [by <Dimension 2> ... [by <Dimension 10>]] <Type of array elements>

OR

<Name of dynamic array> = new array of <Dimension 1> [,<Dimension 2> ... [,<Dimension 10>]] <Type of array elements>
<Name of dynamic array>:
Nombre del array dinámico que se va a utilizar. Este array debe haberse declarado previamente.
<Dimension 1>...<Dimension 10>:
Dimensiones del array de 1 a 10 (número entero mayor que o igual a 0).
<Type of array elements>:
Tipo de los elementos del array. Consulte Los diferentes tipos de WLanguage.

Hacer referencia a un array dinámico

Remark: To reference a dynamic array, the necessary memory must have been allocated.

Hacer referencia a un array dinámico unidimensional

<Array name>[Index1]

Hacer referencia a un elemento de un array bidimensional:

<Array name>[Index1, Index2]

OR

<Array name>[index1][index2]

Hacer referencia a un elemento de un array de N dimensiones

<Array name>[Index1,...,IndexN]

OR

<Array name>[Index1]...[IndexN]

Pasar un array como parámetro a un procedimiento: Ocultar los detalles

<Procedure name>(<Array name>)
<Array name>:
Nombre del array dinámico que se va a utilizar.
<Index1>:
Índice del elemento para la 1.ª dimensión.
<Index2>:
Índice del elemento para la 2.ª dimensión.
<IndexN>:
Índice del elemento para la N-ésima dimensión (N <= 10).
Observaciones

Liberar la memoria asignada a un array dinámico (opcional)

La memoria asignada a un array dinámico se libera automáticamente cuando finaliza el tiempo de vida de la variable (por ejemplo, cuando se cierra la ventana) o cuando se asignan nuevas dimensiones.
Para liberar la memoria asignada a un array dinámico, utilice la siguiente sintaxis:
delete <Name of dynamic array>
Si el array dinámico se declara y asigna en la misma línea de código, no utilice la palabra clave Delete para liberar la memoria asignada al array dinámico. Se producirá un error de ejecución si se utiliza la palabra clave Delete.

Pasar un array dinámico como parámetro a un procedimiento

Puede pasar un array dinámico como parámetro a un procedimiento. Para ello, utilice la siguiente sintaxis:
<Procedure name>(<Array name>)
Por ejemplo:
SupplierArray is dynamic array
SupplierArray = new array of 10 by 50 character strings
// Call to the DisplayArray procedure
DisplayArray(SuppArray)

Declarar un miembro de tipo dynamic array

Puede declarar un miembro de tipo "dynamic array" en:
  • una estructura,
  • una variable compuesta,
  • una clase.
La memoria de un array dinámico debe asignarse después de la declaración de la estructura o variable compuesta.
Por ejemplo:
// Declare a structure
Struct is Structure
	x1 is int
	x2 is dynamic array		// Declare the array
END

// Declare a structure variable
MyStruct is Struct
// Allocate the array
x2 = new dynamic array of 4,7 int
Para una clase, el array dinámico debe declararse en el código de declaración de la clase y la memoria debe asignarse en el constructor de la clase.

Funciones WLanguage y arrays dinámicos

Existen varias funciones WLanguage para manipular arrays dinámicos. Puede buscar y ordenar el contenido de un array, etc. Para obtener más información, consulte Funciones de arrays.

Limitaciones: Elementos de un array dinámico

  • Un array dinámico solo puede incluir clases si éstas tienen un constructor sin parámetros (o con parámetros opcionales).
  • Un array dinámico no puede incluir:
    • variables compuestas,
    • arrays.
Java No es posible crear arrays de clases o estructuras.
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Example Array [N,X]
//Example Array [N,X]

arrMensajes is array of 1 by 3 strings

i is int = 1

SQLExec(sQuery,ds)

WHILE SQLFetch(ds) = 0
arrMensajes[i,1] = SQLGetCol(ds, 1) //id
arrMensajes[i,2] = SQLGetCol(ds, 2) //numero
arrMensajes[i,3] = SQLGetCol(ds, 3) //mensaje
i++
Dimension(arrMensajes, i, 3)
END
BOLLER
17 07 2019

Última modificación: 03/04/2024

Señalar un error o enviar una sugerencia | Ayuda local