Bonjour, bonsoir.

J'ai un problème avec mon code. J'aimerais que le logiciel Récupère et trie des données depuis un fichier. J'ai un fichier files.dat qui est composé comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
'Films':
>'Prochainement.';
 
'Prochainement.':
>'Prochainement.';
 
'Series':
>'Wakfu'
>'Bref';
 
'Serie 2':
>'Saison 1'
>'Saison 2';
 
'Saison 1':
>'Episode 1 - test'
>'Episode 2 - episode de merde'
>'Episode 3 - encore un pourri'
>'Episode 4 - Celui la est bien';
 
'Saison 2':
>'Episode 1 - test'
>'Episode 2 - episode de merde'
>'Episode 3 - encore un pourri'
>'Episode 4 - Celui la est pas mal';
 
'Serie 2':
>'Episode 1 - nul'
>'Episode 2 - aussi nul'
>'Episode 3 - bien'
>'Episode 4 - Très bien !'
>'Episode 5 - Complètement nul.';
J'aimerais que mon logiciel puisse récupérer les données "Saison 1" et "Saison 2" lorsque qu'on lui donne la propriété "Serie 2". J'ai pour cela rédiger quelques lignes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Dim Reader() = File.ReadAllLines("files.dat")
        Dim RegexSelect As New Regex("^'(?<value>.*)':$")
        Dim RegexAdd As New Regex("^>'(?<value>.*)'$")
        Dim RegexAddFinal As New Regex("^>'(?<value>.*)';$")
        Dim LineNumber As Integer = 0
 
        For Each line As String In Reader
 
            Dim TexteSettingsMatch As Match = RegexSelect.Match(line)
 
            If TexteSettingsMatch.Success Then
 
                Dim EndWhile As Boolean = False
                Dim LineNumberForReader As Integer = LineNumber
 
                While EndWhile = False
 
                    Dim TexteSettingsMatch2 As Match = RegexAdd.Match(Reader(LineNumberForReader + 1))
                    Dim TexteSettingsMatch3 As Match = RegexAddFinal.Match(Reader(LineNumberForReader + 1))
 
                    If TexteSettingsMatch2.Success Then
 
                        LB_ListeCentre.Items.Add(TexteSettingsMatch2.Groups("value").Value)
                        LineNumberForReader = LineNumberForReader + 1
 
                    ElseIf TexteSettingsMatch3.Success Then
 
                        LB_ListeCentre.Items.Add(TexteSettingsMatch3.Groups("value").Value)
                        EndWhile = True
 
                    End If
 
                End While
 
            End If
 
            LineNumber = LineNumber + 1
 
        Next
Ce code lis toutes les lignes du fichier et les range dans un tableau. Ensuite je trie le fichier ligne par ligne et si il vois une ligne qui correspond a la regex "RegexSelect", il prend les prochaines lignes. Pour qu'il arete de lire les lignes j'ai fait une regex avec un ; a la fin, que j'ai mis dans mon fichier files.dat. Seulement avec ce code, il m'affiche toutes les lignes de la regex RegexAdd et de la regex RegexAddFinal. Il m'affiche donc :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Prochainement.
Prochainement.
Wakfu
Bref
Saison 1
Saison 2
Etc...
Ou me suis-je trompé ?

Merci d'avance de vos réponses.