Comment supprimer la dernière ligne d'un fichier

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Comment supprimer la dernière ligne d'un fichier

Messagepar Mick » 07 Jan 2011 à 14:58

Bonjour

En LS, comment je peux faire pour supprimer la dernière ligne d'un fichier texte ?

Je lis un premier fichier, je fais des modifs si besoin et j'envoie la ligne dans un second fichier.

Le second fichier se termine par une ligne blanche et je souhaite la supprimer.


Merci,
Mick
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 170
Inscrit(e) le : 09 Juin 2009 à 09:39

Messagepar Michael DELIQUE » 07 Jan 2011 à 15:00

salut

ça serais pas un pb de fin de fichier ? ou de retour chariot en trop ?

as tu lu ceci => http://forum.dominoarea.org/la-gestion- ... 12999.html
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Mick » 07 Jan 2011 à 15:08

Je lis le fichier 1 (qui ne comporte pas de fin de fichier avec une ligne vide) en input.

J'ouvre le fichier 2 en Output et je l'alimente à partir du contenu du fichier 1.

On dirait bien que le close en LS se termine forcément par un chr(13) et chr(10).


Mais je n'en veux pas dans mon fichier, comment fermer le fichier sans qu'il se termine par un saut de ligne ?


Thanks,
Mick
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 170
Inscrit(e) le : 09 Juin 2009 à 09:39

Messagepar roubech » 09 Jan 2011 à 00:18

a chaque fois que tu fais un print dans ton fichier 2; tu passaes à la ligne pour écrire la ligne suivante. C'est pareil pour ton dernier print
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar Mick » 10 Jan 2011 à 07:16

Ok le print écrit la ligne et fait un saut de ligne.

Mon fichier est composé de ligne commençant soit par E soit par L.
Si la ligne commence par E je fais une comparaison de date.

Donc mon avant dernière ligne est composé d'un E avec une date ok.
Ensuite une ligne avec un L et donc un saut de ligne.

J'arrive maintenant sur une ligne avec un E mais une date non ok, le programme s'arrête.


:oops:
Comment je peux faire pour finir sur une ligne avec L et non sur un saut de ligne ?


Merci,
Mick
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 170
Inscrit(e) le : 09 Juin 2009 à 09:39

Messagepar Grey Goda » 10 Jan 2011 à 11:40

Je n'ai pas tout compris à ton dernier post mais pour répondre à une question précédente, pour empêcher l'ajout d'un saut de ligne à un Print#, il suffit d'ajouter un point virgule à la fin de la commande...

C'est un héritage de Visual Basic qui a priori fonctionne en LS aussi.

[syntax="LotusScript"]Print #intFile, "Mon texte AVEC saut de ligne à la fin" <--- Rien
Print #intFile, "Mon texte SANS saut de ligne à la fin"; <--- Point virgule[/syntax]
Tout comme Google, l'aide du Designer est ton amie ! Tu la trouveras dans ton répertoire "/data/help" ou ici
Avatar de l’utilisateur
Grey Goda
Posteur néophyte
Posteur néophyte
 
Message(s) : 61
Inscrit(e) le : 12 Mars 2010 à 11:31

Messagepar Michael DELIQUE » 10 Jan 2011 à 11:43

ça mérite un petit tips ça !
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Mick » 10 Jan 2011 à 12:48

Je confirme le ; à la fin d'un print supprime le saut de ligne.


:oops:
Par contre, le saut de ligne m'intéresse mais pas pour le dernier print.

Avant de faire le CLOSE, je voudrais pouvoir supprimer la dernière ligne du fichier.

c'est possible en LS ?


Merci,
Mick
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 170
Inscrit(e) le : 09 Juin 2009 à 09:39

Messagepar Michael DELIQUE » 10 Jan 2011 à 12:50

tu dois pouvoir remplacer une ligne par une autre, donc une ligne par du vide... mais je suis pas certain
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Mick » 10 Jan 2011 à 12:59

Il faut que je me place à la fin du fichier et que je supprime la dernière ligne qui est vide ...

Une idée pour le code en LS ?


Merci,
:oops:
Mick
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 170
Inscrit(e) le : 09 Juin 2009 à 09:39

Messagepar oguruma » 28 Jan 2011 à 14:02

Grey Goda a écrit:Je n'ai pas tout compris à ton dernier post mais pour répondre à une question précédente, pour empêcher l'ajout d'un saut de ligne à un Print#, il suffit d'ajouter un point virgule à la fin de la commande...

C'est un héritage de Visual Basic qui a priori fonctionne en LS aussi.

[syntax="LotusScript"]Print #intFile, "Mon texte AVEC saut de ligne à la fin" <--- Rien
Print #intFile, "Mon texte SANS saut de ligne à la fin"; <--- Point virgule[/syntax]


Non c'est tout simple un héritage du Basic pur "au temps des TRS-80 pour ceux qui ont connu"

le ; éviter le passage à la ligne avec le print
on peut aussi les gérer soit même en combinant chr$(10) & chr$(13) et aussi le coupler avec le ;

le plus simple est de construire sont enregistrement dans une variable et décider de le terminer soit même avec des chr$(13) & chr$(10)

si un jour tu es amené à produire des fichiers à la sauce unix c'est à dire un chr$(10) qui est le marqueur de fin d'enregistrement tu devra oublier le print (tout court) et gérer toi-même ton format d'enregistremen [tu peux en crois mon expérience dans le domaine... j'ai bcp donné dans les exports vers UNix/Linux/AIX avec tous types de formats !!!
Bien à vous

http://www.dominoarea.org/oguruma/

Les téléphones PORTABLES dans les TGV y en a MARRRE de ces voyageurs qui ne respectent pas les autres ! ARRET DES PORTABLES SVP - Merci

Fumeurs ! respectez les non fumeurs !!!
Fumeurs ! respectez la loi de février 2007 et les lieux publics !!! (ie. hall de gares)
Avatar de l’utilisateur
oguruma
Super V.I.P.
Super V.I.P.
 
Message(s) : 4086
Inscrit(e) le : 16 Déc 2004 à 08:50
Localisation : LILLE

Messagepar Mick » 02 Fév 2011 à 16:34

Désolé de revenir à la pêche aux infos ... :oops:

Mais je ne vois pas comment faire pour ne pas avoir un saut de ligne en fin de fichier.


Il n'existe pas une fonction qui me permettrait de me placer à la fin d'un fichier texte et de supprimer cette dernière ligne ?


Merci,
Mick
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 170
Inscrit(e) le : 09 Juin 2009 à 09:39


Retour vers Développement