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 :

Delphi et les fichiers texte


Sujet :

Langage Delphi

  1. #1
    Membre régulier Avatar de the watcher
    Inscrit en
    Juillet 2003
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 356
    Points : 123
    Points
    123
    Par défaut Delphi et les fichiers texte
    Voici mon problème les amis :

    26/09/2005,100,5710000,BADO FELIX WILLIAMS,0,20000,1
    26/09/2005,100,5710000,BADO FELIX WILLIAMS,0,20000,1
    26/09/2005,100,4110188,Versement de scolarit‚20000,0,1
    26/09/2005,100,4110188,Versement de scolarit‚20000,0,1
    26/09/2005,101,4110150,Versement de scolarit‚25000,0,1
    26/09/2005,101,4110150,Versement de scolarit‚25000,0,1
    26/09/2005,101,5710000,KONE MARIAM SARAH,0,25000,1
    26/09/2005,101,5710000,KONE MARIAM SARAH,0,25000,1
    26/09/2005,102,4110182,Versement de scolarit‚20000,0,1
    26/09/2005,102,5710000,OUATTARA FATOUMATA,0,20000,1
    26/09/2005,102,4110182,Versement de scolarit‚20000,0,1
    26/09/2005,102,5710000,OUATTARA FATOUMATA,0,20000,1
    Je voudrais un ptit program pour parcourir le contenu de mon fichier texte dont un extrait ci-dessus et extraire un enregistrement unique pour le copier dans autre fichier texte.
    Mon fichier texte s'appelle texte1 et le second texte2
    L'important n'est pas de tout savoir mais de savoir où tout se trouve !

  2. #2
    Membre expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti chat, bienfaiteur de tritons et autres bestioles

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 561
    Points : 3 951
    Points
    3 951
    Par défaut
    Salut

    Pourrais-tu préciser comment tu vas choisir l'enregistrement unique ?

    cdlt

    e-ric

    M E N S . A G I T A T . M O L E M
    Debian 64bit, Lazarus + FPC -> n'oubliez pas de consulter les FAQ Delphi et Pascal ainsi que les cours et tutoriels Delphi et Pascal

    "La théorie, c'est quand on sait tout, mais que rien ne marche. La pratique, c'est quand tout marche, mais qu'on ne sait pas pourquoi. En informatique, la théorie et la pratique sont réunies: rien ne marche et on ne sait pas pourquoi!".
    Mais Emmanuel Kant disait aussi : "La théorie sans la pratique est inutile, la pratique sans la théorie est aveugle."

  3. #3
    Membre régulier Avatar de the watcher
    Inscrit en
    Juillet 2003
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 356
    Points : 123
    Points
    123
    Par défaut
    Je parle d'enregistrement unique quand lorsque je prend par ex.
    les deux premières lignes.

    26/09/2005,100,5710000,BADO FELIX WILLIAMS,0,20000,1
    26/09/2005,100,5710000,BADO FELIX WILLIAMS,0,20000,1
    Elles sont identiques alors que je n'ai besoin que d'une.

    Est-ce que tu vois ?
    L'important n'est pas de tout savoir mais de savoir où tout se trouve !

  4. #4
    bjl
    bjl est déconnecté
    Membre averti Avatar de bjl
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : Brésil

    Informations forums :
    Inscription : Décembre 2002
    Messages : 263
    Points : 338
    Points
    338
    Par défaut
    bonjour,

    si çà ne pose pas de problème que ta liste soit ordonnée, je suggère de lire le fichier avec une Tstringlist avec les propriétés sorted := true; et Dupplicates := dupIgnore;

  5. #5
    Membre régulier Avatar de the watcher
    Inscrit en
    Juillet 2003
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 356
    Points : 123
    Points
    123
    Par défaut
    Ahh !! J'oubliais,
    J'ai reussir à règler le problème avec acces uuhhmm disons avec un peu d'acrobatie : j'ai exporter le contenu de mon fichier texte dans dans une table en mettant les delimiteurs comme ceci :

    champ1 champ2 champ3 champ4 champ5 champ6 champ7
    -------------------------------------------------------------------------------
    26-09-2005 , 100 , 5710000 , BADO FELIX WILLIAMS , 0 , 20000 , 1
    26-09-2005 , 100 , 5710000 , BADO FELIX WILLIAMS , 0 , 20000 , 1
    ensuite j'ai cré une requête de selection avec l'option distinct. ça fonctionner parfaitement mais le problème est qu'il faut que je ramenne les nouvelles données au format texte et en plus le format de auquel acces m'a converti les dates 26/09/2005 au lieu de 26-09-2005 ne me convient pas.
    Voila pouquoi j'ai pensé que si delphi pouvait lire directement dans mon fichier texte d'origine et copier le contenu dans un autre file texte en ne concervant qu'une ligne unique de chaque ligne qu'il parcourera ce sera plus simple pour moi.
    L'important n'est pas de tout savoir mais de savoir où tout se trouve !

  6. #6
    bjl
    bjl est déconnecté
    Membre averti Avatar de bjl
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : Brésil

    Informations forums :
    Inscription : Décembre 2002
    Messages : 263
    Points : 338
    Points
    338
    Par défaut
    un petit exemple :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Procedure SupprimerDoublons;
    Var
      AStringList : TstringList;
      F : TextFile;
      S : String;
    Begin
    AStringList := TStringList.Create;
    AStringlist.Sorted := True; {ordonne la liste}
    Astringlist.Dupplicates := dupIgnore; {ne prend pas en compte les doublons}
     
    {chargement de la list (je ne crois pas que çà marche avec Astringlist.LoadFromFile donc on va passer par Assign)}
     
    Assign(F, 'FICHIER1.TXT'); 
    Reset(F); 
    while not Eof(F) do 
      begin 
      ReadLn(F, S);  
      Astringlist.add(S);{ ajout de la ligne à la liste : les doublons sont ignorés }
      end; 
    Close(F); 
     
    Astringlist.writeToFile('FICHIER2.TXT'); {écrit dans le second fichier le contenu du premier fichier expurgé des doublons}
    Astringlist.free;
    end;

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/08/2007, 16h42
  2. Réponses: 5
    Dernier message: 25/06/2007, 23h25
  3. Réponses: 3
    Dernier message: 24/05/2007, 10h21
  4. [SQL] Pourquoi utilise-t-on encore les fichiers texte?
    Par krimback dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 24/03/2006, 13h44
  5. Suppression de tous les fichiers textes d'un répertoire
    Par Cathy dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 20/09/2005, 17h11

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