PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Création d'objet dynamiquement
Création d'objet dynamiquement
Débuté par Albert-Pierre Hache, 04 avr. 2005 21:07 - 2 réponses
Posté le 04 avril 2005 - 21:07
Bonjour, est-il possible de créer des objets d'une façon dynamique?
Le nom de l'objet devrait être du style Filex1, Filex2, Filex3, ...
suivant le nombre d'enregistrements que j'ai dans une table HF.
Merci pour vos idées.

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Posté le 05 avril 2005 - 11:52
en direct dans le style
i est un entier
pour i = 1 à 10
"File"+i = new object
fin

NON !!! malheureusement

moi j'utilise des tableaux dynamiques d'objets

// classe du tableau
ClTableauDyn est une classe
MonTableau est un tableau dynamique
MonObjEnCours est un objet dynamique
Fin

// Construteur
MonTableau = allouer un tableau de 0 objet dynamique

// Destructeur
i,j sont des entiers

j = tableauinfo(:MonTableau,tiNombreTotal)
pour i = 1 à J
Libérer :MonTableau[i]
fin
Liberer :MonTableau

// intencier un objet de la classe ClTableauDyn
TabObjet est un objet ClTableauDyn

// ajouter des objets en boucle
MonObjetTmp est un objet dynamique
i est un entier
Pour i = 1 à X
MonObjetTmp = allouer un objet MaClasse(param1,param2...)
TabObjet:AjouterObjet(MonObjetTmp)
MonObjetTmp = Null
Fin
Liberer MonObjetTmp


// méthode AjouterObjet
PROCEDURE AjouterObjet(pObjet)

TableauAjoute(:MonTableau,pObjet)

Pour fixer l'objet en cours
TabObjet:MonObjEnCours = TabObjet:MonTableau[Indice de l'objet]

Pour travailler avec un objet
TabObjet:MonObjEnCours

Pour connaître le type d'objet
TabObjet:MonTableau[Indice]..Classe

En général j'utilise un tableau par classe c'est plus simple à gérer, mais on peut aussi
mettre des objets de différentes classe dans le même tableau.

TabMaClasse1 est un ClTableauDyn // tableau des objets de MaClasse1
TabMaClasse2 est un ClTableauDyn // tableau des objets de MaClasse2
...

PS : on peut utiliser toutes les fonctions de gestions des tableaux
et notamment Tableauinsère et TableauTri pout trier le tableau sur la valeur d'un ou plusieurs membres.

bon dev
patrice
Posté le 06 avril 2005 - 19:12
patrice a formulé ce mardi :
en direct dans le style
i est un entier
pour i = 1 à 10
"File"+i = new object
fin

NON !!! malheureusement

moi j'utilise des tableaux dynamiques d'objets

// classe du tableau
ClTableauDyn est une classe
MonTableau est un tableau dynamique
MonObjEnCours est un objet dynamique
Fin

// Construteur
MonTableau = allouer un tableau de 0 objet dynamique

// Destructeur
i,j sont des entiers

j = tableauinfo(:MonTableau,tiNombreTotal)
pour i = 1 à J
Libérer :MonTableau[i]
fin
Liberer :MonTableau

// intencier un objet de la classe ClTableauDyn
TabObjet est un objet ClTableauDyn

// ajouter des objets en boucle
MonObjetTmp est un objet dynamique
i est un entier
Pour i = 1 à X
MonObjetTmp = allouer un objet MaClasse(param1,param2...)
TabObjet:AjouterObjet(MonObjetTmp)
MonObjetTmp = Null
Fin
Liberer MonObjetTmp


// méthode AjouterObjet
PROCEDURE AjouterObjet(pObjet)

TableauAjoute(:MonTableau,pObjet)

Pour fixer l'objet en cours
TabObjet:MonObjEnCours = TabObjet:MonTableau[Indice de l'objet]

Pour travailler avec un objet
TabObjet:MonObjEnCours

Pour connaître le type d'objet
TabObjet:MonTableau[Indice]..Classe

En général j'utilise un tableau par classe c'est plus simple à gérer, mais on
peut aussi mettre des objets de différentes classe dans le même tableau.

TabMaClasse1 est un ClTableauDyn // tableau des objets de MaClasse1
TabMaClasse2 est un ClTableauDyn // tableau des objets de MaClasse2
..

PS : on peut utiliser toutes les fonctions de gestions des tableaux
et notamment Tableauinsère et TableauTri pout trier le tableau sur la valeur
d'un ou plusieurs membres.

bon dev
patrice


Merci beaucoup pour tes explications, c'est ce que je cherché. Je
débute en POO mais grace à tes infos, je vais pouvoir avancer d'un
grand pas.

Albert-Pierre.

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com