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

Turbo Pascal Discussion :

[TP7] Fichier d'objet


Sujet :

Turbo Pascal

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [TP7] Fichier d'objet
    Bonjour,

    je souhaite enregistrer et lire un fichier de type object, mais j'ai plusieurs problèmes :

    1) la variable fichier doit etre déclarée en global et je ne peux pas déclarer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    varfic : file of typeOBJECT
    car
    1°) erreur de type à la compil,
    2°) la procedure encapsulée ne connaît pas la variable varfic !
    2) je ne peux pas insérer de variable de type RECORD dans la procédure de l'objet encapsulée car ce serait une variable temporaire liée à la procédure encapsulée !

    Comment faire ?
    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 465
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 465
    Points : 4 312
    Points
    4 312
    Par défaut
    Pas très très clair tout ça

    Pourquoi tu ne peux pas déclarer ta variable file of typeObjet ? Si il y a une erreur à la compilation, c'est probablement parce que le compilateur ne connait pas typeObjet, il faut donc que tu places la déclaration du type typeObjet avant la déclaration de ta variable file of typeObjet.

    Ensuite si une variable est globale, toutes les sous-procédures connaissent cette variable globale.

    Qu'entends-tu par procédure encapsulée ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut erreur 24
    Bonsoir, merci pour votre réponse. C'est vrai qu'à ma relecture, il n'y a que moi qui puisse me comprendre, mille pardons !!

    Il me faut faire une appli qui puisse gérer mes clients/fournisseurs en vue d'établir par la suite tous les documents douaniers pour l'export de vin (tracabilité exige !).

    J'ai commencé à programmer en version RECORD mais je me perdais dans les procédures; j'ai donc repris mes books de prog TP6 et repris tout le programme en OBJETS, mais je suis trés vite arrêté sur l'erreur 24 à la compilation : je voudrais créer un fichier typé sur la base de mon OBJET 'Ttiers' devenant soit client, soit fournisseur; on peut aisément créer un fichier typé à partir d'un RECORD, mais pas, à priori, à partir d'un OBJET suite à l'erreur 24 'ne peut ni etre d'un type fichier ni objet'.

    Les procédures de lecture et écriture sont encapsulées puisque dans la logique de programmation à objets (sinon l'objet devient un RECORD à programmation classique). Donc, je suis dans la difficulté de déclarer mon objet comme structure de fichier typé. Comme solution, je passe par un RECORD identique à l'objet mais m'enlève toute possibilité d'héritage/succession sur cet objet.

    Je suis probablement très compliqué, ou pas assez subtil, mais je n'arrive à trouver de réponse nulle part ! Si quelqu'un peut m'aider, ce serait bien.

    Merci.

    win pascal 1.5, winxp pro

    voici le code simplifié :
    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
    programme base;
     
    Ttiers = object
               code : str10;
               accises : str12;
               ets : str20;
               nom : str20;
               prenom : str10;
               adr1 : str20;
               adr2 : str20;
               codpost : str5;
               ville : str20;
               tel : str10;
               fax : str10;
                 procedure init;
                 procedure saisir;
                 procedure afficher;
                 procedure lireenr;
               end;
     
    {procedures encapsulees}
    procedure ttiers.init; begin end;
    procedure ttiers.afficher; begin end;
    procedure tiers.saisir; begin end;
     
    procedure ttiers.lireenr;
    var fichier : file of ttype;      <=erreur compil 24 'components may not be
    begin                                                           files or objects'
       read (fichier, ttiers);
    end;
     
    {variables globales}
    var
      client, fournisseur : ttiers;
     
     
    {procedures globales}
    begin
    end;
     
    {programme principal}
    begin
       client.lireenr;
       client.afficher;
       fournisseur.lireenr;
       fournisseur.afficher;
    end.

  4. #4
    Responsable Pascal, Lazarus et Assembleur


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

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 964
    Points : 59 673
    Points
    59 673
    Billets dans le blog
    2
    Par défaut
    Bonjour !

    Tu ne pourras malheureusement échapper au stockage des données sous forme de fichier de records. Quelles difficultés éprouves-tu exactement avec les records ? Leur stockage en mémoire ?

Discussions similaires

  1. Rafraîchissement fichier avec <objet>
    Par isn44 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 05/03/2008, 17h23
  2. créer fichiers stockants objets graphiques/sonores..
    Par nono212 dans le forum Développement 2D, 3D et Jeux
    Réponses: 5
    Dernier message: 16/10/2007, 16h09
  3. Génération de script (un fichier par objet)
    Par karami dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 24/04/2007, 20h30
  4. [VB6]Attribuer l'icone d'un fichier à un objet image
    Par Nostra_Damus dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 23/01/2006, 16h28

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