PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Pour les pros de POO : ajouter une instance à un tableau d'objet depuis une méthode de cet objet
Pour les pros de POO : ajouter une instance à un tableau d'objet depuis une méthode de cet objet
Débuté par Pierre, 21 mar. 2018 16:48 - 2 réponses
Posté le 21 mars 2018 - 16:48
Bonjour,

J'essaie de présenter mon besoin clairement. Si je suis à côté,
dites-le.
J'ai une classe DossierType
Membres : NoDossier, NomContact ...

MesDossiers est un tableau de DossierType
sListe est une chaine (avec des références séparées par TAB)

J'aimerais, à partir de la méthode
MesDossiers.Remplir(sListe)
générer les occurrences de mon tableau MesDossiers
pour après le parcourir comme ceci :

trace(MesDossiers[1].Nodossier)

Je voudrai éviter de traiter sListe en dehors de la classe.

Est-ce possible ? Comment ajouter des occurences d'un classe à partir
de cette classe ?

Merci d'avance pour votre aide.

--
Cordialement,
Pierre
Membre enregistré
136 messages
Popularité : +12 (14 votes)
Posté le 22 mars 2018 - 08:27
Bonjour Pierre,
Il me semble que la solution à ton problème serait l'implémentation d'une procédure globale dans ta classe DossierType

Voici les éléments que j'ai pu tester avec succés :

1/ La Classe DossierType :

DossierType est une Classe
m_nNODossier est un entier
m_sNomContact est une chaîne
FIN

Procedure PUBLIQUE GLOBALE Remplir(t est un tableau de DossierType, sListe est une chaîne)

d est un DossierType dynamique

POUR TOUTE chaîne ch, nPos, nCompteur de sListe SEPAREE PAR TAB

d = allouer un DossierType()
d.m_nNODossier = nCompteur
d.m_sNomContact = ch
t.Ajoute(d)

FIN


2/ Le programme de test

tabMesDossiers est un tableau de DossierType

sListe est une chaîne = "aaa" + TAB + "bbb" + TAB + "ccc"

DossierType.Remplir(tabMesDossiers,sListe)

POUR TOUT clDossier de tabMesDossiers
Trace(clDossier.m_nNODossier + " " + clDossier.m_sNomContact)
FIN


3/ Le résultat






En espérant que c'est ce que tu recherchais

Christophe
Posté le 22 mars 2018 - 09:26
Merci Christophe pour cette réponse super détaillée.

Je suis en déplacement, je testerai ce soir

Bonne journée

--
Cordialement,
Pierre