Mega Code Archive

 
Categories / Delphi / Algorithm Math
 

Delete one item from a dynamic array

Title: delete one item from a dynamic array? type TArrayString = array of string; procedure DeleteArrayIndex(var X: TArrayString; Index: Integer); begin if Index High(X) then Exit; if Index then Exit; if Index = High(X) then begin SetLength(X, Length(X) - 1); Exit; end; Finalize(X[Index]); System.Move(X[Index +1], X[Index], (Length(X) - Index -1) * SizeOf(string) + 1); SetLength(X, Length(X) - 1); end; // Example : Delete the second item from array a // Beispiel : Lösche das 2. Element vom array a procedure TForm1.Button2Click(Sender: TObject); var a: TArrayString; begin DeleteArrayIndex(a, 2); end;