Du könntest statt einem dynamischen Array auch ein TList-Objekt benutzen. In die TList-Liste kann man mit add und insert Daten einfügen, mit delete welche löschen, und es gibt auch Methoden zum sortieren. Der einzige Nachteil ist, dass Listen nur Pointer verwalten können, das heißt du musst deine Daten jeweils mit new() erzeugen (und später mit Dispose entfernen). Für viele Anfänger dürfte das eine Hürde sein, aber wenn du schon mit Zeigern gearbeitet hast dann arbeitet es sich mit Listen recht angenehm.
_________________
Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)