Вниз
Скачать: CL | DM;

Сохранение буфера обмена.   Найти похожие ветки 

 
pusrg ©   (2002-03-14 20:40) [0]

Господа программисты, не подскажете как можно сохранить буфер обмена в независимости от формата, сделать с ним определенные действия и восстановить его?


 
Song ©   (2002-03-14 21:13) [1]

Класс TClipBoard
см. методы у него.


 
pusrg ©   (2002-03-14 21:26) [2]

To Song
Про методы этого класса я знаю...
Но тогда не подскажете какой из них использовать для сохранения абсолютно любых данных?
Если использовать метод assign, то непонятно какого типа должен быть обьект - хранитель данных из буфера. Типы ТPersistent, TClipBoard не проходят.


 
pusrg ©   (2002-03-15 14:15) [3]

Мужики, неужели никто не знает как временно сохранить данные из буфера?
Если это задача в принципе не выполнима, так и напишите...


 
digitman ©   (2002-03-15 15:08) [4]

выполнима, почему же нет ?)

1. вызовом EnumClipboardFormats() получаешь инф-цию обо всех форматах, доступных в БО. Запоминаешь их.

2. В цикле по всем полученным форматам получаешь их HGLOBAL-хэндлы вызовом GetClipboardData(). Получаешь размер блока глоб.хипа, распределенного под очеред.формат, выделяешь соотв. по размеру блок в лок.хипе своего процесса, блокируешь хэндл глоб.блока вызовом GlobalLock(), копируешь его содержимое любым способом в свой лок.блок, разблокируешь хэндл глоб.блока.

3. Очищаешь БО.

4. Пользуешься им как тебе вздумается.

5. В цикле по сохраненным форматам восстанавливаешь первонач.содержимое БО вызовами GlobalAlloc(), GlobalLock()/Unlock(), SetClipboarddata()


 
MBo ©   (2002-03-16 07:52) [5]

Я делал сохранение/восстановление в/из файла, у digitman-а абсолютно все шаги расписаны.


 
pusrg ©   (2002-03-16 18:01) [6]

To Digitmat, to MBo
Спасибо за Ваши отзывы!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.008 c
3-90764
chik_
2002-03-01 10:29
2002.03.28
SQL+BDE+DELPHI


14-91079
M-A-B
2002-02-13 08:52
2002.03.28
СОМ-порт


1-90969
SecondGray
2002-03-15 05:53
2002.03.28
Delphi 5&Win98 против Delphi5&Win2K


3-90810
ruslan_as
2002-03-04 13:13
2002.03.28
Сумма по полю


1-90926
kronos
2002-03-13 13:50
2002.03.28
Можно ли так сравнивать?




   Наверх