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 :

Combobox et énuméré


Sujet :

Langage Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 55
    Points : 28
    Points
    28
    Par défaut Combobox et énuméré
    Bonjour à tous,
    voilà j'ai un type énuméré T_critere = (tous, jour-7, jour)
    et j'aimerai remplir une combobox avec ces 3 valeurs (en ayant la première par défaut).
    Merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 23
    Points : 28
    Points
    28
    Par défaut
    Si j'a bien compris, tu voudrais voir apparaître ces trois libellés dans une combobox ? A mon avis tu peux pas... du moins pas de façon simple et souple.

    Le type énuméré est complètement intégré par le compilateur. Dans ton exécutable final, tu ne retrouveras aucune mention de tes constantes (tous, jour-7, jour) parce qu'à la compilation, Delphi a assigné une valeur interne à chacune, c'est cette valeur interne qui est utilisée dans le code exécutable, et non le nom de ta valeur telle que tu l'as écrite dans ton code source. C'est exactement comme quand tu décris une constante:
    Tu peux chercher "MaConstante" dans l'exe...

    La solution est de remplir ta combobox, via l'éditeur, à la conception.

  3. #3
    Membre habitué Avatar de gord's
    Inscrit en
    Avril 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 115
    Points : 127
    Points
    127
    Par défaut
    Il me semble qu'il y a une fonction qui donne les libellés des enum, mais je saisi plus quoi.
    Fait une recherche sur le forum avec enum.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    comboBox.items.clear;
    for i := low(monEnum) to high(monEnum) do
        comboBox.items.add(laFameuseFonction(i));
    comboBox.itemIndex := ord(laValeurParDefaut)
     
    // pour retrouver la valeur selectionné:
    valeur := monEnum(comboBox.itemIndex)
    Ou alors declare une libEnum: array[tous..jour] of string = ('tous', 'jour-7', 'jour')
    et : comboBox.items.add(libEnum[i]);

  4. #4
    Membre chevronné
    Avatar de Pierre Castelain
    Inscrit en
    Avril 2002
    Messages
    523
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 523
    Points : 1 943
    Points
    1 943

  5. #5
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 55
    Points : 28
    Points
    28
    Par défaut
    c bon ça marche g changé de solution merci bien

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

Discussions similaires

  1. Multi-selection dans une ComboBox ?
    Par Moloko dans le forum MFC
    Réponses: 5
    Dernier message: 07/07/2021, 17h26
  2. [VB6] [Interface] ComboBox à plusieurs colonnes
    Par mtl dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 30/03/2004, 17h35
  3. combobox et readonly
    Par Mac leod dans le forum C++Builder
    Réponses: 6
    Dernier message: 28/11/2002, 10h27
  4. Transformer un caractère en type énuméré
    Par HT dans le forum Langage
    Réponses: 3
    Dernier message: 22/10/2002, 20h46
  5. combobox->text
    Par clovis dans le forum C++Builder
    Réponses: 18
    Dernier message: 21/06/2002, 15h43

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