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 :

Tableaux d'enregistrements dans un fichier


Sujet :

Langage Pascal

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Tableaux d'enregistrements dans un fichier
    Bonjour à tous,

    J'ai parcouru le forum,les tuto et tout et tout mais mon problème subsiste.

    La structure du code n'est pas finalisée mais ça compile.
    Problème :je n'arrive pas à écrire mon tableau dans un fichier et ce fichier doit-il être de type txt/dat etc ?

    Merci pour vos réponses car pour l'instant je suis assez déçu de mes retrouvailles avec TP et de bloquer depuis 3 jours.

    Code en pj.

    Favorit.
    Fichiers attachés Fichiers attachés

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut tableaux d'enregistrements dans fichiers
    Même message que le précédent avec le code joint c'est mieux :

    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
    Uses crt;
     
     Type article=record
            reference:string;
            quantite:integer;
            qtepal:integer;
            nbpal:integer;
          end;
          inventaire=array[1..200] of article;
     
      stock= file of inventaire;
    var  a:stock;
         ref:string;
         tab:inventaire;
         b:article;
         rep,o,r:char;
         qte,pal,nbpal,i,n:integer;
     begin
      rep:=o;
      Clrscr;
      i:=1;
      repeat
       with b do
       begin
        Writeln('Entrez votre r‚f‚rence');
        readln(tab[i].reference);
        Writeln('Entrez votre quantit‚ en stock');
        Readln(tab[i].quantite);
        Writeln('Entrez votre palettisation');
        Readln(tab[i].qtepal);
                 if frac(pal)<>0
          then
           begin
            tab[i].nbpal:=trunc((tab[i].quantite/tab[i].qtepal)+1);
           end
          else
           begin
            tab[i].nbpal:=trunc(tab[i].quantite/tab[i].qtepal);
           end;
         end;
        Writeln('Voulez-vous continuez la saisie ? o/n');
        Readln(r);
        rep:=r;
        i:=i+1;
        n:=i-1;
        Until rep<>'o';
     
     
         for i:=1 to n do
          begin
            write(tab[i].reference,tab[i].quantite,tab[i].qtepal,tab[i].nbpal);
            writeln;
          end;
          readln;
          assign(a,'c:\tp7\bin\stockage.dat');
          rewrite(a);
          for i:=1 to n do
          write(a,tab);
          close(a);
          reset(a);
          read(a,tab);
          readln;
          close(a);
     
    end.
    Merci encore
    Favorit.

  3. #3
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Chez moi, le programme compile tres bien et le fichier est crée dans le dossier c:\tp7\bin.
    Le fichier crée est un fichier binaire donc tu ne peux pas lire le contenu avec bloc note. Pour lire le contenu, il te faut faire un autre programme et permet de lire le fichier en declarant un fichier du meme du type que lors de la creation.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse rapide.
    Mon programme compile effectivement bien.
    Tu me dis que mon fichier binaire s'écrit bien.

    Mais pourquoi faut-il faire un programme annexe pour le lire ?
    Une procédure de lecture ne suffit-elle pas?

    Mes lignes de lecture sur mon programme de départ sont-elles correctes?

    J'écris read(a,tab).

    Or la logique voudrait que ce soit:
    for i:=1 to n do
    read(a,tab[i]) mais le compilateur me mets TYPE MYSMATCH.

    VOTRE AVIS svp.

    Favorit.

  5. #5
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    effectivement, tu peux lire le fichier dans le meme programme.
    Aussi tu as bien lu le fichier en faisant:
    read(a,tab);
    pour voir le contenu, il faut parcourir le tableau et afficher les differents elements.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par darrylsite Voir le message
    effectivement, tu peux lire le fichier dans le meme programme.
    Aussi tu as bien lu le fichier en faisant:

    pour voir le contenu, il faut parcourir le tableau et afficher les differents elements.
    Ok Je lis mais j'oublie de demander d'écrire..
    Merci de m'avoir éclairer, ça marche maintenant.

    A bientôt;

    fav.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/09/2008, 11h00
  2. comment ne pas enregistrer dans le fichier log?
    Par trotters213 dans le forum MS SQL Server
    Réponses: 14
    Dernier message: 21/03/2005, 14h56
  3. [LG]Enregistrements dans un fichier
    Par ticoude dans le forum Langage
    Réponses: 1
    Dernier message: 26/11/2004, 18h33
  4. [LG]supprimer un enregistrement dans un fichier
    Par Marcus2211 dans le forum Langage
    Réponses: 10
    Dernier message: 17/11/2003, 00h59
  5. enregistrer dans un fichier avec une appli mdi
    Par ferrari dans le forum C++Builder
    Réponses: 4
    Dernier message: 05/05/2002, 15h17

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