Page 1 sur 1

[R] Suppression de ligne dans un TXT

Posté : mer. 15 avr. 2015 11:25
par EspriTT
Bonjour à tous,

Mon programme crée un GUI qui liste le contenu d'un .txt avec une casse Input que me permet d'y ajouter une ligne ou d'en supprimer une. Mon problème et que je n'arrive pas à faire fonctionner la fonction Supprime.

Tous Les conseils sont les bienvenus même sur les autre partie du programme. Je débute dans la programmation donc beaucoup de subtilité me sont encore inconnue
► Afficher le texte

Merci d'avance de votre aide

Re: [..] Suppression de ligne dans un TXT

Posté : mer. 15 avr. 2015 14:26
par jbnh
Salut,

Je te propose une solution, j'ai corrigé la méthode supprimer et lire
► Afficher le texte
Note que la liste n'affiche pas les doublons

Re: [..] Suppression de ligne dans un TXT

Posté : mer. 15 avr. 2015 17:09
par EspriTT
Merci tous fonctionne
je n'ai pas tous compris sur les changements effectué mais en cherchant bien ...

Re: [R] Suppression de ligne dans un TXT

Posté : mer. 15 avr. 2015 17:24
par jbnh
Pour ajouter une ligne , tu faisais dans ta boucle

Code : Tout sélectionner

$sFileRead = FileReadLine($hFileOpen)
CAD selon la doc la ligne 1 par défaut :
FileReadLine ( "filehandle/filename" [, line = 1] )
J'ai donc rajouté l'argument $i

Code : Tout sélectionner

$sFileRead = FileReadLine($hFileOpen,$i)
Pour supprimer je lis d'abord tout le contenu du fichier pour remplacer la ligne de l'input ($cible) avec StringReplace.
Je met

Code : Tout sélectionner

$Cible&@CRLF
Car dans ta fonction ajoute tu utilises FileWriteLine qui stipule
The line of text to write to the text file. If the line does NOT end in @CR or @LF then a DOS linefeed (@CRLF) will be automatically added.
Donc je supprime la ligne avec également son retour à la ligne.

J'écris ensuite le résultat du StringReplace dans le fichier texte en l'ouvrant avec $FO_OVERWRITE (cf doc) pour remplacer le contenu