Wenn TPerson eine Klasse ist könnten TPeronen eine TObjectList sein.
Unter D7 z.B. so:
Delphi-Quellcode:
TPersonen = class(TObjectList)
private
function GetItems(Index: integer): TPerson;
public
property Items[Index: integer]: TPerson read GetItems; default;
procedure SortByGroesse;
end;
..
{ TPersonen }
function TPersonen.GetItems(Index: integer): TPerson;
begin
Result := TPerson(inherited Items[Index]);
end;
function GroesseCompare(A, B: TPerson): integer;
begin
if A.Groesse > B.Groesse then
Result := 1
else
if A.Groesse < B.Groesse then
Result := -1
else
Result := 0;
end;
procedure TPersonen.SortByGroesse;
begin
inherited Sort(@GroesseCompare);
end;
..
procedure TSomeForm.Button1Click(Sender: TObject);
var
Personen: TPersonen;
I, Index: integer;
begin
Personen := TPersonen.Create;
try
for I := 1 to 10 do
begin
Index := Personen.Add(TPerson.Create);
Personen[Index].Name := ..
Personen[Index].Groesse := ..
Personen[Index].Alter := ..
end;
Personen.SortByGroesse;
finally
Personen.Free;
end;
end;