cs_Emcy
Messages postés42Date d'inscriptionmercredi 1 octobre 2003StatutMembreDernière intervention17 juillet 2012
-
25 mars 2005 à 11:23
cimcim
Messages postés31Date d'inscriptionmardi 11 janvier 2005StatutMembreDernière intervention29 juillet 2010
-
4 avril 2005 à 16:53
Bonjours,
j'ai essayé de crée une collection comme ceci :
Dim MaCollection As New Arraylist()
Dim MonTableau(2) As Int16
Dim i As int16
cimcim
Messages postés31Date d'inscriptionmardi 11 janvier 2005StatutMembreDernière intervention29 juillet 2010 4 avril 2005 à 12:11
Je ne suis pas sur, mais est ce que le arrayList ne contient pas des pointeurs (comme en C), et donc contient la valeur de MonTableau(0), MonTableau(1) et MonTableau(2)
essaye avec
dim MaCollection as New Collection, je nne sais plus, mais peut etre que ca contient les valeurs, et non des pointeurs.
cimcim
Messages postés31Date d'inscriptionmardi 11 janvier 2005StatutMembreDernière intervention29 juillet 2010 4 avril 2005 à 15:45
Petite question comme ca...
Si tu regarde exactement ce que tu as dans ton arrayList, tu obtient 2 tableaux, ou 6 entiers ?
tu doix avoir un truc du genre MaCollection.count, je suppose...
Sinon, si tu fais
MonTableau(0)=1
MonTableau(1)=2
MonTableau(2)=3
for i = 0 to 2
MaCollection.add (MonTableau(i)
)
next
MonTableau(0)=4
MonTableau(1)=5
MonTableau(2)=6
for i = 0 to 2
MaCollection.add (MonTableau(i)
)
next
ton show donne quoi ?
Attention, je n'ai pas mon PC aujourd'hui, donc pas de VB, donc y a surement des fautes, car ce n'est pas testé...
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Emcy
Messages postés42Date d'inscriptionmercredi 1 octobre 2003StatutMembreDernière intervention17 juillet 2012 4 avril 2005 à 15:54
cimcim, ta solution n'est pas viable car tu ajoutes 3x2 éléments à ta collection alors que je n'en voulais que 2.
cette solution fonctionne rentrer tous les elments dans la collection : après pour les resortir, il suffit de faire des for avec des step de 3 => avec cette solution je peux arriver au même resultat mais je voulais savoir pourquoi ça ne marche pas : c'est quand même beaucoup plus lisible de raisonner avec des tableau que de faire cette solution.
cs_Emcy
Messages postés42Date d'inscriptionmercredi 1 octobre 2003StatutMembreDernière intervention17 juillet 2012 4 avril 2005 à 15:55
cimcim, ta solution n'est pas viable car tu ajoutes 3x2 éléments à ta collection alors que je n'en voulais que 2.
cette solution fonctionne pour rentrer tous les elments dans la collection : après pour les resortir, il suffit de faire des for avec des step de 3 => avec cette solution je peux arriver au même resultat mais je voulais savoir pourquoi ça ne marche pas : c'est quand même beaucoup plus lisible de raisonner avec des tableaux que de faire cette solution.
cimcim
Messages postés31Date d'inscriptionmardi 11 janvier 2005StatutMembreDernière intervention29 juillet 2010 4 avril 2005 à 16:53
okay, donc si j'ai bien compris, tu veux que ta collection contienne des tableaux d'entiers, et non des entiers.
Je pense que le problème vient de la. Quand tu fait un add(MonTableau), il doit prendre l'adresse en memoire de ton tableau, et la mettre en lien, donc, quand tu modifie les valeurs de ton tableau, ton adresse memoire ne change pas, à moins de définir un 2e tableau, et le lien pointe sur les nouvelles valeurs.
En fait dans ma solution, je rajoute les élements du tableau 1 par 1, mais en prenant les entiers, et non leur adresse...
Je fait quelque recherche, et je te tiens au courant.