скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

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



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;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook