Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.593 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Ich habe eine Liste, und die soll bitte immer sortiert sein

  Alt 14. Jan 2014, 12:04
Sortierte Listen brauchen kein Begin/EndUpdate, da sie das Add's direkt an der "richtigen" Stelle via Insert einfügen.

Aber das kann keine der generischen Listen.
Du kannst da nur immer am Ende TList<T>.Sort aufrufen.

Automatisch sortieren kann die nicht.
Ich kenn sowas nur von der TStringList.



Es gibt nur einige der anderen Listen, die immer sortiert sind, z.B. die Dictionaries, aber da sind die nur nach ihren Hash's sortiert.


Zitat:
Weiterhin wüsste ich nie, wann denn nun bei einem AddRange das letzte Notify-Event gefeuert wurde
Da könntest du natürlich einfach mal nachsehen.


AddRange geht auf InsertRange.
Delphi-Quellcode:
procedure TList<T>.InsertRange(Index: Integer; const Values: array of T);
begin
  ...
  for i := 0 to Length(Values) - 1 do
    Notify(Values[i], cnAdded);
end;
Alles hinzufügen und danach dann für Alle die Notify.
Da gibt es keinen "Letzten" zum erkennen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu (14. Jan 2014 um 12:09 Uhr)
  Mit Zitat antworten Zitat