Lire un fichier texte

Résolu
Herve_be
Messages postés
954
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
5 juin 2022
- Modifié par Herve_be le 15/03/2014 à 16:42
Herve_be
Messages postés
954
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
5 juin 2022
- 17 mars 2014 à 10:08
Bonjour,
Je voudrais simplement lire un fichier texte créé avec le bloc-notes Windows.
Ce fichier contient plusieurs lignes, du moins quand je le visualise avec le bloc-notes.
Mon problème est que lorsque je lis ce fichier avec
Open ParFileName For Input As #1
Do While Not EOF(1)
Input #1, User
J'obtiens un seul string "User" contenant toutes les lignes à la queue leu leu, alors que je m'attendais à avoir une ligne par Input; ne voit-il donc pas les "retours ligne" ?
J'ai aussi essayé avec "Line Input" et aussi de construire le fichier avec Word au lieu de NotePad : idem !
Merci d'avance pour votre aide

4 réponses

NHenry
Messages postés
14941
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
20 juin 2022
161
15 mars 2014 à 16:53
Essayes :
Line Input ...
Plutôt.
0
Herve_be
Messages postés
954
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
5 juin 2022
2
Modifié par Herve_be le 15/03/2014 à 16:55
Comme indiqué dans la question, j'ai aussi essayé avec "Line Input" et aussi de construire le fichier avec Word au lieu de NotePad : idem !
0
vb95
Messages postés
2774
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
28 juin 2022
151
15 mars 2014 à 18:57
Salut
Line Input est correct !
quelle instruction après ce Line Input ?
0
Herve_be
Messages postés
954
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
5 juin 2022
2
15 mars 2014 à 19:03
Simplement Line Input #1, User
et si j'arrête avec debug sur le statement suivant, User contient tous les records du fichier à la queue leu leu.

J'ai trouvé l'origine du problème.
Le fichier en question est téléchargé d'Internet avec URLDownloadToFile (Lib "urlmon").
Sur Internet le ficher est correct.
Le fichier téléchargé ne contient qu'un record avec tout à la queue leu leu.
Alors fatalement quand je le lis avec Line Input je n'obtiens qu'une ligne !
Je ne sais pas comment corriger.
0
NHenry
Messages postés
14941
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
20 juin 2022
161
15 mars 2014 à 19:56
C'est un grand classique, mais avec ton explication, ça va mieux.
Le fichier source a dû être créé avec Linux.
Les retours à la lignes ne sont pas les mêmes :
Windows : \r\n (CrLf)
Linux : \n (Lf)
Existe aussi : \r (Cr)

Donc, là où Windows attends CrLf, il ne trouve que Lf, donc pas de retour à la ligne.
0
Herve_be
Messages postés
954
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
5 juin 2022
2
15 mars 2014 à 21:36
Je voudrais simplement lire un fichier texte créé avec le bloc-notes Windows.
0
NHenry
Messages postés
14941
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
20 juin 2022
161
15 mars 2014 à 21:42
"Le fichier en question est téléchargé d'Internet avec URLDownloadToFile"
"créé avec le bloc-notes Windows"
Je n'arrive plus à te suivre dans ton raisonnement.
0
Herve_be
Messages postés
954
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
5 juin 2022
2
Modifié par Herve_be le 16/03/2014 à 09:24
Bonjour,
Il s'agit d'un fichier utilisé par un programme VB6; le contenu du fichier peut changer; par conséquent j'ai fait ainsi :
- je crée le fichier avec le bloc notes Windows;
- je charge le fichier sur Internet avec FileZilla;
- VB6 télécharge le fichier sur la machine de utilisateur du programme.

J'ai trouvé d'où vient le problème : le suffixe du fichier étant .txt FileZilla le considère comme un fichier Ascii et supprime CrLf !
Il a suffit que je nomme mon fichier xxx.par et ça fonctionne !
0
NHenry
Messages postés
14941
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
20 juin 2022
161
16 mars 2014 à 13:29
Ou forcer le transfert en mode binaire (pas d'auto détection de type de fichier)
0
Herve_be
Messages postés
954
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
5 juin 2022
2
17 mars 2014 à 10:08
Effectivement.
Je ne comprends pas à quoi sert le type de transfert ASCII qui altère le fichier.
0