procedure DeleteDoublets(const AList: TStrings);
var
StringList: TStringList;
begin
StringList := TStringList.Create;
with StringList do
try
Sorted := True;
Assign(AList);
AList.Assign(StringList);
finally
Free;
end;
end;
// exemple d'utilisation :
procedure TForm1.Button1Click(Sender: TObject);
begin
DeleteDoublets(ComboBox1.Items);
end;
Remarque :
Cette fonction s'applique à tous les objets contenant une liste de chaînes : TComboBox, TMemo, TListBox, etc...
A noter que la propriété TStringList.Duplicates (librement consultable dans l'unité Classe.pas, ainsi que dans l'aide en ligne de Delphi, touche F1) est à dupIgnore par défaut, mais c'est elle qui explique le fonctionnement du code.