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 Pascal Discussion :

Exporter un fichier txt vers un fichier structuré


Sujet :

Langage Pascal

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Exporter un fichier txt vers un fichier structuré
    bon soir tous le monde
    j'ai un fichier txt que je veux exporter vers un fichier structuré comme mon bagage pascal est faible accordez moi un petit exemple de la façon suivante :
    donnée du fichier txt: 125 france saut de ligne 126 norvege saut de ligne 127 belgique et le fichier structure compose de deux champs code et pays comment faire et merci d'avance

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 963
    Points : 59 653
    Points
    59 653
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Pour lire le contenu de ton fichier texte en en chargeant le contenu directement dans un enregistrement, tu peux faire par 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
    Var t : Text;
        Espace : Char;   (* Espace inutile entre les champs *)
        rec : Record
                code : Integer;
                pays : String;
              end;
     
    Begin
      Assign(t,'temp.txt');
      Reset(t);
      while not EOF(t) do
        begin
          ReadLn(t,rec.code,Espace,rec.pays);
          // ...
        end;
      Close(t);
    End.
    Ce n'est que la moitié du travail, il faut encore ajouter l'écriture dans le fichier structuré.

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Exporter un fichier txt vers un fichier structuré
    impecable alcatiz et merci,j'ai ajoute un writeln(t,rec.code,rec.pays);
    lors de l'execution un message s'affiche "file not open for output" donc
    comment ouvrir le fichier destination pour que les lignes du fichier text s'enregistrent dans le fichier structuré et merci

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 15
    Points : 8
    Points
    8
    Par défaut xporter un fichier txt vers un fichier structuré
    j'ai resolu le probleme du message file not open for output en ajoutant deux lignes au code : assign(x,'c:\dest.dat');
    rewrite(x)
    reste a copier chaque colonne du fichier text dans le champs du fichier destination comment proceder donc et merci

  5. #5
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 949
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 949
    Points : 5 665
    Points
    5 665
    Par défaut
    Sao,
    Citation Envoyé par Alcatîz Voir le message
    Ce n'est que la moitié du travail, il faut encore ajouter l'écriture dans le fichier structuré.
    Et pour ça, il faudra avoir un type pour le record utilisé. Il faut donc le déclarer et l'utiliser, plutôt que faire une déclaration du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Var t : Text;
        Espace : Char;   (* Espace inutile entre les champs *)
     
       { ici :) }
        rec : Record
                code : Integer;
                pays : String;
              end;

  6. #6
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Exporter un fichier txt vers un fichier structuré
    merci mr droggo pour l'interet apporté à mon probleme,j'ai deja fait ta recommandation,il me reste un seul probleme c'est de decouper la ligne du fichier text en deux colonne pour les inscrire dans le fichier typé

  7. #7
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 949
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 949
    Points : 5 665
    Points
    5 665
    Par défaut
    Vae,
    Citation Envoyé par LAMAN Voir le message
    merci mr droggo pour l'interet apporté à mon probleme,j'ai deja fait ta recommandation,il me reste un seul probleme c'est de decouper la ligne du fichier text en deux colonne pour les inscrire dans le fichier typé
    Tu n'as pas à te préoccuper de colonnes ou autres pour un fichier typé, il contiendra simplement les données brutes de ton record.

    Il faut faire un fichier typé comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    type
      rec_t = record
        ...
      end;
     
    ...
    var
      fichier : file of rec_t;
    ...
    une fois le fichier crée et ouvert en écriture, pour écrire dedans:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var
      rec : rec_t;
    ...
      { remplir rec avec les données }
      { et écrire dans fichier }
      write(fichier,rec) ;
    dans les fichiers typés, toujours utiliser write, et jamais writeln.

  8. #8
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Exporter un fichier txt vers un fichier structuré
    mr droggo oui je comprends mais les donnée d'origine sont stocké dans un fichier txt à separateur tabultion donc il faux d'abord faire une extraction de ce fichier et l'ecrire dans le fichier typé

  9. #9
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 949
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 949
    Points : 5 665
    Points
    5 665
    Par défaut
    Xoe,

    - Alcatîz t'a montré comment lire ton fichier d'origine.

    - Je te rappelle comment déclarer un fichier typé, et comment écrire dedans.

    Tu as donc tous les éléments pour résoudre ton problème.

    À ton tour : commence ton travail, montre-nous ce que tu as fait, et on pourra t'aider pour aller plus loin.

    Car tu dois déjà le savoir si tu as eu un tant soit peu de curiosité pour lire quelques sujets du forum : nous ne ferons pas ton travail à ta place.

  10. #10
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Exporter un fichier txt vers un fichier structuré
    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
     
    Var t : Text;
        Espace : Char;   (* Espace inutile entre les champs *)
        rec : Record
                code : Integer;
                pays : String;
              end;
    var x :file of rec;
     
    Begin
      Assign(t,'temp.txt');
      assign(x,'c:\destin.dat') (*je l'ai ajouté pour enregistrer dans un fichier physique*)
      Reset(t);
      rewrite (x)
    while not EOF(t) do
        begin
          ReadLn(t,rec.code,Espace,rec.pays);
          write(x,rec.code);
          write(x,rec.pays)  
    end;
      Close(t);
    End.
    mais ça n'a pas fait l'affaire

  11. #11
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 949
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 949
    Points : 5 665
    Points
    5 665
    Par défaut
    Bea,

    Rassure-moi : tu as lu/compris ce que j'ai écrit sur la manière d'écrire une variable de type record dans un fichier type avec ce même record ?

    Si oui, relis ton code et compare.

    Si non, relis les réponses précédentes.

Discussions similaires

  1. [Batch] Rediriger le resultat d'un fichier.bat vers un fichier.txt
    Par 4Tune dans le forum Scripts/Batch
    Réponses: 7
    Dernier message: 04/06/2013, 16h20
  2. Export de requete vers un fichier .txt en VB
    Par Sam 069 dans le forum Access
    Réponses: 6
    Dernier message: 23/02/2007, 13h26
  3. [VBA-E] Exporter une page Excel vers un Fichier Txt
    Par mamantins dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/06/2006, 11h09
  4. Réponses: 10
    Dernier message: 08/06/2006, 08h57
  5. Export d'une table vers un fichier Txt
    Par Max30 dans le forum Access
    Réponses: 5
    Dernier message: 12/05/2006, 18h10

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