Appel foireux d'une classe d'arbre binaire [VBA] [Résolu] - VB/VBA/VBS - Programmation
Marsh Posté le 23-08-2006 à 07:32:30
Bonjour,
pour mon information:
1) quelle référence pour traiter les tree?
2) pourquoi temp.adnode pour apppeler un sub ?
Cordialement
Marsh Posté le 23-08-2006 à 15:37:17
Salut
1/ Aucune référence
2/ euh pcq je crois que pour appeller une procédure d'une classe il faut utiliser dans le module principal le format objet.procédure paramètres
Mais vu que j'utilise royalement les classes depuis 2 jours et demi, je peux (certainement) me tromper...
Marsh Posté le 23-08-2006 à 17:54:29
bonsoir,
Je ne suis moi-même qu'un béotien dans ce sport, mais :
Citation : pour appeller une procédure d'une classe il faut utiliser dans le module principal le format objet.procédure paramètres |
: il faut Non.
On peut : sans doute.
Mais il m'étonnerait que ce paramètre puisse être un objet de la classe.
Conceptuellement je ne vois d'ailleurs pas l'interet. Tout mes essais butent sur cet appel de src = tree.
Euh... Pour tes débuts tu pourrais peut-être commencer avec des classes concrètes :
Crée des classes voitures avec des propriétés évidentes couleur = rouge, radio, clim jantes... et des méthodes aussi évidentes : repeindre en bleu, ajouter la clim...
A+
Marsh Posté le 23-08-2006 à 19:15:56
galopin01 a écrit : bonsoir, |
Ben en fait dans ce cas là c'est justement ca que je dois faire, puisque je dois faire une procédure récursive qui doit
* si pas de noeud existant en créer un
* sinon rajouter à un noeud à l'arbre existant (et donc appeller en paramètre le susdit arbre..
Bon maintenant la manière de procéder n'est peut etre pas exacte... => la question
galopin01 a écrit : |
C'est une classe concrète non...?
Et puis pourquoi faire simple quand on peut faire compliqué..
Non en fait j'en en besoin pour le boulot et j'ai déjà testé avec des classes plus faciles mais pour lesquelles je n'avais (forcément) pas de problème..
Tks
GP
Marsh Posté le 23-08-2006 à 20:04:07
Bonsoir,
Je ne sais pas, c'est un peu trop abstrait pour moi. J'ai bien compris ton problème mais je n'ai jamais vu de telles pratiques même dans des modules de classe un peu chiadés.
Bon courage.
A+
Marsh Posté le 23-08-2006 à 20:13:46
En fait je me rends compte que la lecture est un peu longue du code et que tout n'est pas nécessaire à la compréhension du probleme...
Je reposte uniquement le code essentiel
* Concernant la classe Tree
Code :
|
*concernant l'appel à la procédure AddNode dans un module classique et donc le problème
Code :
|
Par ailleurs, j'ai vu qqpart l'utilisation de "ME" mais je ne sais pas très bien comment ca fonctionne..Si qqun sait m'expliquer..
Tks GP
Marsh Posté le 25-08-2006 à 09:58:20
Bonjour,
tout d'abord MERCI, car ton post m'a amenè à découvrir l'usage des modules de classe et à découvrir les arbres binaires.
Avant le set temp = New tree
tu places :
Dim temp As tree
Chez moi cela fonctionne
Par contre, comme j'ai testé sous excel, j'ai transformé le Max en Dmax, où se trouve Max (Access?)
Cordialement
Marsh Posté le 29-08-2006 à 14:27:27
Et il faut aussi rajouter
Set create = New tree
au début de la fonction Create
Merci Beuacoup ca marche aussi pour moi
Marsh Posté le 23-08-2006 à 00:36:01
Bonjour à tous (ou bonsoir c'est selon)
J'ai créé une classe Tree qui correspond à un objet de type arbre binaire (un élément data et deux pointeurs Up et down vers des arbres)
JE poste le code de la classe
1/ Si vous voyez une erreur qqpart ou des améliorations notoires, n'hésitez pas à me le dire ... ;-)
2/ LE problème est le suivant:
Dans mon module je fais un test pour voir si tout fonctionne bien et en particulier la procédure addnode
=>
A la ligne temp.addnode.... je recois lors du débug un msg box run time error 13: type mismatch....
La question...: quel saint dois je prier pour trouver la solution...?????
Merci d'avance et a +
GP
Message édité par Gentil_poussin le 29-08-2006 à 14:27:53