Как удалить одно значение из динамического массива?



type
 
  TArrayString = array
 of string

procedure
 DeleteArrayIndex(var X: TArrayString; Index: Integer); 
begin
 
  if
 Index > High(X) then Exit; 
  if
 Index < Low(X) 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 : Losche das 2. Element vom array a 


procedure
 TForm1.Button2Click(Sender: TObject); 
var
 
  a: TArrayString; 
begin
 
  DeleteArrayIndex(a, 2
); 
end


Взято с сайта http://www.swissdelphicenter.ch/en/tipsindex.php



Современные офисы класса B - аренда офисов.