AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de colas, pilas, listas y arrays / Funciones de colas, pilas y listas
  • Propiedades del lenguaje WLanguage que se pueden utilizar con el tipo cola
  • Funciones de WLanguage para la gestión de colas
  • Las colas y el multihilo
  • Navegar por las colas
  • Casos especiales
WINDEV
WindowsLinuxJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac Catalyst
Otros
Procedimientos almacenados
Una variable de tipo Queue es un tipo estructurado que agrupa un conjunto de elementos del mismo tipo. Los elementos se añaden al final de la cola y se recuperan en orden de cola.
Por ejemplo, si los elementos se añaden en el siguiente orden 1, 2, 3, se recuperarán en el mismo orden 1, 2, 3.
Ejemplo
MaFile is Queue of int

// On enfile les valeurs 1, 2 et 3
Enqueue(MaFile, 1)
Enqueue(MaFile, 2)
Enqueue(MaFile, 3)

// Affichage de la trace : 1, 2, 3
x is int
WHILE Dequeue(MaFile, x)
	Trace(x)
END
Sintaxis

Declaración e inicialización de una cola Ocultar los detalles

<Queue Name> is Queue of <Type of Queue Elements>
<Queue Name>:
Nombre de la variable de cola a declarar.
<Type of Queue Elements>:
Tipo de elementos encontrados en la cola.
Pueden utilizarse todos los tipos de variables, incluidos los arrays, los arrays asociativos, las colas, las pilas y las listas. Por ejemplo:
<variable> is queue of arrays of int

<variable> is queue of fixed arrays of 5 int

<variable> is queue of associative arrays of int

<variable> is queue of queues of int

<variable> is queue of stacks of int

<variable> is queue of lists of int
Observaciones

Propiedades del lenguaje WLanguage que se pueden utilizar con el tipo cola

Las siguientes propiedades pueden utilizarse para definir las características de las variables de cola:
Nombre de la propiedadEfecto
AdditionCompletedDevuelve y modifica el modo de adición de elementos.
Esta propiedad se utiliza para la gestión multihilo.
InstanciaDevuelve el número de apariciones en cola.
NbPendingThreadDevuelve el número de subprocesos pendientes.
Esta propiedad se utiliza para la gestión multihilo.
Vacía
  • True si la cola está vacía,
  • False en caso contrario.

Funciones de WLanguage para la gestión de colas

Las siguientes funciones pueden utilizarse para manejar variables de cola:
DeleteAllElimina todos los elementos:
  • a partir de un array WLanguage unidimensional o bidimensional.
  • de un array asociativo.
  • de una propiedad array de un tipo avanzado (array de eventos de gglCalendar, etc.).
  • de una cola WLanguage.
  • de un apilamiento WLanguage.
  • de una lista WLanguage.
DequeueElimina un elemento de la cola.
DeserializeDeserializa un búfer o una cadena de caracteres que contiene los datos de una clase, estructura, array (incluyendo un array asociativo), cola, pila, lista o variable avanzada, así como sus subelementos.
EnqueueAñade un elemento a la cola.
QueueInfoRecupera las características de una cola: tipos de elementos y número de elementos.
SerializarTransforma los siguientes elementos en un formato específico:
  • una estructura (y sus subelementos),
  • una clase (y sus subelementos),
  • un array (incluidos los arrays asociativos),
  • una cola,
  • un apilamiento,
  • una lista.

Las colas y el multihilo

La gestión del multihilo se tiene en cuenta al añadir y eliminar un elemento (Enqueue y Dequeue).
También tiene la posibilidad de utilizar propiedades durante una gestión multihilo, pero el resultado no es permanente. Por ejemplo:
IF MaFile.Occurrence > 0 THEN
	// Quand le thread arrive ici, la file peut être vide

END

Navegar por las colas

La sintaxis FOR EACH puede utilizarse para navegar por las colas. Los elementos se exploran en un orden de Enqueue similar al orden de Dequeue.
La sintaxis utilizada corresponde a la utilizada para los arrays:
FOR EACH [ELEMENT] <Variable> [, <Counter> [, <Counter>]] OF <Queue>
...
END

Los elementos pueden modificarse durante la navegación. Si la cola se modifica durante una navegación, los elementos navegados serán los que se encontraban cuando se inicializó la navegación:
  • los elementos en cola después de la inicialización del browse no serán navegados.
  • los elementos desencolados tras la inicialización del browse seguirán siendo navegados.

Casos especiales

  • En el depurador, el contenido de la cola se muestra en orden de desencolado.
  • Se puede utilizar una cola para escribir un parámetro de procedimiento.
  • Una cola puede copiarse con el operador =. También tiene la posibilidad de copiar una instancia de clase o estructura que contenga una cola.
  • Una cola puede ser inicializada por una lista de elementos en orden de cola.
Versión mínima requerida
  • Versión 14
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 11/10/2025

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