Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Есть ли функция для удаления 1 элемента из динамического масива? [D6, Win2k]


Страницы:   1 2

bloodman ©   (2004-09-01 19:54:00) 

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


Семен Сорокин   (2004-09-02 09:47:00) [21]


> Romkin ©   (01.09.04 20:51) [2]
> TList на самом деле только растет :))
> http://www.delphimaster.ru/articles/dyntable/index.html
> Легко адаптировать под массив ;)

Отличная статья.


bloodman   (2004-09-01 22:22:00) [22]

Fay ©   (01.09.04 21:04) [3]
Да собственно я решил без функции обойтись:
For Z:=I to Length(DB) - 2 do DB[Z]:= DB[Z+1];
        SetLength(DB, Length(DB) - 1);

:)


Palladin   (2004-09-01 22:12:00) [23]


> Endi   (01.09.04 22:07)

Почитай справку про Move, очень оптимизируешь свою функцию...


Endi   (2004-09-01 22:07:00) [24]

Я пользуюсь вот этой функцией.


procedure Delete(Idx:integer;M:array of integer); //Idx - индекс, с который нужно удалить
var
i:integer;
begin
for i:=Idx to Length(M)-2 do begin
M[i]:=M[i+1];
end;
SetLength(M,Length(M)-1);
end;


Fay   (2004-09-01 21:04:00) [25]

2 bloodman ©   (01.09.04 19:54)
Твой вопрос длиннее той функции, которую не хочется писать.


Romkin   (2004-09-01 20:51:00) [26]

TList на самом деле только растет :))
http://www.delphimaster.ru/articles/dyntable/index.html
Легко адаптировать под массив ;)


Семен Сорокин   (2004-09-01 20:06:00) [27]

есть для последнего SetLength(arr, Length(arr)-1), а еще есть Move.

PS.
 Используй TList или его наследников.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо