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.
Version imprimable
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:
1
2
3 Str : String; ComboBox1.Objects[1,1] := TObject(MaStr);
Code:
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:
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 := Edit1.Text;
...retournera une chaîne vide ou contenant n'importe quoi (selon les cas).Code:Label1.Caption := String(ComboBox1.Items.Objects[I]);
j'ai proposé une solution ici
http://www.developpez.net/forums/sho...ight=addobject
Bon courage;)