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

 Delphi Discussion :

lister des enregistrements dans fichier TXT ?


Sujet :

Delphi

  1. #1
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 312
    Points : 92
    Points
    92
    Par défaut lister des enregistrements dans fichier TXT ?
    bonjour

    j'ai ecris un program pour affiché chaque ligne (enregistrement) d'une table dans un fichier text mais il maffiche seulement le premier champ meme pas le premier enregistrement !!!

    par exemple : je veux afficher l'enregistrement Nom et Prenom de la table il m'affiche seulement le Nom et moi je veux ce resultat que voici :

    Nom prenom
    nom prenom

    voila le source

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    procedure TForm1.Button11Click(Sender: TObject);
     
    var ligne : tstrings;
    begin
    while table_employ.eof do
    begin
    ligne := tstringlist.create;
    ligne.add(table_employ.FieldByName('Nom_employ').AsString);
    ligne.add(table_employ.FieldByName('Prenom_employ').AsString);
    ligne.savetofile('D:\table\template\test.txt');
    ligne.free;
    table_employ.Next;
    end;
    end;
    quelqu'un peu m'aider !!!?

    merci

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 691
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 691
    Points : 13 121
    Points
    13 121
    Par défaut
    Forcement si à chaque ligne tu recrées une nouvelle liste et écrase l'ancien fichier.

    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
    procedure TForm1.Button11Click(Sender: TObject);
    var ligne : tstrings;
     
    begin
      ligne := tstringlist.create;
     
      try
        table_employ.First;
     
        while table_employ.eof do
        begin
          ligne.add(table_employ.FieldByName('Nom_employ').AsString +' '
                   +table_employ.FieldByName('Prenom_employ').AsString);
     
          table_employ.Next;
        end;
     
        ligne.savetofile('D:\table\template\test.txt');
      finally
        ligne.free;
      end;
    end

  3. #3
    Membre confirmé
    Avatar de alheuredudejeuner
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2005
    Messages : 376
    Points : 632
    Points
    632
    Billets dans le blog
    4
    Par défaut cvs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    var ligne : tstrings;
    begin
    ligne := tstringlist.create;
    while table_employ.eof do
    begin
    ligne.add(table_employ.FieldByName('Nom_employ').AsString) +','+
                table_employ.FieldByName('Prenom_employ').AsString;
    table_employ.Next;
    ligne.savetofile('D:\table\template\test.txt');
    ligne.free;
    end;
    end;
    après tu récupères avec le memory datset de la jvcl, voir même le Tclientdataset, mais une recherche sur Delphi et CVS devrait te donner des renseignement plus précis

    André

  4. #4
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 312
    Points : 92
    Points
    92
    Par défaut
    avec ce source
    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
    procedure TForm1.Button11Click(Sender: TObject);
    var ligne : tstrings;
     
    begin
      ligne := tstringlist.create;
     
      try
        table_employ.First;
     
        while table_employ.eof do
        begin
          ligne.add(table_employ.FieldByName('Nom_employ').AsString +' '
                   +table_employ.FieldByName('Prenom_employ').AsString);
     
          table_employ.Next;
        end;
     
        ligne.savetofile('D:\table\template\test.txt');
      finally
        ligne.free;
      end;
    end
    le fichier text reste vide !!!!!!!!!!!!!!!!!!!!!!!!!! ça marche pas

    avec ça aussi ça marche pas le fichier text reste vide!!!:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var ligne : tstrings;
    begin
    ligne := tstringlist.create;
    while table_employ.eof do
    begin
    ligne.add(table_employ.FieldByName('Nom_employ').AsString) +','+
                table_employ.FieldByName('Prenom_employ').AsString;
    table_employ.Next;
    ligne.savetofile('D:\table\template\test.txt');
    ligne.free;
    end;
    end;

  5. #5
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 691
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 691
    Points : 13 121
    Points
    13 121
    Par défaut
    Alors, c'est que ta table ne contient aucun enregistrement

  6. #6
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 312
    Points : 92
    Points
    92
    Par défaut
    si elle contient 5 enregistrement je vous l'ai dit en haut elle m'affiche avec mon premier code source seulement le non du premier enregistrement

  7. #7
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 691
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 691
    Points : 13 121
    Points
    13 121
    Par défaut
    Bien sûr que la boucle doit être:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while not table_employ.eof do
    Ahh copier/coller

  8. #8
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 312
    Points : 92
    Points
    92
    Par défaut
    un message d'erreur quand j'ai ajouté le l'erreur et comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exception externe c000001D
    !!!!!!!!!!

    et il m'affiche seulement le premier enregistrement c tout dans le fichier txt

  9. #9
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    Bonsoir,

    Je confirme que ceci fonctionne pour la partie fichier texte : (avec le Not)

    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
    procedure TForm1.Button11Click(Sender: TObject);
    var ligne : tstrings;
     
    begin
      ligne := tstringlist.create;
     
      try
        table_employ.First;
     
        while Not table_employ.eof do
        begin
          ligne.add(table_employ.FieldByName('Nom_employ').AsString +' '
                   +table_employ.FieldByName('Prenom_employ').AsString);
     
          table_employ.Next;
        end;
     
        ligne.savetofile('D:\table\template\test.txt');
      finally
        ligne.free;
      end;
    end
    L'erreur que tu obtients est certainement lié à l'accès à la base de données.

    Sur quelle ligne as-tu l'erreur ? Ca nous aiderait.

    =>paulfr
    J'ai des tas de mauvaises surprise avec les fichiers Typé et les fichier TextFile depuis le passage à W2000 et XP. Les droits ne sont pas les mêmes. Je conseille le passage par un TStringList ou des Stream et d'oublier nos vieilles habitudes.
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  10. #10
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 312
    Points : 92
    Points
    92
    Par défaut
    boujour

    c'est bon ça marche j'ai trouvé le problème et désolé c'est une erreur de ma par ce source marche trés bien
    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
    procedure TForm1.Button11Click(Sender: TObject);
    var ligne : tstrings;
     
    begin
      ligne := tstringlist.create;
     
      try
        table_employ.First;
     
        while Not table_employ.eof do
        begin
          ligne.add(table_employ.FieldByName('Nom_employ').AsString +' '
                   +table_employ.FieldByName('Prenom_employ').AsString);
     
          table_employ.Next;
        end;
     
        ligne.savetofile('D:\table\template\test.txt');
      finally
        ligne.free;
      end;
    end
    le problème été que j'ai ouvert éclipse (java j2EE) et delphi7 au même temps j'ai fermé éclipse et sa marche


    merci beaucoup c'est résolu

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

Discussions similaires

  1. Extraire des données dans fichier txt
    Par islande dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 28/03/2013, 13h42
  2. Lister des enregistrements dans un formulaire
    Par Marcello5255 dans le forum IHM
    Réponses: 4
    Dernier message: 04/04/2011, 11h07
  3. Réponses: 13
    Dernier message: 28/07/2010, 19h44
  4. Retirer des informations dans fichier .txt
    Par cricri77200 dans le forum Langage
    Réponses: 9
    Dernier message: 09/06/2009, 15h22
  5. Réponses: 4
    Dernier message: 28/08/2006, 14h47

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