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 :
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 '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.';
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
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
Ou me suis-je trompé ?
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...
Merci d'avance de vos réponses.
Partager