TXT--->Tableau()--->Object--->ComboBox--->ERROR

Vectteur Messages postés 5 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 4 avril 2005 - 21 déc. 2004 à 03:17
Vectteur Messages postés 5 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 4 avril 2005 - 21 déc. 2004 à 15:21
Private Sub endroititems()

Dim i As Integer
Dim pays As String
Dim objpays(199) As System.Object
Dim tabpays(199) As String

If System.IO.File.Exists(chemin + "pays.txt") Then

i = 0

objread = System.IO.File.OpenText(chemin + "pays.txt")

While objread.Peek <> -1

pays = objread.ReadLine()
tabpays(i) = pays
i = i + 1

End While

For i = 0 To 199

If tabpays(i) <> "" Then

objpays(i) = tabpays(i)

End If

Next

*****cbendroit.Items.Add(objpays)*****
MessageBox.Show("endroit initialisé")

Else

MessageBox.Show("fichier manquant")

End If

End Sub

-------------------------------------------------------------------------

*****Problème*****

la valeur ne peut pas être NULL

-------------------------------------------------------------------------

j'ai séparé mes 2 boucles pour tenter d'isoler le problème, ca semble être mon READLINE qui est mal utilisé. Je ne programme que depuis 2 mois et je ne connais pas toutes les subtilitées...

merci de réfléchir avec moi, ca fait 2 nuit là...

6 réponses

AnteManoclis Messages postés 154 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 6 septembre 2007
21 déc. 2004 à 10:29
Salut,
La boucle For doit-elle forcément aller de 0 à 199 ?
Tchô ;)
AnteManoclis
0
Vectteur Messages postés 5 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 4 avril 2005
21 déc. 2004 à 12:34
en fait mon TXT fait 194 ligne, j'ai ajouté un compteur à chaque boucle pour vérifier, car je sais pas comment utiliser l'espion de variable... :(

cette nuit j'ai isolé le problème, je crois que mon tableau de 'string' se remplit, mais lors du transfert dasn un object, je perd tout. Il semble qu'un 'system.object' peut contenir tout sauf des strings, et je ne peux pas convertir un string en integer ou autre..

seulement, je ne sais pas quoi utiliser d'autre qu'un 'system.object' pour remplir un combobox, et je ne m'abaisserai pas à copier les 194 lignes manuellement.... rapide mais barbare, je veux quelque chose de dynamique..

sur votre topic on a semblé dire que c'était un problème assez simple... espéront
0
madbob Messages postés 285 Date d'inscription dimanche 14 décembre 2003 Statut Membre Dernière intervention 13 mars 2012
21 déc. 2004 à 12:37
Mets une trace, utilise le débugger et joue avec la valeur de ton indice de liste...

Tu vas comprendre...

madbob
0
madbob Messages postés 285 Date d'inscription dimanche 14 décembre 2003 Statut Membre Dernière intervention 13 mars 2012
21 déc. 2004 à 12:55
Tu codes en ? je reconnais pas la structure habituelle de VB

comme pour la boucle while
while
wend

madbob
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
AnteManoclis Messages postés 154 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 6 septembre 2007
21 déc. 2004 à 13:08
Essai ça, peut-être cela va-t-il fonctionner:

 Dim i As Integer, j as Integer
Dim pays As String
Dim objpays(199) As System.Object
Dim tabpays(199) As String

If System.IO.File.Exists(chemin + "pays.txt") Then

i = 0
objread = System.IO.File.OpenText(chemin + "pays.txt")

While objread.Peek <> -1
pays = objread.ReadLine()
tabpays(i) = pays
i = i + 1
Wend

For j = 0 To i

If tabpays(j) <> "" Then 
objpays(j) = tabpays(j)
End If

Next j
End If



Tchô ;)
AnteManoclis
0
Vectteur Messages postés 5 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 4 avril 2005
21 déc. 2004 à 15:21
finalement.. toutes ces lignes résumées en ceci :

If System.IO.File.Exists("c:\test.txt") Then

objread = System.IO.File.OpenText("c:\test.txt")

Do While objread.Peek <> -1

texte = objread.ReadLine()

cbtest.Items.Add(texte)

Loop

End If

no comment... ça fonctionne a merveille !!
0
Rejoignez-nous