Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fichier texte sans CR/LF

6 réponses
Avatar
RENAUD Eric
Bonjour,

J'importe les données d'un fichier texte mais le problème est que chaque
ligne n'a pas de CR.

Je ne peux donc pas utiliser la commande du type :
Do While Not EOF(FileNumber2)
Line Input #FileNumber2, Contenu_LIGNE

J'ai trouvé une solution mais je ne peux pas automatiser.
Avec l'éditeur Ultra-Edit je peux ré-enregistrer mon fichier avec un CR pour
chaque ligne et la cela fonctionne.

Ma question :

1 - Ce que Ultra Edit fait, quelqu'un connait il du code VB qui remplacerait
cet éditeur pour me mettre des CVR au bout de chaque ligne ?

6 réponses

Avatar
Clive Lumb
"RENAUD Eric" <erenaud(retirerceci)@fr.fm> a écrit dans le message de
news:%
Bonjour,

J'importe les données d'un fichier texte mais le problème est que chaque
ligne n'a pas de CR.

Je ne peux donc pas utiliser la commande du type :
Do While Not EOF(FileNumber2)
Line Input #FileNumber2, Contenu_LIGNE

J'ai trouvé une solution mais je ne peux pas automatiser.
Avec l'éditeur Ultra-Edit je peux ré-enregistrer mon fichier avec un CR


pour
chaque ligne et la cela fonctionne.

Ma question :

1 - Ce que Ultra Edit fait, quelqu'un connait il du code VB qui


remplacerait
cet éditeur pour me mettre des CVR au bout de chaque ligne ?



Plusieurs solutions se profilent, tout dépend de la taille du fichier et des
caractères de fin de ligne....
J'imagine que pour les lignes sans CR il y a au moins un LF ?

Si c'est le cas, pour moi, le plus simple (pour un fichier pas trop gros)
serait de le lire caractère par caratère et d'assembler une chaine
temporaire.
Chaque fois qu'on tombe sur un LF on sait que c'est la fin de ligne et on
écrit la chaine temporaire dans le variable (matrice?) idoine.
Tout CR qu'on rencontre est jeté si on vient de rencontrer un LF, et
vice-versa.

Autre solution, utiliser VB lui-même pour remplacer les LF par des CR.
Ouvri le fichier, lire une "ligne" (cad jusqu'au premier CR)
Utiliser la fonction REPLACE pour remplacer les LF dans la "ligne" par des
CR
Reécrire la "ligne" dans un fichier temporaire (avec un CR à la fin)
Repeter jusqu'à la fin du fichier
Fermer le fichier
Ouvrir et lire le fichier temporaire avec LineInput

Bon courage
Avatar
LE TROLL
Bonjour,

Sans crlf en txt ça fait un seule ligne, le problème est de savoir où
couper, alors à ce propos, j'aimerais savoir comment le logiciel dont tu
parles à su couper où il fallait, on peut par exemple présumer que chaque
majuscule est un début de ligne, mais bon, c'est de la supputation... Ou un
saut à chaque point, si on a mis des points...

A part ça, on peut le faire depuis le code, voici le principe:
S le texte n'est pas trop long, on peut prendre une variable, et si le texte
et trop long, dans ce cas on le prend par morceau (en binaire : X octets),
puis on adopte la même méthode que si c'était une variable, on met le code
en variable.
Ensuite, à l'aide des commandes de remplacement de chaîne (Replace), on
indiquer à quel endroit, quelle valeur mettre (vbcrlf), puis on enregistre
ça en mode texte, morceau par morceau dans un second fichier tout neuf.
Quand ce sera terminé, il ne restera plus qu'à supprimer le fichier de base,
puis à renommer le nouveau fichier en fichier de base...


--
Site éditeur MES ROMANS édités
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Site de MES LOGICIELS
http://irolog.free.fr
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"RENAUD Eric" <erenaud(retirerceci)@fr.fm> a écrit dans le message de news:
%
Bonjour,

J'importe les données d'un fichier texte mais le problème est que chaque
ligne n'a pas de CR.

Je ne peux donc pas utiliser la commande du type :
Do While Not EOF(FileNumber2)
Line Input #FileNumber2, Contenu_LIGNE

J'ai trouvé une solution mais je ne peux pas automatiser.
Avec l'éditeur Ultra-Edit je peux ré-enregistrer mon fichier avec un CR
pour chaque ligne et la cela fonctionne.

Ma question :

1 - Ce que Ultra Edit fait, quelqu'un connait il du code VB qui
remplacerait cet éditeur pour me mettre des CVR au bout de chaque ligne ?








Avatar
Patrice Henrio
Retrouver le caractère de fin de ligne de Ultra edit, lire le fichier dans
une string en binaire, utiliser split avec comme séparateur le caractère de
fin de ligne de Ultraedit, cela donne toutes les lignes. Pour la réécriture
on lit le tableau résultat de split et on écrit les lignes une à une dans un
fichier texte.


"LE TROLL" <le a écrit dans le message de news:
%
Bonjour,

Sans crlf en txt ça fait un seule ligne, le problème est de savoir où
couper, alors à ce propos, j'aimerais savoir comment le logiciel dont tu
parles à su couper où il fallait, on peut par exemple présumer que chaque
majuscule est un début de ligne, mais bon, c'est de la supputation... Ou
un saut à chaque point, si on a mis des points...

A part ça, on peut le faire depuis le code, voici le principe:
S le texte n'est pas trop long, on peut prendre une variable, et si le
texte et trop long, dans ce cas on le prend par morceau (en binaire : X
octets), puis on adopte la même méthode que si c'était une variable, on
met le code en variable.
Ensuite, à l'aide des commandes de remplacement de chaîne (Replace), on
indiquer à quel endroit, quelle valeur mettre (vbcrlf), puis on enregistre
ça en mode texte, morceau par morceau dans un second fichier tout neuf.
Quand ce sera terminé, il ne restera plus qu'à supprimer le fichier de
base, puis à renommer le nouveau fichier en fichier de base...


--
Site éditeur MES ROMANS édités
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Site de MES LOGICIELS
http://irolog.free.fr
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"RENAUD Eric" <erenaud(retirerceci)@fr.fm> a écrit dans le message de
news: %
Bonjour,

J'importe les données d'un fichier texte mais le problème est que chaque
ligne n'a pas de CR.

Je ne peux donc pas utiliser la commande du type :
Do While Not EOF(FileNumber2)
Line Input #FileNumber2, Contenu_LIGNE

J'ai trouvé une solution mais je ne peux pas automatiser.
Avec l'éditeur Ultra-Edit je peux ré-enregistrer mon fichier avec un CR
pour chaque ligne et la cela fonctionne.

Ma question :

1 - Ce que Ultra Edit fait, quelqu'un connait il du code VB qui
remplacerait cet éditeur pour me mettre des CVR au bout de chaque ligne ?












Avatar
LE TROLL
:o)
A-t-il la fin de ligne "lf" ???

