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

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

Списки


Floopyman ©   (2009-10-02 12:44:00) 

Написать программу, которая обменивается элементами между двумя списками по нажатию кнопки. Для обмена надо зарезервировать два региона, передать им память и записать в память выделенные элементы из списков. Удалить выделенные элементы из списков. Затем обменяться указателями, и вывести элементы.
Как это сделать?


Юрий Зотов   (2009-10-02 13:03:00) [1]

> Как работать с памятью?

GetMem/FreeMem или New/Dispose.

> Как записать в память элемент списка?

Если элемент списка не содержит указателей (в том числе объектов,  длинных, строк, динамических массивов и т.п.), то можно использовать CopyMemory. Если содержит - то сложнее. Нужно знать, что есть элемент списка.

Но возможно, что ничего этого и не нужно делать. Если списки содержат указатели на элементы, то надо обменяться только указателями, не трогая ни память, ни сами элементы в ней.


Floopyman   (2009-10-02 12:56:00) [2]

Со списками я вроде раборался. Как работать с памятью?
Выделил память через VirtualAlloc, передал память через этуже функцию. Как записать в память элемент списка?


Юрий Зотов   (2009-10-02 12:49:00) [3]

Как сделать - например, так, как Вы сами и написали. А для конкретного ответа нужно точно знать, что представляют собой элементы списков.


Наверх

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