Bonsoir tous le monde,
je suis en train de ma casser les dents sur un bout de code que j'ai crée qui me permet d'extraire, des donnés d'une chaîne de caractère, voici la façon dont elle se présente :
Sachant qu'il peut y avoir plusieurs Vehicule et l'équipage par vehicule est compris entre 01 et 09 maximum.Vehicule : BMW S3 120CV
Equipage : 01- COND LAURENZO LAMAS
02- CHEF PIERROT LE CLOWN
03- CHEF ALAIN MARTIN
Vehicule : AUDI TT 200 CV
Equipage : 01- COND JAMES BOND
02- CHEF MARC FLAMBY
03- CHEF VODKA PIERRE
04- CHEF DURANT MARTIN
05- CHEF MARTIN LUCIEN
j'ai donc crée ceci pour stocker mes données extraites dans un tableau :
Le problème c'est que ce code bloucle toujours sur l'équipage du premier véhicule trouvé, il tourne indéfinimément en remplissant mon tableau enregistre des 3 première personnes concerné par le véhicule !
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 enregistre(30, 5) As String 'tableau ---------------> ENREGISTRE '====================================================================== ' | vehicule | fonction | Nom & Prenom | '====================================================================== ' | BMW | 01- | JAMES BOND | For Each ligne As String In TextBox1.Text.Split(ControlChars.NewLine) Dim debut_ve As Integer = datas.IndexOf("Vehicule : ") + 11 'entier qui repére le nom vehicule et ajoute 11 Dim fin_ve As Integer = datas.IndexOf(ControlChars.NewLine, debut_ve) 'entier qui repére la fin de la ligne Dim longeur_ve As Integer = fin_ve - debut_ve 'soustrait la fin du début de la postion de vehicule Dim vehicule_extrait As String = datas.Substring(debut_ve, longeur_ve) Dim vehi_tab() As String = vehicule_extrait.Split(New String() {}, StringSplitOptions.RemoveEmptyEntries) Dim vehicule As String = vehi_tab(0) Dim i As Integer Dim e As Integer Dim lafonction As String For e = 0 To 100 For i = 1 To 50 lafonction = "0" & i & "-" 'on boucle sur le nombre de fonction If datas.Contains(lafonction) Then Dim debut_la As Integer = datas.IndexOf(lafonction) + 3 Dim fin_la As Integer = datas.IndexOf(ControlChars.NewLine, debut_la) Dim longeur_la As Integer = fin_la - debut_la Dim equipage_la As String = datas.Substring(debut_la, longeur_la) Dim lesnom() As String = equipage_la.Split(New String() {}, StringSplitOptions.RemoveEmptyEntries) Dim lenom As String = Nothing 'on vide la var avant de la remplir sinon les nom s'ajoute a la suite For j As Integer = 1 To lesnom.Length - 1 lenom += lesnom(j) & " " 'on récupére juste le nom et le prenom -> a partir de lesnom(02) Next j enregistre(e, 0) = vehicule enregistre(e, 1) = lafonction enregistre(e, 2) = lenom e = +1 'on incrémente le tableau enregistrement End If Next i Next e Next
Partager