Autre méthode en utilisant uniquement le Combobox :
var
i: Integer;
begin
with ComboBox1.Items do
for i:= Count - 1 downto 1 do
if IndexOf(Strings[i]) < i then
Delete(i);
end;
Ainsi on peut garder l'ordre d'origine des items.
Si on veut classer par ordre alphabétique : il suffit de mettre la propriété "Sorted" du Combobox1 à true (ou mettre Combobox1.Sorted:=True)
J'ai mis "downto 1" (et pas "downto 0") car l'item "0" n'a pas besoin d'être traité
Pour les puristes une boucle "try" peut être rajoutée.
Toutefois le code ne coince pas même s'il n'y a aucun item dans le Combobox.
Le même raisonnement peut être utilisé pour l'élimination de doublons dans une liste d'éléments (TStringlist par exemple) en gardant l'ordre d'origine (càd qu'on enlève les "Add" supplémentaires supposés avoir été rajoutés ultérieurement)
drjerome