begin process at 2012 02 15 13:06:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

General

 > 

Récupérer un élément d'une classe


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Récupérer un élément d'une classe

jeudi 24 juillet 2008 à 17:46:37 | Récupérer un élément d'une classe

CharlEm

Bonjour,

Comment-puis faire pour récupérer une valeur d'un champ d'un classe en lui passant le nom de mon champ en paramètre ?

Dans mon code principal j'appel et je construit deux collections de classes puis dans une seule et même fonction, j'aimerais pouvoir appeller n'importe quel élément d'une de mes classes pour faire des contrôles.

Private Sub Form_Load()
   Dim colProduit  As New Collection
   Dim eleProduit  As New produit <== une de mes classes
   Dim colRayon   As New Collection
   Dim eleRayon   As New rayon <== une de mes classes
...
   CheckProduits(eleProduit, colProduit, "prix")
   CheckRayons(eleRayon, colRayon,"taille")
...
End Sub

Public Function CheckItems(Element as object, Collection as collection, champ as string)
   For Each Element In Collection
      debug.print element.item("prix") ==> l'objet ne gère pas cette propriétée ou cette méthode
   Next Element
End Function

J'ai essayé element.item(1) => pareil ça marche pas

Par contre, si je fais :
debug.print element.prix ==> là c'est bon mais alors je perd le coté dynamique que je voulais.
Je ne peux pas non plus mettre Public Function CheckItems(Element as Produit,... sinon là aussi je perd le coté dynamique.

Quelqu'un a une idée pour avoir le PRIX de ELEMENT ?

Merci d'avance
jeudi 24 juillet 2008 à 23:39:18 | Re : Récupérer un élément d'une classe

titicar

Réponse acceptée !
Holà!

En lisant les premières lignes de ton message, j'ai cru comprendre le sens de ta question.
Mais en lisant ton extrait de code source, je n'y comprend plus grand chose.
Ca serait bien que tu cernes ton problème, mais en oubliant le contexte de ton programme et en donnant un code source plus exploitable.

Vu que je n'ai pas tout compris, je vais te donner le 1er truc qui m'ai passé par la tête en lisant le début de ton post (suis-je hors sujet?) :
La fonction CallByNameexécute une méthode d'un objet, ou définit ou renvoie une propriété d'un objet...une classe étant aussi un objet.

A part ça, quelque chose m'intrigue dans ton code : ta Function CheckItems(...) ne renvoit pas de résultat.
Généralement, on écrit :
Function MaFunction (Parametre As ...) As ...
Si ta fonction ne doit pas renvoyer de résultat, alors autant utiliser une Sub:
Sub MaSub (Parametre as ...)
... Sachant que Parametre peut renvoyer ou non une nouvelle valeur s'il est déclaré avec ByRef ou ByVal...

titicar
vendredi 25 juillet 2008 à 13:40:58 | Re : Récupérer un élément d'une classe

CharlEm

Excellent ça fonctionne avec CallByName(Element,champ,VbGet).

De fait tu as raison c'est un Sub et pas une Function.

Un tout grand merci pour cette fonction interne que je ne connaissait pas.


Cette discussion est classée dans : élément, récupérer, element, prix, collection


Répondre à ce message

Sujets en rapport avec ce message

Récupérer index d'un element d'une collection [ par clemse31 ] Bonjour, j'aimerai savoir comment récupérer l'index d'un élément d'une collection contenant une certaine chaine de caractère. Merci Récupérer le 5ème élément d'une chaine [ par scoboy ] Bonjour à tous,Avec une liaison série je récupère cette information "01DP152" dans un textbox, mais je voudrais juste récupérer "152". J'ai vu qu'il y récupérer une référence d'un élément sélectionné dans une liste déroulante [ par keopsk ] Bonjour,J'ai une liste de référence que je dois afficher dans une liste déroulante. Jusqu'à présent j''utilise une combobox pour sélectionner un éléme Element présent dans une collection [ par the_little_big_man ] vous savez s'il y a un moyen de savoir qu'un item est present dans une collection sans avoir à parcourire toute la collection en faisant des comparais recursive et collection de collection .... [ par romagny13 ] Bonjour ,voila j'ai un peit probleme avec une recursive (c'est pas trop mon truc)il faudrait que lorsque j'appelle ma fonction recursive je lui passe Recuperer le premier element d'une liste [ par dgmc ] bonjour , je travaille sur une appli vb5. sur cette appli jai une liste qui se construit automatiquement et sur laquelle je ne clique pas. Elle me ser récupérer la valeur de cellules Excel et affectation à des TextBox [ par matfouc ] Bonjour, débutant en VBA sous Excel, je souhaite développer un soft de gestion de collection de timbres. Mais pour l'instant je bloque à récupérer des Modifier un élément d'un tableau d'une collection... [ par deseb ] Bonjour,Je viens de créer une collection de tableaux (de 30 Single), je peux lire les membres de mon tableau mais je ne peux pas aller modifier un de Element d'une collection en premier [ par peug ] Bonjour,Quelqu'un a une astuce pour que lorsque j'ajoute un élément dans une collection il soit placé directement en premier (pour info je n'utilise p Collection [ par Emcy ] Bonjours,j'ai essayé de crée une collection comme ceci :          Dim MaCollection As New Arraylist()          Dim MonTableau(2) As Int16


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,243 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales