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 WLanguage que se pueden utilizar con el tipo de cola
  • Funciones del lenguaje WLanguage para la gestión de colas
  • Las colas y el multihilo
  • Navegación por las colas
  • Casos especiales
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
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 espera.
Por ejemplo, si los elementos se añaden en el siguiente orden: 1, 2, 3, serán recuperados en el mismo orden 1, 2, 3.
Ejemplo
MyQueue is Queue of int
 
// Enqueue the values 1, 2 and 3
Enqueue(MyQueue, 1)
Enqueue(MyQueue, 2)
Enqueue(MyQueue, 3)
 
// Display the trace: 1, 2, 3
x is int
WHILE Dequeue(MyQueue, x)
Trace(x)
END
Sintaxis

Declarar e inicializar una cola Ocultar los detalles

<Queue Name> is Queue of <Type of Queue Elements>
<Queue Name>:
Nombre de la cola Variable a declarar.
<Type of Queue Elements>:
Tipo de elementos encontrados en la cola.
Se pueden utilizar todos los tipos de variables, incluyendo la arrays, la arrays asociativa, 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 WLanguage que se pueden utilizar con el tipo de cola

Las siguientes propiedades pueden ser usadas para manipular a la cola Variable:
Nombre de la propiedadEfecto
AdditionCompletedDevuelve y modifica el modo de adición de elementos.
Este Property se utiliza para el manejo de multihilos.
InstanciaDevuelve el número de ocurrencias de la cola.
NbPendingThreadDevuelve el número de hebras pendientes.
Este Property se utiliza para el manejo de multihilos.
Vacío
  • True si la cola está vacía,
  • False en caso contrario.

Funciones del lenguaje WLanguage para la gestión de colas

Las siguientes funciones pueden ser usadas para manipular una cola Variable:
DeleteAllBorra todos los elementos:
  • a partir de un lenguaje WLLanguage unidimensional o bidimensional array.
  • de un array asociativo.
  • de una propiedad array de un tipo avanzado (array de eventos de gglCalendar, etc.).
  • de una cola WLanguage.
  • de una pila WLanguage.
  • de una lista WLanguage.
DequeueElimina un elemento de la cola.
DeserializeDeserializa un buffer o una cadena de caracteres que contiene los datos de una clase, estructura, array (incluyendo una array asociativa ), cola, pila, lista o Variable avanzada, así como sus subelementos.
En esperaAñ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),
  • y array (incluyendo el arrays asociativo),
  • a queue,
  • una pila,
  • a list.

Las colas y el multihilo

La gestión del multihilo se tiene en cuenta a la hora de 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 MyQueue.Occurrence > 0 THEN
// The queue may be empty when the thread reaches this point
 
END

Navegación por las colas

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

Los elementos pueden ser modificados durante la navegación. Si la cola se modifica durante una navegación, los elementos navegados serán los que se encontraron cuando se inicializó la navegación:
  • los elementos en cola después de la inicialización de la navegación no serán explorados.
  • los elementos que se encuentran en cola después de la inicialización de la navegación seguirán siendo explorados.

Casos especiales

  • En el depurador, el contenido de la cola se muestra en orden de espera.
  • Se puede usar una cola para escribir un parámetro de Procedure.
  • Se puede copiar una cola con el operador =.. También tienes la capacidad de copy una instancia de clase o estructura que contiene una cola.
  • Una cola se puede inicializar con una lista de elementos en orden de espera.
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: 27/01/2023

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