martes, 5 de marzo de 2024

Qué es un Queue!? ... en Clarion

Publicado por EMoreno el 11/01/2006 - LWP

Hola que tal.
Una QUEUE es una estructura en memoria. Puede ser de un campo hasta "n" números de campos, con 1 registro o "n" número de registros, dependiendo de la manipulación que hagas de ellos.

Cuando haces un browse, realmente lo que ves en pantalla es una QUEUE, esta declarada de la misma manera que el archivo, Clarion lo que hace es cargar desde el archivo a la QUEUE.

A una QUEUE la puedes manipular:
       - Agregando Registros (Add)
      - Modificando datos (Put)
      - Eliminando registros (Delete)
      - Ordenarla (Sort)
      - Obtener un registro determinado (Get)
Entre otras cosas.

Como es una estructura en memoria las QUEUE's trabajan súper rápido (obviamente esto va de la mano de acuerdo con el procesador que cuentes).

La manera en que declaras un archivo en tu diccionario es similar en cuanto a los campos a como se declara una QUEUE ya dentro de la aplicación, la diferencia es que al archivo en el DCT le puedes agregar llaves e índices, y a la QUEUE no le puedes agregar ni llaves e índices, pero le puedes poner ordenamiento.

Las QUEUE's las puedes usar para muchas cosas, su uso es muy variable.
Puede ser para procesamiento de datos, para imprimir reportes complejos, para crear listados etc..

Un ejemplo algo simple de una QUEUE es el siguiente:


QEjemplo QUEUE,PRE()
Campo_Clave Short
Campo_Nombre String(20)
END

Free(QEjemplo) ! Liberar y limpiar QUEUE
QEjemplo.Campo_Clave = 4
QEjemplo.Campo_Nombre = 'Perro'
Add(QEjemplo)

QEjemplo.Campo_Clave = 2
QEjemplo.Campo_Nombre = 'Delfin'
Add(QEjemplo)

Sort(QEjemplo, QEjemplo.Campo_Clave)
Loop ABC# = 1 To Records(QEjemplo)
Get(QEjemplo, ABC#)
Message(QEjemplo.Campo_Clave & '|' & QEjemplo.Campo_Nombre)
End

Sort(QEjemplo, QEjemplo.Campo_Nombre)
Loop ABC# = 1 To Records(QEjemplo)
Get(QEjemplo, ABC#)
Message(QEjemplo.Campo_Clave & '|' & QEjemplo.Campo_Nombre)
End



Espero haber sido de ayuda.
Saludos

P.D. A mí las QUEUE's me facilitan mucho el trabajo y me ahorran mucho tiempo.


Qué es un Queue!? ... en Clarion

Publicado por  EMoreno  el 11/01/2006 - LWP Hola que tal. Una QUEUE es una estructura en memoria. Puede ser de un campo hasta "n...