Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];




Вниз

Сохранение буфера обмена. 


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
Спасибо за Ваши отзывы!




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.026 c
3-90757           KAA                   2002-03-01 13:12  2002.03.28  
2000 собрать строку из записей в таблице


14-91041          evgeg                 2002-02-06 23:18  2002.03.28  
Безграмотность


4-91101           chernoruk             2002-01-28 03:25  2002.03.28  
Открытие ссылки


1-91003           Novichok2             2002-03-15 11:46  2002.03.28  
фильтрация в SQL


4-91130           Вадим                 2002-01-27 21:11  2002.03.28  
Выключение компьютера