Lire une colonne dans un fichier texte

luluthefirst Messages postés 106 Date d'inscription samedi 25 avril 2009 Statut Membre Dernière intervention 20 mars 2010 - 26 mai 2009 à 20:11
luluthefirst Messages postés 106 Date d'inscription samedi 25 avril 2009 Statut Membre Dernière intervention 20 mars 2010 - 1 juin 2009 à 10:15
Bonjour, je souhaiterais savoir comment lire juste une colonne, par exemple, y a un fichier texte ecrit:
[Options]
FileName=monfichier


Et je veux juste lire la colonne "monfichier" et la mettre dans une textbox... Est-ce possible?
Merci à tous.

10 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
27 mai 2009 à 00:53
Salut
Oui, c'est possible, mais pas directement.
Il te faut lire la ligne entière puis découper la chaine pour en extraire ce qui se trouve entre = et [
--> Puzzle avec ces instructions : regarde dans l'aide de VB6 (et ses exemples) et sers toi de ces mots pour faire des recherches parmi les codes du site
   FreeFile pour choisir automatiquement un numéro de fichier à ouvrir
   Open pour ouvrir le fichier
   "Line Input #" pour lire une ligne entière
   Instr pour rechercher la position d'un caractère
   Mid pour isoler une partie de la chaine
   "Close #" pour refermer le fichier

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
27 mai 2009 à 00:54
J'allais oublier :
   Do et Loop pour faire une boucle si tu as besoin de lire plusieurs lignes à la suite
0
luluthefirst Messages postés 106 Date d'inscription samedi 25 avril 2009 Statut Membre Dernière intervention 20 mars 2010
27 mai 2009 à 10:35
lawl je comprend pas lol en fait, c'est sa (dommage que la balise
 n'existe pas...)


[Options]
saut de ligne
FileName=Monfichier

Et je n'arrive pas à comprendre ses fonctions, je sais lire une ligne et ensuite la mettre dans la text box comme ça:
Open "monfichier.dat" For input as #1
Input #1, inutile
Input #1, Fichier
Close 1
Text1.Text = Ficher

Mais là je comprend pas ton code :(
0
luluthefirst Messages postés 106 Date d'inscription samedi 25 avril 2009 Statut Membre Dernière intervention 20 mars 2010
27 mai 2009 à 10:36
J'oubli toujours que on peut jamais sauter des lignes... Comment tu fais pour sauter des lignes?
0

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

Posez votre question
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
27 mai 2009 à 11:05
Re
Pour sauter une ligne ?
J'appuis sur "Entrée"
Jamais de problème sous Internet Explorer. Qu'utilises-tu ?

Ok, donc ta donnée se trouve sur la Xème ligne de ton fichier.
Il faut donc lire en boucle ces lignes avec "Line Input #" et pas "Input #"
Le genre de boucle de lecture existe dans tous les codes qui gèrent la lecture de fichier texte (rechercher "lire fichier" parmi les codes en excluant .Net).
Tu n'as qu'à charger une ou deux source et faire des essais, tu trouveras facilement

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
luluthefirst Messages postés 106 Date d'inscription samedi 25 avril 2009 Statut Membre Dernière intervention 20 mars 2010
27 mai 2009 à 11:11
Moi aussi j'appuis sur entrée mais quand je post mon message, je vois aucune ligne de sauté.

J'essay ce code:


Open "monfichier.dat" for Input as #1

for i = 1 to 9

Line input #1, i

next i

Close 1

text1.text = i

Pour enfin lire la 9ème colonne de la 2ième ligne, enfin pas sùr
0
luluthefirst Messages postés 106 Date d'inscription samedi 25 avril 2009 Statut Membre Dernière intervention 20 mars 2010
29 mai 2009 à 21:09
Apparement,
ça me dit que l'entrée dépasse la fin du fichier
0
luluthefirst Messages postés 106 Date d'inscription samedi 25 avril 2009 Statut Membre Dernière intervention 20 mars 2010
29 mai 2009 à 21:14
Ah lala j'y arrive pas du tout, même avec Instr et Mid...
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
30 mai 2009 à 19:35
Re
Cette erreur apparait parce que tu essayes de lire plus de ligne qu'il n'y en a dans le fichier.
Si tu avais pris le temps de charger et analyser une des sources du site, tu aurais trouvé comment lire les lignes sans débordement possible avec un Do While Not EOF(1) - Loop
De plus, un exemple TOUT FAIT existe dans l'aide de l'instruction "Line Input #" !
Essaye quand même de faire des recherches avant de poser ce genre de question ...

D'autre part, "Line Input #" ne sait lire que des lignes qui se terminent par (au moins) un retour chariot vbCr (Chr(13)) ou vbCrLf (Chr(13) + Chr(10))
Ton fichier répond-il à cette exigence ?
Si ce n'est pas le cas, tu risques de charger la totalité du fichier lors de la première lecture, il faudrait alors faire autrement

Que vaut ta variable i au moment de l'erreur ?
Que vaut ...
   ... autre bug : Tu fais une boucle For Next avec la variable i et tu utilises cette même variable dans la lecture de la ligne !
Ta boucle va perdre les pédalles !
Comme expliqué dans l'aide (encore une fois), Line Input te permet de lire une ligne sous la forme d'une String.
Si tu prends le risque de lire directement un chiffre avec cette instruction (comment est dimensionné i ?), tu rsiques une future erreur de type incompatible ...
Il faut de toute façon, utiliser une autre variable que i

Bref, tu fais comme tu veux, mais par pitié, lit l'aide, il y a tout pour comprendre et faire des essais

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
luluthefirst Messages postés 106 Date d'inscription samedi 25 avril 2009 Statut Membre Dernière intervention 20 mars 2010
1 juin 2009 à 10:15
le problème c'est que je peux pas acceder à l'aide, j'obtiens le message:
"Unable to display help"
0
Rejoignez-nous