IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Suppression de lignes dans un fichier texte


Sujet :

Langage Delphi

  1. #1
    Membre régulier Avatar de Isa31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 267
    Points : 109
    Points
    109
    Par défaut Suppression de lignes dans un fichier texte
    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

  2. #2
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    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...
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  3. #3
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    ou dans un memo ou une list pour que vois les ligne a suprimer
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  4. #4
    Membre régulier Avatar de Isa31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 267
    Points : 109
    Points
    109
    Par défaut
    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.


  5. #5
    Membre régulier Avatar de yoghisan
    Profil pro
    Inscrit en
    Février 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 172
    Points : 113
    Points
    113
    Par défaut
    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é

  6. #6
    Membre régulier Avatar de Isa31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 267
    Points : 109
    Points
    109
    Par défaut
    pardon????

    Je veux supprimer des 79 premières lignes de mon fichier.

  7. #7
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Est ce que tu ne ferais pas par hasard comme ci dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for i := 0 to 79 do
      Maliste.delete(i);
    Si tu fais comme ca c'est normal que ca efface pas les ligne que tu veux.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  8. #8
    Membre régulier Avatar de Isa31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 267
    Points : 109
    Points
    109
    Par défaut
    Heu, oui je fais ça....

    C'est quoi la bonne méthode?????

  9. #9
    Membre régulier Avatar de yoghisan
    Profil pro
    Inscrit en
    Février 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 172
    Points : 113
    Points
    113
    Par défaut
    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é...

    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
    Tu as donc effacé comme ca une ligne sur deux ! Toutes tes 80 premières lignes impaires

  10. #10
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    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
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  11. #11
    Membre régulier Avatar de Isa31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 267
    Points : 109
    Points
    109
    Par défaut
    Faut faire comment??
    Je dois passer par des étapes intermédiaires?

  12. #12
    Membre régulier Avatar de yoghisan
    Profil pro
    Inscrit en
    Février 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 172
    Points : 113
    Points
    113
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i:=79 downto 0 do Maliste.delete(i);
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i:=0 to 79 do Maliste.delete(0);

  13. #13
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par yoghisan
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for i:=79 to 0 downto 
      Maliste.delete(i);
    euh c'et plutot

    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
    Ou

    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
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  14. #14
    Membre régulier Avatar de Isa31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 267
    Points : 109
    Points
    109
    Par défaut
    Merci beaucoup.


  15. #15
    Membre régulier Avatar de yoghisan
    Profil pro
    Inscrit en
    Février 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 172
    Points : 113
    Points
    113
    Par défaut
    J'étais entrain de corriger quand tu repondais...

    Et tu voulais dire
    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
    au lieu de

    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
    ;o)

  16. #16
    Membre régulier Avatar de Isa31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 267
    Points : 109
    Points
    109
    Par défaut

  17. #17
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par yoghisan
    J'étais entrain de corriger quand tu repondais...

    Et tu voulais dire
    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
    au lieu de

    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
    ;o)
    lol oui manque le do
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Suppression de lignes dans un fichier texte
    Par chouchou60 dans le forum VBA Access
    Réponses: 1
    Dernier message: 08/04/2009, 12h01
  2. suppression de lignes dans un fichier texte
    Par lerab51 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 23/10/2007, 11h23
  3. [Fichier] Nombre de ligne dans un fichier texte
    Par NewSer dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 10/11/2004, 16h58
  4. Réponses: 2
    Dernier message: 02/03/2004, 19h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo