ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Queue class   



L'auteur

Gregory Adam
Belgique Belgique
Membre Actif (personne physique)
# 0000001121
enregistré le 04/06/2006

Fiche personnelle


Note des membres
pas de note

Contributions > 21 - Outils

Queue class
# 0000000327
ajouté le 04/06/2006 18:12:54 et modifié le 11/06/2006
consulté 5104 fois
Niveau initié

Version(s) Foxpro :
VFP 9.0
VFP 8.0
VFP 7.0
VFP 6.0


Télécharger le ZIP (3.97 Ko)
Description
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.

set procedure to Queue additive

&& exemple
local Success
Success = TRUE

local obj, Resultat

do case
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

otherwise
  acti screen
  ?'Le resultat = ', m.Resultat
endcase
*-----------------------------------
function SommeDesProduits(obj, Resultat)

  local Success
  Success = TRUE

  local p1, p2
  Resultat = 0

  do while m.Success and m.obj.DeQueue(@m.p1, @m.p2)
    Resultat = m.Resultat + m.p1 * m.p2
  enddo

  return m.Success

endfunc
*-----------------------------------
Commentaires
Aucun commentaire enregistré ...

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2020.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3