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.
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.
Je pense que tu pourrais utiliser la Fonction AddObject de la TComboBox avec des Objet de type Variant
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);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Box.Items.AddObject('une String', TonObject);
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
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?
Il est vrai que j'ai oublié Items (marrant avec les TSringGrid il y a une propriétée racourcis).
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;
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 S := Edit1.Text;
...retournera une chaîne vide ou contenant n'importe quoi (selon les cas).
Code : Sélectionner tout - Visualiser dans une fenêtre à part Label1.Caption := String(ComboBox1.Items.Objects[I]);
j'ai proposé une solution ici
http://www.developpez.net/forums/sho...ight=addobject
Bon courage![]()
Partager