Ich versteh nicht wo eigentlich das Problem mit doppelten Namen ist?
Delphi-Quellcode:
TMyPerson = class(TObject)
Nr: Integer;
Name: string;
NachName: string;
Kostenstelle: string;
Punkte: Integer;
end;
function ComparePersonByNachName(AItem1, AItem2: Pointer);
begin
Result := AnsiCompareText(TMyPerson(AItem1).Name, TMyPerson(AItem2).Name);
end;
function ComparePersonByNr(AItem1, AItem2: Pointer);
begin
Result := TMyPerson(AItem1).Nr - TMyPerson(AItem2).Nr;
end;
function ComparePerson(AItem1, AItem2: Pointer);
begin
Result := ComparePersonByNachName(AItem1, AItemn2);
if Result <> 0 then Exit;
Result := ComparePersonByNr(AItem1, AItemn2);
end;
FMyPersonList: TObjectList;
{...}
PersonenEinlesen;
FMyPersonList.Sort(ComparePerson);
PersonenAusgeben;