Méthode sort d'un TObjectList
Bonjour,
je suis débutant, j'aimerais améliorer ma méthode de trie de mon TObjectList
en vous remercient d'avance,
voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| function compare(item1, item2 : pointer) : integer;
begin
if TObject(item1).ClassName > TObject(item2).ClassName then
result := 1
else if TObject(item1).ClassName < TObject(item2).ClassName then
result := -1
else
result := 0;
end;
procedure TForm1.Button1Click(Sender: TObject);var
Liste : TListeDeTrucs;
i : integer;
begin
Liste := TListeDeTrucs.Create(true);
Liste.Add(TTruc.Create('A'));
Liste.Add(TTruc.Create('C'));
Liste.Add(TTruc.Create('D'));
Liste.Add(TTruc.Create('B'));
Liste.Sort(@compare);
for i := 0 to Liste.count - 1 do
begin
showMessage(Liste.items[i].libelle);
end;
Liste.Free;
end; |
le résultat:
D,B,A,C
alors, que je voudrais A,B,C,D
merci d'avance