Lire un fichier texte ligne pas ligne ?

Résolu
ult1m4tum
Messages postés
17
Date d'inscription
lundi 23 mai 2011
Statut
Membre
Dernière intervention
1 février 2012
- 1 févr. 2012 à 09:49
ult1m4tum
Messages postés
17
Date d'inscription
lundi 23 mai 2011
Statut
Membre
Dernière intervention
1 février 2012
- 1 févr. 2012 à 11:40
Bonjour a tous !

Voici mon probleme :

J'ai créé un petit soft qui est censé aller chercher les lignes d'un fichier texte et les afficher unes par unes dans des textbox ...

Mon ennui est le suivant, je devrais normalement utiliser un streamreader, mais mon chemin de fichier est de la forme :

Dim emplacement As String = "C:" & ComboBox_charger.Text & ".txt" 


je ne peux de ce fait plus utiliser de reader vu que mon chemin contient un objet ... existe-il d'autres méthodes pour ressortir les lignes d'un fichier texte ?

J'ai essayé avec ces quelques lignes :
        If System.IO.File.Exists("C:" & ComboBox_charger.SelectedItem & ".txt") Then
            MessageBox.Show("fichier trouvé")
            FileOpen(1, emplacement, OpenMode.Input) 'on ouvre le fichier à analyser
            txt_ndc_1.Text = LineInput(1)'on lis la ligne et on la remet ds la textbox
            FileClose(1)
        Else
            MessageBox.Show("Fichier introuvable vérifiez le nom du fichier")
        End If

mais il m'affiche TOUT le fichier dans la txt_ndc_1 avez vous une solution ?

5 réponses

Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
1 févr. 2012 à 10:11
Pourquoi ne pas apsser par ReadAllLines ?

ca permet de lire tout un fichier, en un coup et de placer chaque ligne dans un tableau de chaines...


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
3
cs_ShayW
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
56
1 févr. 2012 à 11:28
Bonjour

Dim emplacement As String = "C:" & ComboBox_charger.Text & ".txt" 


je ne peux de ce fait plus utiliser de reader vu que mon chemin contient un objet


quel objet?
readalllines et list of string
Private malist As New List(Of String)
Private Sub ReadFile(ByVal pathfichier As String)
   'je lis tout le fichier dans malist
  Try
       malist = System.IO.File.ReadAllLines(pathfichier).ToList
  Catch ex As Exception
     'en cas d'exception affiche l'erreur 
      MessageBox.Show(ex.Message)
    Close()
  End Try
End Sub


ou avec un array

 Private listitems() As String
 Private Sub ReadFile(ByVal pathfichier As String)
    'je lis tout le fichier dans malist
  Try
     listitems = System.IO.File.ReadAllLines(pathfichier)
  Catch ex As Exception
    'en cas d'exception affiche l'erreur 
   MessageBox.Show(ex.Message)
    Close()
  End Try
End Sub
3
ult1m4tum
Messages postés
17
Date d'inscription
lundi 23 mai 2011
Statut
Membre
Dernière intervention
1 février 2012

1 févr. 2012 à 10:42
M'ouarf, le mot tableau m'a toujours fais peur, tu pourrais me détailler le code ? je n'ai jamais utilisé de tableau en vb.net (honte à moi).
0
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
1 févr. 2012 à 10:53
Qu'est-ce que tu cherches a faire, exactement...

ton premier message fait mal aux yeux...

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0

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

Posez votre question
ult1m4tum
Messages postés
17
Date d'inscription
lundi 23 mai 2011
Statut
Membre
Dernière intervention
1 février 2012

1 févr. 2012 à 11:40
Hé beh voilà, super merci beaucoup l'ami ! c'est nickel.
0