ich würd mal sagen:
iddelete: integer; // Id des gelöschten Satzes
Delphi-Quellcode:
for i:= iddelete+1
to length(ArrayMitAllenSätzen)-1
do dec(ArrayMitAllenSätzen[i].id);
Sowas in die Richtung müsste gehen. Wenn die Sätze nicht allzu groß sind, wär auch ein anderer Ansatz möglich. Du verzichtest auf die ID's und überschreibst einfach den Satz:
Delphi-Quellcode:
For i:= iddelete to length(Array)-2 {!} do
Array[i]:=Array[i+1]
Erwarte das Beste und bereite dich auf das Schlimmste vor.