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

[D2007] propriétés avec un même setter


Sujet :

Langage Delphi

  1. #1
    Membre expert

    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Janvier 2004
    Messages
    2 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 123
    Points : 3 256
    Points
    3 256
    Par défaut [D2007] propriétés avec un même setter
    Bonjour,

    Je souhaiterais savoir s'il est possible d'avoir un même setter pour plusieurs propriétés.

    La raison est qu'il existe un bon nombre de propriétés devant être visualisable dans l'inspecteur d'objet mais dont le setter aura, à peu de chose près, un comportement unique (dépendant évidemment de la propriété qui l'aura déclenché).

    Voici une réalisation pratique (qui ne marche pas) de ce que je souhaiterais faire en théorie

    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
     
    //définition de l'énumération
    TBTheme_Cell = (btce_TopLeft, btce_TopCenter, btce_TopRight, btce_Left,
        btce_Center, btce_Right, btce_BottomLeft, btce_BottomCenter,
        btce_BottomRight);
     
    [...]
    private
      // tableau de pictures
      FCell     : array [TBTheme_Cell] of TPicture;
     
      // setter
      procedure FSetCell(Const Index : TBTheme_Cell; Value : TPicture);
     
      [...]
     
    published
     
    // multiples procédures visualisables dans l'éditeur d'objet
          property Pic_TopLeft      : TPicture read FCell[btce_TopLeft] write FSetCell;
          property Pic_TopCenter    : TPicture read FCell[btce_TopCenter] write FSetCell;
          property Pic_TopRight     : TPicture read FCell[btce_TopRight] write FSetCell;
          ...
    Je ne sais absolument pas si cela est possible. Pour des raisons de lisibilité de code, je souhaiterais éviter d'avoir autant de setters que de propriétés.

    Merci d'avance
    CV :
    - LinkedIn
    - Viadeo

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    oui c'est possible

    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
     
     TBTheme_Cell = (btce_TopLeft, btce_TopCenter, btce_TopRight, btce_Left,
        btce_Center, btce_Right, btce_BottomLeft, btce_BottomCenter,
        btce_BottomRight);
     
    [...]
    private
      // tableau de pictures
      FCell     : array [TBTheme_Cell] of TPicture;
     
      // setter
      function GetCell(Index: TBTheme_Cell) : TPicture;
      procedure SetCell(Const Index : TBTheme_Cell; Value : TPicture);
     
      [...]
     
    published
     
    // multiples procédures visualisables dans l'éditeur d'objet
          property Pic_TopLeft      : TPicture index btce_TopLeft read GetCell write SetCell;
          property Pic_TopCenter    : TPicture index btce_TopCenter read GetCell write SetCell;
          property Pic_TopRight     : TPicture index btce_TopRight read GetCell write SetCell;
          ...
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre expert

    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Janvier 2004
    Messages
    2 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 123
    Points : 3 256
    Points
    3 256
    Par défaut
    C'est tout à fait ce que je cherchais.

    Paul
    CV :
    - LinkedIn
    - Viadeo

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

Discussions similaires

  1. [arborescence] jointure d'une table avec elle même ?
    Par Celelibi dans le forum Requêtes
    Réponses: 2
    Dernier message: 16/11/2004, 18h48
  2. Interfaces avec le même nom
    Par myuils dans le forum Langage
    Réponses: 2
    Dernier message: 09/11/2004, 18h18
  3. [Composant] publier une propriété avec un type perso
    Par jpc34 dans le forum C++Builder
    Réponses: 6
    Dernier message: 12/10/2004, 08h39
  4. Economie de mémoire pour plusieur images avec la même source
    Par neness dans le forum Composants VCL
    Réponses: 5
    Dernier message: 18/01/2004, 10h56
  5. ASP + PHP avec le même phpmyadmin comment faire?
    Par King Boulet dans le forum ASP
    Réponses: 8
    Dernier message: 29/10/2003, 16h57

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