Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#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.
$2B or not $2B

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