zebiker
Messages postés34Date d'inscriptionvendredi 10 janvier 2003StatutMembreDernière intervention12 novembre 2008
-
6 mars 2008 à 15:59
Lunikmarty
Messages postés55Date d'inscriptionlundi 3 mars 2008StatutMembreDernière intervention17 avril 2008
-
6 mars 2008 à 23:07
Bonjour à tous, je chershe à recupérer toutes les lignes d'un fichier text simple dans un tableau.
Une ligne = une case du tableau
Je fais donc :
Dim i = 0
Dim monTableau() As String
Dim leStream as New StreamReader(File.OpenRead("tata.txt")
Do
ligne = leStream.ReadLine() ' getting the line content in this string
monTableau(i) = leStream.ReadLine()
i = i + 1 ' increment the counter to know which line am i reading
' end of loop (browsing all lines)
Loop Until ligne = Nothing
Le probleme est qu'apre je recupére monTableau(0) qui contient la derniere ligne, comme si le i ne s'incrémentait pas dans la boucle !!!
cs_lim
Messages postés329Date d'inscriptionjeudi 20 novembre 2003StatutMembreDernière intervention10 mai 20147 6 mars 2008 à 16:19
Salut,
Déjà tu ne dimensionne pas ton tableau, et ceci ne drvrait pas marcher
ensuite quand tu fait un ligne=leStream.Readline tu lit la première ligne de ton fichier (quand tu passe la première fois dans ta boucle)
mais tu fait ensuite tableau(i)=leStream.Readline donc tu lis la ligne suivante.
pour résoudre ton problème utlise ceci
'Declare un tableau de dimension 0
Dim tab(0)
As
String
Dim i
As
Integer
i = 0
'Ouvre le fichier
Dim MyStream
As
New IO.StreamReader(
"C:\test.txt")
'Lit le fichier tant que pas arrivé à la fin
While MyStream.Peek <> -1
'lit la ligne i et la copie dans tab(i)
tab(i) = MyStream.ReadLine
'incrémente i
i = i + 1
'redimensionn ele tableau en préservant les données déjà présente
ReDim
Preserve tab(i)
End
While
'Ferme le fichier ouvert
MyStream.Close()
_____________________________________________________________
Coder et coder sont 2 choses différentes. La 1ère consiste à arriver au but coûte que coûte. La 2nde est de trouver la solution de manière élégante.
Lunikmarty
Messages postés55Date d'inscriptionlundi 3 mars 2008StatutMembreDernière intervention17 avril 2008 6 mars 2008 à 23:00
Tu peux utiliser un tableau dynamique sinon:
Dim Tab() As String
Dim nombreLigne As Integer
Open Chemin de ton fichier .txt For Input Access Read As #1
Do While Not EOF(1) ' Bouclage jusque a la fin du fichier
Line Input #1, ligne
nombreLigne = nombreLigne + 1
ReDim Preserve Tab(nombreLigne) ' Redimensionnement du Tableau
Tab(nombreLigne) = ligne
Loop
Close #1
Vous n’avez pas trouvé la réponse que vous recherchez ?