Hallo und Willkommen in der
DP ,
wenn Du einen Datensatz (Record) einfügen willst, musst Du das Array ja
immer erweitern unabhängig von irgendwelchen Bedingungen (es sei denn, Du machst das blockweise, aber das ist ein anderes Thema). So, Du hast nun Deinen einzufügenden Datensatz und das Suchkriterium. Nun beginnst Du beim kleinsten Indexwert (0 bei dynamischen Arrays, Low() geht aber auch immer) und vergleichst den bereits enthaltenen Record mit dem einzufügenden. Ist der enthaltene Wert kleiner als der neue, gehst Du einen Record weiter. Dies wiederholst Du solange, wie der einzufügende Wert größer ist und das Array noch Daten enthält. Bist Du noch nicht am Ende des Array angelangt, musst Du alle folgenden Records um eins nach hinten verschieben. Dazu musst Du von hinten durchgehen und die Daten aus dem Vorgänger kopieren. Dies auch wieder in einer Schleife, bis Du am "Einfüge-Index" angekommen bist. Nun schreibst Du hier die Daten des neuen Records hinein.
Ich hoffe, das war einigermaßen verständlich.