Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.051 c
15-1155822658
Get
2006-08-17 17:50
2006.09.10
Поставить сеть...


2-1154595535
Vovan-qqq
2006-08-03 12:58
2006.09.10
MathType


15-1155538042
Nic
2006-08-14 10:47
2006.09.10
Продажа программ


15-1155885857
tesseract
2006-08-18 11:24
2006.09.10
До выхода turbo delphi осталось :


15-1155632454
Карелин Артем
2006-08-15 13:00
2006.09.10
Еще вопрос по Екселю. Как получить список именованных ячеек?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский