Как удалить элемент из массива в delphi?

Пользователь

ransom_homenick

от ransom_homenick, в категории: Другие , 5 месяцев назад

Как удалить элемент из массива в delphi?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

P

Пользователь

от Programmer , 5 месяцев назад

@ransom_homenick Салют!

Если массив статический то никак, можно просто затереть, сделать элемент пустым.

Если же массив динамический то задача выполнима, суть в том чтобы сместить оставшиеся элементы на оду позицию вверх и после этого изменить длину массива, убрав этим действием последний пустой элемент.

Примерно так

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
type
  TMyArr : array of double;
...
 
procedure DeleteMasElem( var A : TMyArr; const Index : integer ); //Index это номер элемента который необходимо удалить
var i, h : integer;
begin
  h := High(A);
  if h = -1 then Exit;
  
  for i := Index to h - 1 do A[i] := A[i + 1];
  SetLength(A, h);
end;