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
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.
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.
"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.
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 !
Modifié par Herve_be le 15/03/2014 à 16:55