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