Probleme dans la lecture d'un fichier txt

biker45 Messages postés 14 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 9 juin 2008 - 5 juin 2008 à 14:31
biker45 Messages postés 14 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 9 juin 2008 - 5 juin 2008 à 15:39
Bonjour, voila, j'ai un petit probleme concernant la lecture d'un fichier, voici le début du fichier pour que vous compreniez mon probleme:

"
    Area   Mean   Min   Max   Circ. 
1    6         255      255   255    1 
2    5         255      255   255    1 
3    3         255      255   255    1 
4    5         255      255   255    1 
"
La premiere colonne ne m'interresse pas. Je souhaite simplement avoir la donnée de la deuxieme colonne en sautant la premiere ligne. Donc la premiere valeur que je souhaite récupérer, c'est 6. Le fichier ci dessus représente le fichier result. Le nombre de colonne est fixe, par contre, le nombre de ligne de ce fichier ne l'est pas, donc l'ouvrir en séquentielle me semble la meilleur solution.

voici mon programme:

     intresult = FreeFile
    Open result For Input As #intresult
    Input #intresult, ligne
    Input #intresult, ligne
    don() = Split(ligne, Chr(9))
    Do While ligne <> ""
            taille = don(1)
            tableau(taille) = tableau(taille) + 1
            Input #intresult, ligne
    Loop
    Close #intresult

L'erreur que j'ai, c'est la variable taille qui pose probleme. Dans don(1), je recupère 1 et non 6. Quelqu'un aurait il une idée pour que je puisse récupérer directement la valeur "area" (donc successivement 6-5-3-5...) quelque soit le nombre de ligne et sans connaitre le nombre de ligne?

2 réponses

lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
5 juin 2008 à 15:23
Bonjour,

Je comprends pas une chose dans ton programme tu notes :
    don() = Split(ligne, Chr(9))
mais ensuite tu fixes la valeur :
           taille = don(1)
Donc qu'elle est ton interêt? N'est-ce pas la ton erreur?

S.L.B.
<hr />
0
biker45 Messages postés 14 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 9 juin 2008
5 juin 2008 à 15:39
à la base, je pensais que la fonction input allais me retourner toute la ligne avec des tabulations entre chaque colonne. Donc j'utilisais la fonction split pour diviser la ligne en plusieurs colonnes, la limite de chaque colonne étant représenté pas une tabulation. Ce qui me permettais de dire que la taille était égale à  la colonne 1 (vu qu'il commence à compté à partir de 0). Le probleme c'est qu'il me retourne seulement le caractère qui se trouve avant le tab! Donc quand j'execute mon programme, le tableau don() n'a qu'une case qui contient 1! donc pas du tout ce que je veux!

Donc si quelqu'un à une idée pour que je récupère la ligne complete, je suis preneur. Tout autre solution est la bien venu bien entendu.
0
Rejoignez-nous