Classe simple qui gere une queue. Max 8 parametres par operation EnQueue()/DeQueue()
Je l'utilise depuis un bout de temps en elle est tres pratique. Elle permet par exemple de passer une liste a une methode. La liste (queue) peut contenir n'importe quoi.
Il fut un temps dans lequel j'utilisais un tableau. Desavantages: (1) le dimensionner, et il arrive que l'on ne sais pas d'avance la taille du tableau, et (2) il faut aussi passer la taille a une methode: methode(@tableau, nLignes)
Toute la docu est dans le zip
Code optimise
11/06/2006: Corrige Queue.Clone()
Code source :
#define TRUE .T.
#define FALSE .F.
setprocedureto Queue additive
&& exemple local Success
Success = TRUE
local obj, Resultat
docase case !m.Success
case !Queue_Object(@m.obj, 2) assert FALSE
Success = FALSE
case !m.Obj.EnQueue(1, 2) assert FALSE
Success = FALSE
case !m.Obj.EnQueue(3, 4) assert FALSE
Success = FALSE
case !m.Obj.EnQueue(5, 6) assert FALSE
Success = FALSE
case !m.Obj.EnQueue(7, 8) assert FALSE
Success = FALSE
&& on va faire la somme des produits case !SommeDesProduits(m.obj, @m.Resultat) assert FALSE
Success = FALSE