Hej
Jeg har en TList med flere fields i hver record.
Hvordan kan jeg sikre, at jeg kan sortere på mere end "hoved-"Item? Hvis flere Items har samme indhold vil jeg gerne have at et sekundært-Item også tages med i sorteringen.
Jeg kan naturligvis løbe TListen igennem og per håndkraft sortere på det sekundære Item. Men er det en egenskab i TList, eller noget jeg har overset, der gør at jeg kan sortere på et sekundært Item også?
Godt Nytår
Mik 
Hej Mik,
Du skal selv sammenligne dine elementer vha. en "compare" funktion. Dette betyder at du også selv skal implementere sorteringen efter det sekundære index.
Det kunne f.eks. gøres på følgende måde (indeholder compare funktionen samt den record som TList forventes at indeholde):
type
  TMyRecord = record
    Name : String;
    Age : Integer;
  end;
  PMyRecord = ^TMyRecord;
function CompareMyRecord(Item1, Item2: Pointer): Integer;
begin
  Result := CompareText(PMyRecord(Item1)^.Name, PMyRecord(Item2)^.Name);
  if Result = 0 then
    Result := PMyRecord(Item1)^.Age-PMyRecord(Item2)^.Age;
end;
Håber det hjælper,
/Michael.
[Redigeret d. 29/12-03 22:55:12 af Michael Skovslund]