Mathias hat geschrieben:Für etwas neues würde ich sowieso FileStream verwenden. Aber es stimmt, mit ShortString ist es sehr einfach, dafür verschwendet es Platz.
Ja aber man kann ja auch records mit shortstrings in Streams schreiben:
Und die Platzverschwendung ist ja auch nicht so das sonderlich große Problem, da ein shortstring maximal 256 Zeichen lang werden kann, muss man schon ne menge daten haben damit das zum problem wird.
Im vergleich dazu, TLists verwenden geometrische Kapazitäten, das bedeutet wenn du ein element hinzufügst, das über die kapazität ausreicht, wird die kapazität um einen Faktor C vergrößert. Im worst case verwendet eine TList also C mal so viel speicher wie notwendig (ich glaube früher war C = 2, heute skaliert das je nach größe, also bei kleinen listen 2, bei großen listen 1,irgendwas). Wenn du deine Shortstrings in einer Liste organisierst kann es also gut sein das du durch die liste mehr platz verlierst als durch die Shortstrings