![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как записать в буфер обмена [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() разместить в клипборде только что сформированные данные.