Bonjour,
Ma question est très bête, , mais ca fait un moment je n'ai plus fait de développement et je ne sais plus comment on fait pour supprimer des lignes dans un fichier texte.
Merci d'avance pour votre aide.
Isa
Bonjour,
Ma question est très bête, , mais ca fait un moment je n'ai plus fait de développement et je ne sais plus comment on fait pour supprimer des lignes dans un fichier texte.
Merci d'avance pour votre aide.
Isa
Salut
Tu peux par exemple charger ton fichier dans un TStringList puis appeler Delete(Index:integer) sur la(les) ligne(s) que tu veux supprimer puis réenregistrer le fichier avec SaveToFile...
ou dans un memo ou une list pour que vois les ligne a suprimer
Je fais le TStringList, mais j'ai pas toutes les lignes qui se supprime, je dis que je veux de la ligne 0 à 79, mais j'ai des lignes qui ne se supprime pas...
En fait il en supprime une sur deux.
Il faut que tu effaces de la ligne 79 à 0 ou que tu effaces 80 fois la ligne 0 mais ca depend du composant que tu as utilisé
pardon????
Je veux supprimer des 79 premières lignes de mon fichier.
Est ce que tu ne ferais pas par hasard comme ci dessous :
Si tu fais comme ca c'est normal que ca efface pas les ligne que tu veux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for i := 0 to 79 do Maliste.delete(i);
Heu, oui je fais ça....
C'est quoi la bonne méthode?????
Quand tu effaces ta premiere ligne, ta deuxieme ligne devient la première et ainsi de suite.
Ensuite tu effaces ta deuxieme qui est enfin de compte ta troisième ligne de départ et ta deuxieme ligne de depart ne sera pas effacé...
Tu as donc effacé comme ca une ligne sur deux ! Toutes tes 80 premières lignes impaires
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 00 --> 01 01 01 01 02 --> 03 03 02 03 04 --> 05 03 04 05 06 04 05 06 07 .. --> : ligne effacée
Imagine une pile de 80 livres.
Celui de tout en bas a l'indice 0, celui tout en haut a l'indice 79.
Tu retires celui qui est tout en bas (oui oui faut être malade de retirer un livre tout en abs d'un pile :p)
Celui qui avait l'indice 1 devient celui d'indice 0 et pareil avec les autres, il prenne tous -1 en indice.
problème ta boucle demande de retirer maintenant le N°1, mais en fait ce n°1 (celui que tu voulais) est maintenant le numéro 0 vuq ue tu as reduit ta pile de 1.
Donc comme on te l'as dit :
- Soit tu supprimes du dernier au premier
- Soit tu supprimes x fois le premier
Faut faire comment??
Je dois passer par des étapes intermédiaires?
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part for i:=79 downto 0 do Maliste.delete(i);
Code : Sélectionner tout - Visualiser dans une fenêtre à part for i:=0 to 79 do Maliste.delete(0);
euh c'et plutotEnvoyé par yoghisan
Ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for i := 79 downto 0 do Maliste.delete(i); // suppression des lignes de 79 à 0
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for i := 0 to 79 Maliste.delete(0); // suppression de x fois la ligne 0
J'étais entrain de corriger quand tu repondais...
Et tu voulais dire
au lieu de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 for i := 0 to 79 do Maliste.delete(0); // suppression de x fois la ligne 0
;o)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 for i := 0 to 79 Maliste.delete(0); // suppression de x fois la ligne 0
lol oui manque le doEnvoyé par yoghisan
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager