Показать сообщение отдельно
  #4  
Старый 05.05.2008, 15:26
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ты что собрался удалять???
Не надо ничего удалаять!!!

Если уж ты хочешь возяиться с массивами, то для удаления n-того элемента тебе надо:
1. Скопировать все элементы массива с n+1 до Length(массив).
2. Укоротить массив на 1 элемент.

Выглядеть должно что-то типа этого:
Код:
var
  I : Integer;
begin
  If (ADelItem < Low(AArray)) Or (ADelItem > High(AArray)) Then
    Raise Exception.CreateFmt('Item index not in array (%d)',[ADelItem]);

  For I := ADelItem To High(AArray) - 1 Do
    AArray[i] := AArray[I+1];

  SetLength(AArray,Length(AArray)-1);
end;
ADelItem - индекс удаляемого элемента
AArray - массив, в котором удаляем элемент.
Ответить с цитированием