![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Динамичиские массивы [D7, XP]
Lera © (2006-08-23 16:03:00)Будть добры, как в динамическом массиве с несколькими элементами удалить полностью один из них, т.е. чтобы он был не пустой, а совсем отсутствовал. Заранее спасибо.
Anatoly Podgoretsky (2006-08-23 16:38:00) [1]Lera (23.08.06 16:25) [8]
А почему игнорируем вопрос от Джо © (23.08.06 16:20) [5]
Джо (2006-08-23 16:33:00) [2]> [7] guav © (23.08.06 16:23)
> Можно и с управляемым временем жизни при помощи Move (присвоить
> удаляемому нулевое значение перед замещением и обнилить
> без финализации хвост перед уменьшением длины),
Можно, конечно. Не хочется "приучать к плохому" :)
> [10] Lera (23.08.06 16:30)
> а смещать влево каким оператором можно?
Оператором ":=" в цикле.
Сергей М. (2006-08-23 16:32:00) [3]
> смещать влево каким оператором можно?
Тем же самым Move()
Lera (2006-08-23 16:30:00) [4]а смещать влево каким оператором можно?
Lera (2006-08-23 16:25:00) [5]спасибо
Сергей М. (2006-08-23 16:25:00) [6]
> чтобы он был не пустой, а совсем отсутствовал
Да здравствует IronHawk (C),
guav (2006-08-23 16:23:00) [7]> Если с управляемым временем жизни, то — перемещением в цикле
> элементов за удаленным "влево" и уменьшением длины массива
> на 1. Если нет — при помощи Move.
Можно и с управляемым временем жизни при помощи Move (присвоить удаляемому нулевое значение перед замещением и обнилить без финализации хвост перед уменьшением длины), а безопаснее и проще и для "нет" смещать в обычном цикле влево :)
Zeqfreed (2006-08-23 16:22:00) [8]> [4] Lera (23.08.06 16:16)
> имеется ввиду удалить и освободить оперативную память
Тогда только так:SetProcessWorkingSetSize;)
Джо (2006-08-23 16:20:00) [9]> [3] Lera (23.08.06 16:12)
> тип элемента TForm
Используй TObjectList (uses Contnrs) и не мучайся.
Кстати, зачем эти ссылки на формы хранить? Какая нужда заставила?
Lera (2006-08-23 16:16:00) [10]имеется ввиду удалить и освободить оперативную память, которая была занята под элемент
Lera (2006-08-23 16:12:00) [11]тип элемента TForm
Джо (2006-08-23 16:08:00) [12]Зависит от того, какого типа элементы в массиве. Если с управляемым временем жизни, то — перемещением в цикле элементов за удаленным "влево" и уменьшением длины массива на 1. Если нет — при помощи Move.
Джо (2006-08-23 16:08:00) [13]> при помощи Move.
И, опять же, длины массива на 1.