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 :

Read et Write avec 2 paramètres


Sujet :

Langage Pascal

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Read et Write avec 2 paramètres
    Salut,

    J'ai vus dans plusieurs tutos que pour écrire le contenu d'un tableau de RECORD dans un fichier séquentiel, on utilise qque chose comme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    PROCEDURE Tab2File (VAR tab:tIndividu ; VAR fOut : fIndividu; lt : INTEGER);
    (* Tab initialsé, fOut assigné et fermé, lt>0 *)
    VAR i:INTEGER;
    BEGIN
       REWRITE (fOut);
       FOR i := 1 TO lt DO
          WRITE (fOut, tab[i]);
       CLOSE (fOut);
    END;

    Alors que pour écrire le contenu d'un fichier séquentiel dans un tableau de RECORD, on utilise qque chose comme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    PROCEDURE File2Tab (VAR fIn : fIndividu, VAR tabOut:tIndividu );
    VAR i:INTEGER;
     
    BEGIN
       i:=0;
       RESET (fIn);
       WHILE NOT eof(fIn) DO
          BEGIN
             i:=i+1;
             READ (fIn, tabOut[i]);
          END;
       CLOSE (fIn);
    END;

    J'aurais voulu savoir s'il y avait un rapport entre

    et
    En d'autres termes, doit-on toujours utiliser WRITE pour écrire dans un fichier ce que l'on a lu dans un tableau et READ pour écrire dans un tableau ce qu'on a lu dans un fichier?

    L'instruction de type
    aurait-elle comme effet d'écrire dans le fichier, ce qui vient du tableau et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WRITE (tabOut[i], fIn);
    d'écrire dans le tableau ce qui a été lu dans le fichier?

    Merci d'avance pour votre aide à toutes et tous...

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    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 937
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Bonjour et bienvenue !

    Pour lire le contenu d'un fichier (en général, donc pas seulement dans le cas que tu présentes), ce dernier doit avoir été ouvert en lecture avec Reset et il faut utiliser la procédure Read (ou ReadLn) pour lire.
    Pour écrire dans un fichier, ce dernier doit avoir été ouvert en écriture avec Reset ou Append et il faut utiliser la procédure Write (ou WriteLn) pour écrire.

    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  3. #3
    ALT
    ALT est déconnecté
    Membre émérite
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 234
    Points : 2 338
    Points
    2 338
    Par défaut
    Mmmmm.
    Rafraîchis donc ma mémoire : Rewrite n'est-il pas fait pour créer un fichier (ou vider un fichier avant d'écrire dedans) ?
    « Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
    Attribué indistinctement à :
    Thomas Jefferson
    Benjamin Franklin
    Albert Einstein !

  4. #4
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Hie,
    Citation Envoyé par ALT Voir le message
    Mmmmm.
    Rafraîchis donc ma mémoire : Rewrite n'est-il pas fait pour créer un fichier (ou vider un fichier avant d'écrire dedans) ?
    C'est bien ça.

    Par défaut, Reset ouvre un fichier binaire en lecture/écriture, et en lecture seulement pour les fichiers texte.
    Si les cons volaient, il ferait nuit à midi.

  5. #5
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    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 937
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut

    J'ai corrigé mon lapsus dans le post en question : point question évidemment de rewrite pour ouvrir le fichier en écriture, mais bien reset.
    Merci de votre vigilance...
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

Discussions similaires

  1. Read et write un fichier avec Fortran
    Par jill_ dans le forum Fortran
    Réponses: 7
    Dernier message: 07/01/2013, 18h34
  2. Envoi de fichiers avec read et write
    Par Z-fly dans le forum Réseau
    Réponses: 9
    Dernier message: 15/08/2008, 20h44
  3. Pb avec read et write sous vc++
    Par Jbx 2.0b dans le forum SDL
    Réponses: 13
    Dernier message: 28/04/2006, 14h58
  4. Erreur sur une fonction avec des paramètres
    Par Elois dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 05/05/2004, 21h00
  5. créer un noeuds avec des paramétres
    Par Toxine77 dans le forum XMLRAD
    Réponses: 5
    Dernier message: 21/01/2003, 16h11

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