Probleme d'ajout dans une liste vb
Résolu/Fermé
ayumie
Messages postés
14
Date d'inscription
vendredi 8 février 2013
Statut
Membre
Dernière intervention
16 avril 2015
-
5 déc. 2014 à 23:12
ayumie Messages postés 14 Date d'inscription vendredi 8 février 2013 Statut Membre Dernière intervention 16 avril 2015 - 6 déc. 2014 à 00:10
ayumie Messages postés 14 Date d'inscription vendredi 8 février 2013 Statut Membre Dernière intervention 16 avril 2015 - 6 déc. 2014 à 00:10
A voir également:
- Probleme d'ajout dans une liste vb
- Liste déroulante excel - Guide
- Vb - Télécharger - Langages
- Liste déroulante en cascade - Guide
- Vb cable - Télécharger - Audio & Musique
- Liste code ascii - Guide
2 réponses
NHenry
Messages postés
15214
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
16 avril 2025
363
Modifié par NHenry le 5/12/2014 à 23:22
Modifié par NHenry le 5/12/2014 à 23:22
Il aurait été bien de préciser que tu fais un VB.NET, cela évite de penser que c'est du VB6/A.
Ensuite, à la place de ArrayList, essayes plutôt une List(Of Char()), ce sera plus sûr.
Pour ton for :
For i= 0 To 2
Actives "Option Explicit" et "Option Strict" dans les propriétés de ton projet.
A la place de mettre des bornes en dur, un :
For i=0 to mat.GetUpperBound(0)
serait mieux.
tu peux aussi utiliser For Each :
For Each lLine in mat
lLine contiendra la valeur de ta case de ton tableau.
Dans ton for, tu fais :
Tu ajoutes ton tableau à ton ArrayList, puis tu écrase l'item suivant (et non l'item actuel).
Pour information, les tableaux sont ajoutés en référence, donc modifier le tableau modifie aussi les références ajoutées.
Essayes d'utiliser :
suc.Add(mat.ToArray())
If a Dalek is a being of pure hate...what happens when Cadence uses her love spell on one?
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
Ensuite, à la place de ArrayList, essayes plutôt une List(Of Char()), ce sera plus sûr.
Pour ton for :
For i= 0 To 2
Actives "Option Explicit" et "Option Strict" dans les propriétés de ton projet.
A la place de mettre des bornes en dur, un :
For i=0 to mat.GetUpperBound(0)
serait mieux.
tu peux aussi utiliser For Each :
For Each lLine in mat
lLine contiendra la valeur de ta case de ton tableau.
Dans ton for, tu fais :
For i = 0 To 2 suc.Add(mat) mat(i + 1) = "T" MessageBox.Show(suc.Item(i)) Next
Tu ajoutes ton tableau à ton ArrayList, puis tu écrase l'item suivant (et non l'item actuel).
Pour information, les tableaux sont ajoutés en référence, donc modifier le tableau modifie aussi les références ajoutées.
Essayes d'utiliser :
suc.Add(mat.ToArray())
If a Dalek is a being of pure hate...what happens when Cadence uses her love spell on one?
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
ayumie
Messages postés
14
Date d'inscription
vendredi 8 février 2013
Statut
Membre
Dernière intervention
16 avril 2015
5 déc. 2014 à 23:38
5 déc. 2014 à 23:38
merci pour la réponse voila j'ai essayer avec
est ce que tu peut m'aidez
suc = New List(Of Char()) mat = {"X", "_", "O", "_"} For Each lLine In mat suc.Add(lLine) 'jai une erreur ici Dim j As Integer = 0 mat(j + 1) = "T" j += 1 MessageBox.Show(suc.Item(j)) Next
est ce que tu peut m'aidez
NHenry
Messages postés
15214
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
16 avril 2025
363
5 déc. 2014 à 23:49
5 déc. 2014 à 23:49
"jai une erreur ici"
Quelle erreur ?
Tu veux ajouter quoi à ton "suc" ?
Les caractères ou le tableau de caractères ?
Quelle erreur ?
Tu veux ajouter quoi à ton "suc" ?
Les caractères ou le tableau de caractères ?
ayumie
Messages postés
14
Date d'inscription
vendredi 8 février 2013
Statut
Membre
Dernière intervention
16 avril 2015
>
NHenry
Messages postés
15214
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
16 avril 2025
5 déc. 2014 à 23:52
5 déc. 2014 à 23:52
le tableau de caractères.
NHenry
Messages postés
15214
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
16 avril 2025
363
6 déc. 2014 à 00:01
6 déc. 2014 à 00:01
Dans ce cas, Il faut ajouter ton tableau (avec le ".ToArray()") et utiliser un for classique (avec le GetUpperBound).
Pour ta variable "j", attention à la portée, la portée que tu lui a mi fait qu'elle est remise à 0 à chaque boucle (car déclarée dans le for).
Pour ta variable "j", attention à la portée, la portée que tu lui a mi fait qu'elle est remise à 0 à chaque boucle (car déclarée dans le for).
ayumie
Messages postés
14
Date d'inscription
vendredi 8 février 2013
Statut
Membre
Dernière intervention
16 avril 2015
>
NHenry
Messages postés
15214
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
16 avril 2025
6 déc. 2014 à 00:10
6 déc. 2014 à 00:10
MERCI pour tous ça marche très bien ^_^ avec (suc.Add(mat.ToArray)) bonne continuation