Herve_be
Messages postés998Date d'inscriptionmercredi 4 août 2010StatutMembreDernière intervention 4 juin 2023
-
Modifié par Herve_be le 15/03/2014 à 16:42
Herve_be
Messages postés998Date d'inscriptionmercredi 4 août 2010StatutMembreDernière intervention 4 juin 2023
-
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
Herve_be
Messages postés998Date d'inscriptionmercredi 4 août 2010StatutMembreDernière intervention 4 juin 20232 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.
NHenry
Messages postés15069Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention29 mai 2023158 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.
Herve_be
Messages postés998Date d'inscriptionmercredi 4 août 2010StatutMembreDernière intervention 4 juin 20232 15 mars 2014 à 21:36
Je voudrais simplement lire un fichier texte créé avec le bloc-notes Windows.
NHenry
Messages postés15069Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention29 mai 2023158 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.
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 !
NHenry
Messages postés15069Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention29 mai 2023158 16 mars 2014 à 13:29
Ou forcer le transfert en mode binaire (pas d'auto détection de type de fichier)
Herve_be
Messages postés998Date d'inscriptionmercredi 4 août 2010StatutMembreDernière intervention 4 juin 20232 17 mars 2014 à 10:08
Effectivement.
Je ne comprends pas à quoi sert le type de transfert ASCII qui altère le fichier.
Modifié par Herve_be le 15/03/2014 à 16:55