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 : Sélectionner tout - Visualiser dans une fenêtre à part
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