[WinDev 10] Construire dynamiquement un nom d'objet
11 réponses
Jean-Luc Baptiste
Bonjour,
Je souhaite créer des noms objets dynamiquement, j'ai essayé les
indirections mais sans succés. Hors, il y a quelques temps j'y étais
arrivé (alzheimer surement ;-))
Si quelqu'un a la solution...
Exemple
i est un entier
pour i=1 à 10
Nomobjet+i est un objet maclasse
fin pour
Jean-Baptiste, je n'arrive pas à t'envoyer en privé les classes en question !
J'ai un mail de retour me disant ceci
****************** ----- The following addresses had permanent fatal errors -----
(reason: 550 user unknown) ******************
Donc, si tu pouvais me dire comment te faire parvenir la classe en privé...
Pascal
Jean-Luc Baptiste a écrit :
Pascal ROY a écrit :
Bonjour,
Perso, je déclarerais un tableau dynamique global à l'appli.
gMesObjets est un tableau dynamique = Null gnNbObjets est un entier = 0 //Ca sert a connaitre le nombre d'objets
Ensuite Si tu connais le nb de compte tu peux directement allouer le bon nombre Ex : gMesObjets = Allouer tableau de kNbCompte ObjetCompte
tantque gNbObjets < kNbCompte Si t'as choisi la 1ere Solution tu ecrit directement gnNbObjets ++ gMesObjets[ gnNbObjets] = Allouer un est un ObjetCompte( ) Sinon gnNbObjets ++ Si gnNbObjets = 1 alors gMesObjets = Allouer un Tableau de 1 ObjetCompte Sinon Dimension( gMesObjets, gnNbObjets) Fin gMesObjets[ gnNbObjets] = allouer un ObjetCompte( ) Fin fin tq
Dans ce cas, il faut faire, en fin de projet
Si gMesObjets <> NULL alors pour i = 1 à gnNbObjets liberer( gMesObjets[ i]) fin Liberer( gMesObjets) fin
Voila !
Personnellement, comme je suis un peu fainéant, je me suis créé une classe "Collection" qui contient un tableau d'objets d'un type CollectionItem.
Je dérive mes objets à mettre en liste d'une classe virtuelle CollectionItem, et hop ! En route vers la gloire :-)
Pascal
C'est sympa comme solution ! Je teste au plus tot.
Peux-tu m'en dire plus au sujet de ta classe collection ? Les méthodes majeures ?
Merci
Jean-Baptiste, je n'arrive pas à t'envoyer en privé
les classes en question !
J'ai un mail de retour me disant ceci
******************
----- The following addresses had permanent fatal errors -----
<jeanluc.baptiste@free.fr>
(reason: 550 user unknown)
******************
Donc, si tu pouvais me dire comment te faire parvenir la classe en privé...
Pascal
Jean-Luc Baptiste a écrit :
Pascal ROY a écrit :
Bonjour,
Perso, je déclarerais un tableau dynamique global à l'appli.
gMesObjets est un tableau dynamique = Null
gnNbObjets est un entier = 0 //Ca sert a connaitre le nombre d'objets
Ensuite
Si tu connais le nb de compte tu peux directement allouer le bon nombre
Ex : gMesObjets = Allouer tableau de kNbCompte ObjetCompte
tantque gNbObjets < kNbCompte
Si t'as choisi la 1ere Solution tu ecrit directement
gnNbObjets ++
gMesObjets[ gnNbObjets] = Allouer un est un ObjetCompte( )
Sinon
gnNbObjets ++
Si gnNbObjets = 1 alors
gMesObjets = Allouer un Tableau de 1 ObjetCompte
Sinon
Dimension( gMesObjets, gnNbObjets)
Fin
gMesObjets[ gnNbObjets] = allouer un ObjetCompte( )
Fin
fin tq
Dans ce cas, il faut faire, en fin de projet
Si gMesObjets <> NULL alors
pour i = 1 à gnNbObjets
liberer( gMesObjets[ i])
fin
Liberer( gMesObjets)
fin
Voila !
Personnellement, comme je suis un peu fainéant, je me
suis créé une classe "Collection" qui contient un tableau
d'objets d'un type CollectionItem.
Je dérive mes objets à mettre en liste d'une classe virtuelle
CollectionItem, et hop ! En route vers la gloire :-)
Pascal
C'est sympa comme solution ! Je teste au plus tot.
Peux-tu m'en dire plus au sujet de ta classe collection ? Les méthodes
majeures ?
Jean-Baptiste, je n'arrive pas à t'envoyer en privé les classes en question !
J'ai un mail de retour me disant ceci
****************** ----- The following addresses had permanent fatal errors -----
(reason: 550 user unknown) ******************
Donc, si tu pouvais me dire comment te faire parvenir la classe en privé...
Pascal
Jean-Luc Baptiste a écrit :
Pascal ROY a écrit :
Bonjour,
Perso, je déclarerais un tableau dynamique global à l'appli.
gMesObjets est un tableau dynamique = Null gnNbObjets est un entier = 0 //Ca sert a connaitre le nombre d'objets
Ensuite Si tu connais le nb de compte tu peux directement allouer le bon nombre Ex : gMesObjets = Allouer tableau de kNbCompte ObjetCompte
tantque gNbObjets < kNbCompte Si t'as choisi la 1ere Solution tu ecrit directement gnNbObjets ++ gMesObjets[ gnNbObjets] = Allouer un est un ObjetCompte( ) Sinon gnNbObjets ++ Si gnNbObjets = 1 alors gMesObjets = Allouer un Tableau de 1 ObjetCompte Sinon Dimension( gMesObjets, gnNbObjets) Fin gMesObjets[ gnNbObjets] = allouer un ObjetCompte( ) Fin fin tq
Dans ce cas, il faut faire, en fin de projet
Si gMesObjets <> NULL alors pour i = 1 à gnNbObjets liberer( gMesObjets[ i]) fin Liberer( gMesObjets) fin
Voila !
Personnellement, comme je suis un peu fainéant, je me suis créé une classe "Collection" qui contient un tableau d'objets d'un type CollectionItem.
Je dérive mes objets à mettre en liste d'une classe virtuelle CollectionItem, et hop ! En route vers la gloire :-)
Pascal
C'est sympa comme solution ! Je teste au plus tot.
Peux-tu m'en dire plus au sujet de ta classe collection ? Les méthodes majeures ?