Lecture d'un fichier texte [Résolu]

Signaler
Messages postés
19
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
6 février 2012
-
Messages postés
728
Date d'inscription
samedi 4 avril 2009
Statut
Membre
Dernière intervention
30 mars 2014
-
Bonjour à tous et à toutes,
Avec le code suivant, je parcours les lignes d'un fichier texte:
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Dim sr As New StreamReader(OpenFileDialog1.FileName)
        Dim ligne As String

        Do Until sr.Peek = -1

            ligne = sr.ReadLine

            If ligne = "LINE" Then TextBox1.AppendText("LINE")
           
        Loop

    End Sub

Jusque là, tous va bien!
Mon souci est qu'après cette ligne "LINE", se trouve une ligne "10", mais ce "10" se trouve avant et après "LINE", hors je veux uniquement celui qui se trouve après "LINE"!
Comment dois-je m'y prendre?
Plano!

2 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Bonjour,
Quel est donc le problème ? Ton code lis ligne par ligne (rien n'est alors plus simple d savoir quand tu rencontres ton premier "10" et quand c'est le second !
Et le second n'est à trouver que si tu es passé par la ligne "LINE" !
Une simple variable booléenne, mise à false au début, à True lorsque lu passes sur la line disant "LINE" et une expression conditionnelle (si True ===>> je lis mon "10", sinon non) !

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
728
Date d'inscription
samedi 4 avril 2009
Statut
Membre
Dernière intervention
30 mars 2014
6
Bonjour plano,

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
 Dim sr As New StreamReader(OpenFileDialog1.FileName)
 dim laLINE as boolean = false
 Dim ligne As String
 Do Until sr.Peek = -1
  ligne = sr.ReadLine
  If ligne = "LINE" Then 
    TextBox1.Text("LINE")
    laLignes = true
  end dif
  If ligne "10" And laLine true Then 
    TextBox1.Text("Le 10 après LINE est là")
    Exit Do
  en dif
 Loop
End Sub ' non testé


Cordialement, Joe.