Valeur Suivante Fichier Texte!!

Résolu
Nitz999 Messages postés 4 Date d'inscription samedi 1 mars 2003 Statut Membre Dernière intervention 8 décembre 2008 - 6 déc. 2008 à 04:38
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 - 9 déc. 2008 à 10:07
Bonjour,

J'ai deux problèmes :

1- J'ai réussi à récupérer une valeur d'un fichier texte entre deux mots, mais je suis incapable de récupérer les valeurs suivantes répondant aux mêmes critères. Plus précisement, j'ai plusieurs valeurs différentes qui se retrouvent toujours entre les deux mêmes mots:

mot avant valeur1 mot apres
mot avant valeur2 mot apres
mot avant valeur3 mot apres

2- Je voudrais classer ces valeurs dans un Array, mais je ne suis pas familier avec cette méthode.

Voici mon code :







Do



While
objReader.Peek() <> -1



Source = Source & objReader.ReadLine() & vbNewLine






 





'Détermination des bornes






stravant = "mot avant"




strapres = "mot apres"





'Récupération de la valeur entre les deux mots






If



InStr(1, Source, stravant) > 0 Then






If

InStr((InStr(1, Source, stravant)), Source, strapres) > 0 Then





If

Mid(Source, (InStr(1, Source, stravant) + Len(stravant)), InStr((InStr(1, Source, stravant) + Len(stravant)), Source, strapres) - (InStr(1, Source, stravant) + Len(stravant))) <> ""Then



Valeur(i) = Mid(Source, (InStr(1, Source, stravant) + Len(stravant)), InStr((InStr(1, Source, stravant) + Len(stravant)), Source, strapres) - (InStr(1, Source, stravant) + Len(stravant)))






End



If







End



If







End



If







Loop


Comment faire ? Merci beaucoup à l'avance !

Nitz999

7 réponses

cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
6 déc. 2008 à 16:14
Salut,

Voici une manière pour y arriver parmi tant d'autre :

1° Déclarer et initialiser une Collection juste après Public Class
----------------------------------------------------------------

Public Class Form 1
     Public valeurs As New System.Collections.Generic.List(Of String)()

End Class

2° Récupérer les valeurs et les stocker dans la collection :
---------------------------------------------------------------------------------------

Do While objReader.Peek() <> -1

      Source = objReader.ReadLine()

      ' Détermination des mots à supprimer

      stravant = "mot avant"

      strapres = "mot apres"

     ' Suppression des mots spécifiés

     Source = Source.Trim(stravant, strapres)

     ' Suppression éventuellement des espaces rencontrés

     Source = Source.Replace(" ", String.Empty)

     ' Ajout de la valeur récupérée dans la collection

     valeurs.Add(Source)
Loop

Pour parcourir toute la collection et récupérer toutes les valeurs entrées : (dans cette exemple : je les affiche avec un MsgBox)
------------------------------------------------------------------------------------------------------------------------------

For i As Integer = 0 To valeurs.Count - 1
     MsgBox(valeurs(i))
Next

++

Fauve
<hr size="2" width="100%" />Pensez : Réponse Acceptée 
3
cs_candyraton Messages postés 109 Date d'inscription dimanche 27 juillet 2008 Statut Membre Dernière intervention 2 février 2012 3
6 déc. 2008 à 11:37
split
0
cs_candyraton Messages postés 109 Date d'inscription dimanche 27 juillet 2008 Statut Membre Dernière intervention 2 février 2012 3
8 déc. 2008 à 10:23
oui, trim si tu connaît mot avant mot aprés.
0
Nitz999 Messages postés 4 Date d'inscription samedi 1 mars 2003 Statut Membre Dernière intervention 8 décembre 2008
8 déc. 2008 à 18:57
Non, en fait, je ne connais pas les mots avant et après, d'où la difficulté. Ca ressemble beaucoup plus a ca :


blabekiajfeafi valeur 1 maoifjefaeif


fsfdsklfjssfdf valeur 2 vdosjiosjffvd


fsdkldkslfmlds valeur 3 fldksfksdf

Quelqu'un a un idée ?

Merci pour toutes vos réponses, c'est apprécié !
0

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

Posez votre question
Nitz999 Messages postés 4 Date d'inscription samedi 1 mars 2003 Statut Membre Dernière intervention 8 décembre 2008
8 déc. 2008 à 18:59
Ou ca en fait haha ! désolé...

dsfdsfdsf motavant valeur 1 motapres afndkjfnsdkfn
dsafdsfs mot avant valeur 2 mot apres ogjfdgjokjo
kijiuhihfds mot avant valeur 3 mot apres dskgfkj
0
cs_candyraton Messages postés 109 Date d'inscription dimanche 27 juillet 2008 Statut Membre Dernière intervention 2 février 2012 3
8 déc. 2008 à 22:48
Le code de fauve a l'air trés bien pour ton pb.
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
9 déc. 2008 à 10:07
Salut Nitz999,

A quoi correspond valeur 1, valeur 2, valeur 3 ? Est ce un nombre, une chaine de caractères, ... ?

<hr size="2" width="100%" />Pensez : Réponse Acceptée 
0
Rejoignez-nous