Wenns nicht auf die Reihenfolge ankommt, kannst du einfach das zu löschende Element mit dem letzten in der Liste überschreiben und dann das letzte löschen. Kommt es auf die Reihenfolge an, kannst du das über eine Schleife lösen:
Delphi-Quellcode:
for i:= StelledeszulöschendenElements to AnzahlDerElemente -2 do
list[i]:= list[i+1];
list[AnzahlDerElemente-1] := 0; // Je nachdem was du drin hast
Erwarte das Beste und bereite dich auf das Schlimmste vor.