--
Site éditeur MES ROMANS édités
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Site de MES LOGICIELS
http://irolog.free.fr
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"Patrice Henrio" a écrit dans le message de
news:
Retrouver le caractère de fin de ligne de Ultra edit, lire le fichier dans
une string en binaire, utiliser split avec comme séparateur le caractère
de fin de ligne de Ultraedit, cela donne toutes les lignes. Pour la
réécriture on lit le tableau résultat de split et on écrit les lignes une
à une dans un fichier texte.


"LE TROLL" <le a écrit dans le message de news:
%
Bonjour,

Sans crlf en txt ça fait un seule ligne, le problème est de savoir où
couper, alors à ce propos, j'aimerais savoir comment le logiciel dont tu
parles à su couper où il fallait, on peut par exemple présumer que chaque
majuscule est un début de ligne, mais bon, c'est de la supputation... Ou
un saut à chaque point, si on a mis des points...

A part ça, on peut le faire depuis le code, voici le principe:
S le texte n'est pas trop long, on peut prendre une variable, et si le
texte et trop long, dans ce cas on le prend par morceau (en binaire : X
octets), puis on adopte la même méthode que si c'était une variable, on
met le code en variable.
Ensuite, à l'aide des commandes de remplacement de chaîne (Replace), on
indiquer à quel endroit, quelle valeur mettre (vbcrlf), puis on
enregistre ça en mode texte, morceau par morceau dans un second fichier
tout neuf. Quand ce sera terminé, il ne restera plus qu'à supprimer le
fichier de base, puis à renommer le nouveau fichier en fichier de base...


--
Site éditeur MES ROMANS édités
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Site de MES LOGICIELS
http://irolog.free.fr
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"RENAUD Eric" <erenaud(retirerceci)@fr.fm> a écrit dans le message de
news: %
Bonjour,

J'importe les données d'un fichier texte mais le problème est que chaque
ligne n'a pas de CR.

Je ne peux donc pas utiliser la commande du type :
Do While Not EOF(FileNumber2)
Line Input #FileNumber2, Contenu_LIGNE

J'ai trouvé une solution mais je ne peux pas automatiser.
Avec l'éditeur Ultra-Edit je peux ré-enregistrer mon fichier avec un CR
pour chaque ligne et la cela fonctionne.

Ma question :

1 - Ce que Ultra Edit fait, quelqu'un connait il du code VB qui
remplacerait cet éditeur pour me mettre des CVR au bout de chaque ligne
?
















Avatar
Bernard Flavignard
Bonsoir,
Pour résoudre ce problème j'utilise un petit utilitaire UNIX2DOS
Tu passes ton fichier source en argument et ça le fait en une seule fois.
Tu peux faire ceci dans ton code VB avec un SHELL
Rechercher UNIX2DOS sur Google, il est gratuit.
Espérant avoir aidé.
Salutations
--
Bernard Flavignard
www.guidonchalettois.fr

"RENAUD Eric" <erenaud(retirerceci)@fr.fm> a écrit dans le message de news:
%
Bonjour,

J'importe les données d'un fichier texte mais le problème est que chaque ligne
n'a pas de CR.

Je ne peux donc pas utiliser la commande du type :
Do While Not EOF(FileNumber2)
Line Input #FileNumber2, Contenu_LIGNE

J'ai trouvé une solution mais je ne peux pas automatiser.
Avec l'éditeur Ultra-Edit je peux ré-enregistrer mon fichier avec un CR pour
chaque ligne et la cela fonctionne.

Ma question :

1 - Ce que Ultra Edit fait, quelqu'un connait il du code VB qui remplacerait
cet éditeur pour me mettre des CVR au bout de chaque ligne ?








Avatar
RENAUD Eric
Merci à tous pour votre collaboration.
J'utilise donc Unix2Dos .
Salutations

"RENAUD Eric" <erenaud(retirerceci)@fr.fm> a écrit dans le message de news:
%
Bonjour,

J'importe les données d'un fichier texte mais le problème est que chaque
ligne n'a pas de CR.

Je ne peux donc pas utiliser la commande du type :
Do While Not EOF(FileNumber2)
Line Input #FileNumber2, Contenu_LIGNE

J'ai trouvé une solution mais je ne peux pas automatiser.
Avec l'éditeur Ultra-Edit je peux ré-enregistrer mon fichier avec un CR
pour chaque ligne et la cela fonctionne.

Ma question :

1 - Ce que Ultra Edit fait, quelqu'un connait il du code VB qui
remplacerait cet éditeur pour me mettre des CVR au bout de chaque ligne ?