Lire un fichier texte

Résolu
Herve_be Messages postés 1015 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 10 mars 2024 - Modifié par Herve_be le 15/03/2014 à 16:42
Herve_be Messages postés 1015 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 10 mars 2024 - 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 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
15 mars 2014 à 16:53
Essayes :
Line Input ...
Plutôt.
0
Herve_be Messages postés 1015 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 10 mars 2024 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 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
15 mars 2014 à 18:57
Salut
Line Input est correct !
quelle instruction après ce Line Input ?
0
Herve_be Messages postés 1015 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 10 mars 2024 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 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
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 1015 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 10 mars 2024 2
15 mars 2014 à 21:36
Je voudrais simplement lire un fichier texte créé avec le bloc-notes Windows.
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
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 1015 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 10 mars 2024 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 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
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 1015 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 10 mars 2024 2
17 mars 2014 à 10:08
Effectivement.
Je ne comprends pas à quoi sert le type de transfert ASCII qui altère le fichier.
0
Rejoignez-nous