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 :

Constante typée avec Set


Sujet :

Langage Delphi

  1. #1
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 387
    Points : 2 999
    Points
    2 999
    Par défaut Constante typée avec Set
    Bonjour

    Je suis un projet en XE7.

    Je définis des types basés sur le type set.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    type
      TDroit = (AC, AF, AG, BJ, CD, CG, EF, JB, JMA, JN, JPG, MO, NA, PB, PM, PR, RG, SB, SFC, SP, TG, YL, YM);
      TDroits = set of TDroit;
     
    const
      Droit01: TDroits = [TDroit.CG, TDroit.JB, TDroit.MO];
      Droit02: TDroits = [TDroit.BJ, TDroit.CD, TDroit.JN, TDroit.AC];
      Droit03: TDroits = Droit01 + Droit02;
    Jusque Droit02 tout va bien !
    Mais sur Droit03, Delphi remonte une erreur:

    [dcc32 Erreur] UnitTypes.pas(70): E2026 Expression constante attendue
    Il me semblait pourtant que l'on pouvait faire ce genre de chose vu que les 2 valeurs composant Droit03 sont des constantes.
    .
    Est-ce que ma mémoire défaille ou faut-il l'écrire d'une autre façon ?

  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 430
    Points
    28 430
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    const
      Droit01 = [TDroit.CG, TDroit.JB, TDroit.MO];
      Droit02 = [TDroit.BJ, TDroit.CD, TDroit.JN, TDroit.AC];
      Droit03 = Droit01 + Droit02;
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 691
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 691
    Points : 13 121
    Points
    13 121
    Par défaut
    Une constante typée ne peut être utilisée dans une autre déclaration de constante. C'est précisé dans l'aide :

    Typed constants cannot occur in constant expressions.
    ET il n'est pas nécessaire de préfixer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    const
      Droit01 = [CG, JB, MO];
      Droit02 = [BJ, CD, JN, AC];
      Droit03 = Droit01 +Droit02;

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 387
    Points : 2 999
    Points
    2 999
    Par défaut
    Ak ok, merci ! Je n'avais pas vu cette particularité


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

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/03/2007, 17h09
  2. Réponses: 1
    Dernier message: 25/11/2005, 20h40
  3. [TP] Constantes typées et non typées, variables
    Par poppels dans le forum Turbo Pascal
    Réponses: 3
    Dernier message: 26/10/2005, 23h00
  4. Pb de type avec Mingw
    Par titus55 dans le forum C++
    Réponses: 4
    Dernier message: 06/10/2005, 12h59
  5. [Recordset] Incompatibilté de type avec une requête
    Par lbourlet dans le forum Access
    Réponses: 2
    Dernier message: 29/10/2004, 15h52

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