+ Répondre à la discussion Actualité déjà publiée
  1. #1
    Responsable Delphi

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    février 2013
    Messages
    1 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2013
    Messages : 1 086
    Points : 13 383
    Points
    13 383
    Billets dans le blog
    34

    Par défaut POO à gogo - Les enregistrements (records) avec Free Pascal et Lazarus 2/2

    Les enregistrements étendus

    Nom : logoFPC.png
Affichages : 1555
Taille : 16,3 Ko

    Après avoir défini et utilisé les enregistrements simples, avec ou sans variantes, puis étudié les modes de compactage mis en œuvre essentiellement dans un but d'échanger des données avec d'autres applications, il est temps de s'intéresser aux enregistrements étendus dont ce tutoriel se propose de montrer l'efficacité et la puissance.

    Avec ce tutoriel, vous vous devriez être capable de :
    • déclarer un enregistrement étendu ;
    • implémenter ses méthodes ;
    • évaluer les avantages de son utilisation ;
    • définir et utiliser des opérateurs ;
    • définir et manipuler des énumérateurs.



    http://gilles-vasseur.developpez.com...egistrements2/

    Que pensez-vous de ce tutoriel ?
    Les enregistrements étendus vous paraissent-ils devoir être utilisés plus souvent ?
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

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

    Informations forums :
    Inscription : avril 2002
    Messages : 2 410
    Points : 4 087
    Points
    4 087

    Par défaut

    Hello !

    Très intéressant. Venant de TP7, j'ai mis énormément de temps avant d'utiliser les classes, préférant ces fameux enregistrements étendus, qui sont, d'après ma compréhension, similaires aux "objects" dans TP7. J'utilise désormais les classes, qui intègrent l'allocation de la mémoire, masquant ce que nous faisions manuellement avec les pointeurs sur ces records.

    J'utilise toujours les records pour représenter des structures de données, en mode simple (cf le premier tuto) avec procédures externes pour la manipulation. N'ayant jamais investigué le sujet, qu'en est-il de l'écriture de ces records avancés dans des fichiers de records (file of xxx) ? Est-çe qu'ils sont écrits de la même façon que les records simples ? Pas de données supplémentaires liées aux méthodes ?
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  3. #3
    Responsable Delphi

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    février 2013
    Messages
    1 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2013
    Messages : 1 086
    Points : 13 383
    Points
    13 383
    Billets dans le blog
    34

    Par défaut

    Citation Envoyé par M.Dlb Voir le message
    N'ayant jamais investigué le sujet, qu'en est-il de l'écriture de ces records avancés dans des fichiers de records (file of xxx) ? Est-çe qu'ils sont écrits de la même façon que les records simples ? Pas de données supplémentaires liées aux méthodes ?
    Bonjour,

    Oui, les enregistrements étendus ne diffèrent en rien des enregistrements simples dès lors qu'il s'agit de les enregistrer sur un support. Comme expliqué dans le tutoriel, le code lié aux méthodes est stocké en dehors des enregistrements eux-mêmes pour être partagé si nécessaire.

    Par ailleurs, les objets existent encore dans Free Pascal comme vestiges des objets de TP7. Leur appellation est très équivoque et ils sont indiqués comme obsolètes, mais certains les emploient encore pour des tâches particulières.

    Cordialement,

    Gilles
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  4. #4
    Membre habitué

    Homme Profil pro
    Développeur informatique
    Inscrit en
    décembre 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2006
    Messages : 50
    Points : 192
    Points
    192

    Par défaut

    Bonjour

    Merci beaucoup pour cette suite de tuto sur la POO FPC.

    Très bien écrit, clair et facilement compréhensible !

    J'attends avec impatience le(s) tuto sur les helpers !

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2006
    Messages : 110
    Points : 107
    Points
    107

    Par défaut

    Bonjour,

    j’essaie d'utiliser ll'iniyé StrinVars pour Delphi figurant ici : http://cc.embarcadero.com/Item/25670

    Sur les "class operator Equal" ou notEqual j'ai le message :

    Error: It is not possible to overload this operator. Related overloadable operators (if any) are:
    You are trying to overload an operator that cannot be overloaded.
    The following operators can be overloaded:
    +,-,*,/,=,>,<,<=,>=,is,as,in,**,:=
    Je les remplace par = et <> et ça passe. Il reste les deux opérateurs de transtypage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    class operator Explicit
    class operator Implicit
    Le premier passe bizarrement mais pas Implicit, et la je ne sais pas par quoi le remplacer.

    TB

  6. #6
    Responsable Delphi

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    février 2013
    Messages
    1 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2013
    Messages : 1 086
    Points : 13 383
    Points
    13 383
    Billets dans le blog
    34

    Par défaut

    Citation Envoyé par thierrybo Voir le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    class operator Explicit
    class operator Implicit
    Le premier passe bizarrement, mais pas Implicit, et je ne sais pas par quoi le remplacer.
    Bonjour,

    Dans la version actuelle de Free Pascal, un certain nombre d'opérateurs pris en charge par Delphi ne le sont pas : il en est ainsi de Implicit. Soit le transtypage aura lieu malgré tout, soit il faudra le rendre explicite en cas d'erreur. En gros, dans la bibliothèque mentionnée, il suffit d'éliminer ce Implicit et de voir ce qu'il se passe .
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

Discussions similaires

  1. Réponses: 16
    Dernier message: 14/04/2017, 17h08

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