Les derrivés de TSrings possdent une methode addObject(Chaine, Objet) qui permet de passer un "TObject" en plus de la chaine a afficher.
Dans ton cas ce n'est pas un objet mais un entier. Or Il faut savoir que les variables objets sont des adresses memoire, donc des entiers codés sur 4 octets.
On peut donc tres bien y passer un entier qui, tant qu'il n'est pas utilisé comme reference d'objet, ne pose pas de probleme.
En gros si on veux stocker 4 on transmet a la methode l'adresse memoire "4" sensé etre le contenu d'une variable TObject, qui ne correspond a aucun objet valide, mais tant que l'on ne se sert pas de l'objet qui est sensé etre pointé, aucun soucis.
Petit exemple :
Self.ComboBox1.Items.AddObject('Prof1', Pointer(IDProf));
Pour le recuperer :
1 2 3 4
|
For i := 0 to Self.Combobox1.Items.count-1 do
If Self.Combobox1.text = Self.Combobox1.Items[i] Then
IPProf := Integer(Self.comboBox1.Items.Objects[i]); |
Apres reste a se servir de IDProf pour le sauver dans la base ou je ne sais quoi.
Partager