In deinen Falle mußt du das Umgekehrt aufstricken. Stück für Stück.
Also einen Einfügen (hab grad kein Delphi installiert, sonnst käme hier eine vernünftige Prozedur).
Frage 1 - Einfügen:
Datensätze je einen nach unten kopieren (kopieren nicht verschieben, sonnst haste nachher ein Loch und deine
DB löscht den Datensatz).
for i=(end of database) upto (einfügezeile+1) deine Kopieranweisung
Frage 2 - Verschieben:
Schon schwiriger. Hier für mußt du einen Temp Datensatz erstellen wo du deinen Platz 1 (oder oberster Datensatz) rein packst. Prozedur ist ähnlich. Nur halt Startzeile und Endzeile Verändern. und dann prozedur
for i=(erster zu verschienebe datensatz) downto (end of list -1 oder aktuelle position - 1) do deine Kopieranweisung
Zu guter letzt wird der Temporäre Datensatz in das so entstandene Loch (weiter oben) reinkopiert.
Diese Skripte fressen Ressourcen und es geht bestimmt auch einfacher. Aber sie erzeugen das richtige Ergebnis.
Gruß dat Tala