luluthefirst
Messages postés106Date d'inscriptionsamedi 25 avril 2009StatutMembreDernière intervention20 mars 2010
-
26 mai 2009 à 20:11
luluthefirst
Messages postés106Date d'inscriptionsamedi 25 avril 2009StatutMembreDernière intervention20 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.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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)
luluthefirst
Messages postés106Date d'inscriptionsamedi 25 avril 2009StatutMembreDernière intervention20 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
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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)
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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)