Ceci est une ancienne révision du document !


TList et descendants

Sort

Pour utiliser la méthode Sort sur un TList il faut lui fournir une function de comparaison

unit Classes
procedure TList.Sort(Compare: TListSortCompare);
// avec
  TListSortCompare = function (Item1, Item2: Pointer): Integer;

Exemple d'implémentation.

function CompareMarkers(Item1, Item2: Pointer): integer;
var
   vQ1, vQ2: THT_Addr;
begin
   vQ1 := THO_Marker(Item1).Range.Left;
   vQ2 := THO_Marker(Item2).Range.Left;
 
   if vQ2 < vQ1 then
      Result := -1
   else
      Result := 1;
   if vQ2 = vQ1 then
      Result := 0;
end;
procedure THO_MarkerList.SortM;
begin
  Sort(@CompareMarkers);
end;

Partage de TList entre Threads

Sources & Ressources

Vous pourriez laisser un commentaire si vous étiez connecté.