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 :

séparateurs dans un fichier


Sujet :

Langage Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 20
    Points : 8
    Points
    8
    Par défaut séparateurs dans un fichier
    Je souhaiterais enregistrer dans un fichier texte, des informations provenant d'une base de données.

    Chaque champ de la table considérée est séparé par des "@", et chaque enregistrement est séparé par des "~".

    Comment faire ?

  2. #2
    Expert confirmé
    Avatar de Petrus
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 412
    Points : 5 922
    Points
    5 922
    Par défaut
    Salut

    Tu devrais plutot utiliser un document XML pour se genre de chose...
    Les séparateurs sont imposés ou non? Car tu peux toujour sutiliser le format CSV a la limiet. Des composants doivent déja exister..

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2002
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 30
    Points : 25
    Points
    25
    Par défaut
    tout dépend de ce que tu veux faire de ton fichier ....
    si c'est juste pour un export, utilise un format de type CSV ...
    si c'est pour quelque chose de plus structuré, effectivement, export plutôt vers du XML.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 20
    Points : 8
    Points
    8
    Par défaut séparateurs imposés
    Je dois tout faire en delphi, les séparateurs sont imposés en effet.

    Pas de XML possible

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2002
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 30
    Points : 25
    Points
    25
    Par défaut
    ok mais pour en faire quoi après, de ton fichier texte ?
    le stocker ?
    y acceder ?

  6. #6
    Membre expérimenté
    Avatar de Bloon
    Homme Profil pro
    Consultant Freelance
    Inscrit en
    Avril 2002
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant Freelance
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2002
    Messages : 467
    Points : 1 339
    Points
    1 339
    Par défaut
    Question déjà abordée, voici une solution pour transformer un dataset en fichier texte :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    var
      i, n : integer;
      fichier : TextFile;
      bm : TBookmark;
      separateur : string;
     
    begin
     
        Screen.Cursor := crHourGlass; 
     
        try 
     
          separateur := ';'; 
     
          leDataSet.DisableControls;
     
          try
            // Création du fichier de sortie
            AssignFile(fichier,'fichierdesortie.csv');
            Rewrite(fichier);
     
            // ligne d'en-tête
            n := leDataSet.FieldCount - 1;
            for i:= 0 to n do
            begin
              if (i > 0) then
                write(fichier,separateur + leDataSet.Fields[i].FieldName)
              else
                write(fichier,leDataSet.Fields[i].FieldName); 
            end; 
     
            writeln(fichier); 
     
            // Parcours du dataSet 
            with leDataSet do 
            begin 
              if not Active then 
                Open;
              // on sauvegarde la position 
              bm := leDataSet.GetBookmark; 
              First; 
              while not Eof do 
              begin 
                // ecriture de chaque colonne 
                for i := 0 to n do 
                begin 
                  if (i > 0) then
                    write(fichier,separateur + Fields[i].asString)
                  else
                    write(fichier,Fields[i].asString)
                end;
                writeln(fichier);
                Next;
              end; // while not eof
              // on restaure la position
              leDataSet.GotoBookmark(bm);
              leDataSet.FreeBookmark(bm);
            end; // with
          finally
            CloseFile(fichier);
          end;
        finally
          Screen.Cursor := crDefault;
          leDataSet.EnableControls;
        end;
      end;
     
    end;
    Pour ton besoin, remplace les writeln(fichier) par write(fichier, '~') et mets la variable séparateur à '@'. De plus, le fichier n'est plus un fichier csv.

    A+

    Bloon
    A lire : Les règles du club
    Delphi : La FAQ - Articles

Discussions similaires

  1. [XL-2003] Séparateur dans un fichier texte variable : virgule ou tabulation
    Par Vincent32 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/05/2012, 11h50
  2. caractère séparateur dans un fichier de spool
    Par Peanut dans le forum Oracle
    Réponses: 7
    Dernier message: 03/08/2007, 13h48
  3. Réponses: 4
    Dernier message: 12/07/2007, 08h56
  4. Problème de séparateur dans fichier CSV
    Par mbibim63 dans le forum Excel
    Réponses: 4
    Dernier message: 05/07/2007, 08h29
  5. Séparateur ; dans un fichier
    Par martinot dans le forum C++
    Réponses: 3
    Dernier message: 01/06/2005, 12h50

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