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

Delphi Discussion :

TCombobox et Objet


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 79
    Par défaut TCombobox et Objet
    Bonjour,

    Est-il possible dans un combobox, d'ajouter à chaque item un objet de type string ou autre.
    J'ai réussi avec un integer, mais avec une variable de type string ça ne passe pas.

    Merci d'avance.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 48
    Par défaut
    Je pense que tu pourrais utiliser la Fonction AddObject de la TComboBox avec des Objet de type Variant

  3. #3
    Membre émérite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par défaut
    Bonjour

    Il faut caster le type non objet avec TObject(MaVar);

    Un exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Str : String;
    ComboBox1.Objects[1,1] := TObject(MaStr);

  4. #4
    Membre éclairé Avatar de Soulama
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 619
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      Box.Items.AddObject('une String', TonObject);

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 79
    Par défaut
    J'avais peut être mal précisé ma question.
    Je cherchais à insérer une deuxième chaine dans un combo (en utilisant un TObject).

    En réalisant un cast ça n'a pas marché.

    Mais la solution de ce site à marchée.
    http://www.devsuperpage.com/main.asp?F=Articles/views/Delphi/art_1-789.asp&back=1&ProdID=1&KeyID=5

  6. #6
    Membre émérite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par défaut
    Bonjour, ce n'est pas pour insister ni montrer que j'ai raison mais ce code fontionne bien:

    Je ne comprends pas ce qui n'a pas marché avec le cast?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    procedure TForm1.Button3Click(Sender: TObject);
    Var S : String;
        I : Integer;
    begin
    S := 'Toto';
    I := ComboBox1.Items.AddObject('1',TObject(S));
     
    Label1.Caption := String(ComboBox1.Items.Objects[I]);
     
    end;
    Il est vrai que j'ai oublié Items (marrant avec les TSringGrid il y a une propriétée racourcis).

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Par défaut
    Bonjour,

    Effectivement, Caine, ton code fonctionne car tu affectes ta variable S avec une constante mais si tu l'initialises avec une autre variable de type String, cela ne marche plus.
    Par exemple, si tu affectes S comme ceci
    le cast...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Label1.Caption := String(ComboBox1.Items.Objects[I]);
    ...retournera une chaîne vide ou contenant n'importe quoi (selon les cas).

    j'ai proposé une solution ici
    http://www.developpez.net/forums/sho...ight=addobject

    Bon courage

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

Discussions similaires

  1. codage objet
    Par charly dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 22/08/2002, 16h49
  2. algo : rotation d'objet 3d
    Par numeror dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 19/08/2002, 22h58
  3. Importer des objets de 3dsMax
    Par Anonymous dans le forum OpenGL
    Réponses: 3
    Dernier message: 06/05/2002, 13h53
  4. Peux t'on créer une copie locale de l'objet partagé?
    Par Anonymous dans le forum CORBA
    Réponses: 8
    Dernier message: 16/04/2002, 16h20
  5. [Kylix] Erreur objet
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h41

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