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

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

как записать в буфер обмена [D6, WinXP]


pound ©   (2006-04-11 14:29:00) 

Подскажите как записать в буфер обмена (и соответственно прочитать) динамический массив.
 DecSimD = record
   g,b: Byte;
   x,y,r: Double;
 end;
GrSimD = array of DecSimD;


Сергей М.   (2006-04-11 14:42:00) [1]

1. Средствами GlobalAlloc() выделить память размером 4 + Length(GrSimD) * SizeOf(DecSimD), получить при этом хэндл выделенного ресурса памяти.

2. Средствами GlobalLock() получить указательна блок этой выделенной памяти.

3. Последовательно записать в эту память :
- значение Length(GrSimD)
- данные начиная с адреса @GrSimD[0] размером Length(GrSimD) * SizeOf(DecSimD)

4. Средствами SetClipboardData() разместить в клипборде только что сформированные данные.


Наверх

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