Utilisation de StreamReader(décomposer une ligne)

LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 - 9 janv. 2008 à 15:09
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 - 9 janv. 2008 à 15:41
Bonjour et bonne année,

Voila j'utilise VB depuis peu et j'ai un probleme : je dois lire un fichier qui est défini ainsi:
NB_DDR 0
NB_LOL 7
Tab_FIZ 0 5 4 11 10 17 16
DIA 0,765

un mot clé et un chiffre en face voir un série de chiffre...
(ce fichier a un format que je ne peux changer il est imposé car lu de cette maniére a partir d'un prog C++)

donc en VB je sais qu'on peut lire une ligne avec
 Using sr As StreamReader = New StreamReader
mais moi je voudrais pouvoir reconnaitre les mots clés et ensuite récupérer les valeurs en face, indépendamment
de l'ordre dont sont écrit les mots clés.
je ne sais pas trop comment faire en VB.

 

4 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
9 janv. 2008 à 15:23
Salut,
Je ne sais pas si cela peut t'aider, mais essaie en détectant le premier espace dans la ligne.

Ce qui est à gauche de l'espace c'est le mot clé et à droite de l'espace c'est le numero

@+: Ju£i?n
Pensez: Réponse acceptée
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
9 janv. 2008 à 15:26
Oui j'ai penser a ca mais c'est pas TOP...
et quelles sont les fonctions pour : savoir le mot a droite celui a gauche? repérer l'espace? et comparer les chaines de caracteres en VB?

 
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
9 janv. 2008 à 15:39
oki j'ai trouver ca...

 Dim keyword, line, tabline() As String

            line = sr.ReadLine
            tabline = Split(line, " ")
            SAI.NUM_ELT = Val(tabline(1))

il manque plus qu'a comparer tabline(0) avec mes mots clé et c'est good !!!!

 
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
9 janv. 2008 à 15:41
Re,
Si tu es bien Vb .NET tu peux tester ceci.
Ce n'est certainement la meilleure facon de faire mais au moins c'est une idee

Dim Test As String = "Tab_FIZ 0 5 4 11 10 17 16 "
Dim EspIdx As Integer = Test.IndexOf(" ")
Dim Code As String = Test.Substring(0, EspIdx)
Dim Num As String = Test.Substring(EspIdx + 1)

MessageBox.Show ("+" & Code & "+" & Num & "+")
, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
0
Rejoignez-nous