Re: Copie de classe

Posté par R&B le 12/8/2004 10:30:28
OK, reprenons stp ta hiérarchie de classes.
Une première classe C1 contient des tableau de classes C2_1...C2_N et tu veux dupliquer un objet C1.

On a vu que transfert passe pour les classes simple et que getinstance permet la duplication complexe.

je propose donc un savant mixage des deux (ce que tu devrais avoir essayé ) à savoir le getinstance() pour les membre normaux et des transferts pour les éléments de tes tableaux !

PROCEDURE GetInstance(poinstance)
poinstance=allouer un Synoptique
poinstance:NbForme=:NbForme
poinstance:NbVariable=:NbVariable
poinstance:NbMotCle=:NbMotCle
poinstance:NbCouleur=:NbCouleur
poinstance:NbPolice=:NbPolice
poinstance:NbClig=:NbClig
poinstance:Nom=:Nom
poinstance:Pave=:Pave
poinstance:Separateur=:Separateur
poinstance:Commentaires=:Commentaires
poinstance:PATHBMP=:PATHBMP
poinstance:PATH=:PATH
poinstance:IncCouleurs=:IncCouleurs
poinstance:IncPolices=:IncPolices
poinstance:IncFormes=:IncFormes
// pour les tableaux il faut les parcourir
i,j,k sont des entiers
j=dimension(TabForme)
SI j ALORS
   POUR i=1 à j
      // ajoute une ligne au tableau de la copie
      // normalement i=k mais je préfère assurer
      k=dimension(poinstance:TabForme,dimension(poinstance:TabForme)+1)
      // y transfer la classe
      Transfert(&poinstance:TabForme[k],&:TabForme[i],dimension(:TabForme[i]))
   FIN
FIN
//... idem avec les autres tableaux, si les classes contenues sont 'simples' ce que je te recommande
FIN



Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=12&topic_id=1208&post_id=4895