Ich hab dazu für ein Projekt mal ne Prozedur geschrieben.
Ob sie performant ist, müssen dir die profis sagen (
)
Aber mal so als "Idee":
Delphi-Quellcode:
SetLength(TProduktion, length(TProduktion)+1);
TProduktion[high(TProduktion)] := TProduktion[index-1];
TProduktion[index-1] := TProduktion[index];
TProduktion[index] := TProduktion[high(TProduktion)];
SetLength(TProduktion, length(TProduktion)-1);
TProduktion war halt mein Array.
Der "Trick" ist folgender:
Du erweiterst das Array, steckst da zur kurzen Speicherung den Arraywert rein und überschreibst den alten.
Dann überschreibst du wiederum den Index, den du grade eben zum überschreiben genommen hast und am Ende wird das Array wieder verkürzt und der ArrayIndex zum kurzzeitigen Speichern gelöscht
air
(Edit: Achja, in dem Fall wird das ganze halt um einen Wert verringert. Wenn du die ganze Prozedur willst, kannst ja ne PM schicken..das ableiten dürfte nu aber nichmehr schwer sein)