cs_MagDix
Messages postés531Date d'inscriptionlundi 5 juin 2006StatutMembreDernière intervention 6 octobre 2012
-
3 juin 2008 à 18:43
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 2009
-
4 juin 2008 à 00:02
Salut...
Je cherche un moyen pour remplir un tableau à partir d'un Combobox
J'essais un truc du genre dans une boucle
Dim Tableau as String ()
Dim i As Integer = 0
For i = 0 To Combobox.Items.Count - 1
cbxCopie.Items.Add(Combobox.GetItemText(Combobox.Items.Item(i)))
If i = 0 Then
ReDim Tableau(i)
Else
ReDim Preserve Tableau(i)
End If
Tableau = Combobox.Items.Item(i)
Next
Mais ca génère un erreur...
Comment on fait pour mettre mon combobox dans un Tableau
cs_Megafan
Messages postés389Date d'inscriptiondimanche 7 avril 2002StatutMembreDernière intervention23 septembre 20162 3 juin 2008 à 19:13
de plus ton if i=0 jusqu'au end if
ca sert pas a grand chose
avant ton for, dimensionne ton tableau genre redim tableau (combobox.items.count -1)
@+
Megafan
Kevin.Ory, je pense que tu as codé un oeu trop vite
Dim Tableau(-1) As String
D'ou sort ce -1 ?
For each Item As TrucChose In Combobox.Items
Tableau(i) = Item.ToString
Next
Si tu ne définis pas i et si tu ne l'incrémente pas, ca ne va pas faire le résultat attendu.
__________
Kenji
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 4 juin 2008 à 00:02
Dim Tableau(-1) As String déclare un tableau de longueur 0
Hé oui, il faut le savoir... j'avais bien trimé pour trouver ça à l'époque
Par contre, effectivement ça ne fonctionne pas mon code Pourtant
je suis sûr que ça fonctionne dans un cas semblable, lorsque on ne peut pas connaitre le nombre d'éléments avant d'avoir le tableau, mais je ne sais plus quoi (appels d'API je pense).
Donc il faut effectivement déclarer le tableau à la bonne taille, le code devient donc:
Dim Tableau(Combobox.Items.Count - 1) As String
Combobox.Items.CopyTo(tab, 0)
Et pour la deuxième remarque, tu as tout à fait raison, je devrais mieux relire mon code avant de poster
J'avais d'abord fais avec une incrémentation de i, puis j'ai mal cru que je pouvais simplifier avec un For Each. Donc voici le code avec l'incrémentation de i:
Dim Tableau(Combobox.Items.Count - 1) As String
For i As Integer = 0 To Combobox.Items.Count - 1
Tableau(i) = Combobox.Items(i).ToString
Next