Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Буфер обмена 
:(
    Опции темы
kastron
  Дата 26.10.2011, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 10.10.2011

Репутация: нет
Всего: нет



Здравствуйте. Подскажите пожалуйста как при клике на Button1 проверить есть ли что-то в буфере обмена Windows если да и это файлы или папки то вставить их по указанному пути?
PM MAIL   Вверх
Frees
Дата 26.10.2011, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 16
Всего: 54



а проблема то в чем? 
где твой код, которым ты пытался решить эту задачу?


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
kastron
Дата 26.10.2011, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 10.10.2011

Репутация: нет
Всего: нет



Frees, дело в том, что я даже не предлполагаю как это реализовать, класс ClipBoard позволяет только узнать тип данных, которые хранятся в буфере,а также с помощью него можно загрузить например текст в Memo или картинку в TImage, но как сохранить данные (файлы и папки например) из буфера обмена в указанную папку - ума не приложу...(
PM MAIL   Вверх
Frees
Дата 26.10.2011, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 16
Всего: 54





--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
kastron
Дата 26.10.2011, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 10.10.2011

Репутация: нет
Всего: нет



Спасибо, разобрался.

еще вопрос, пытаюсь скопировать в буфер выделенные файлы и папки из ShellListView - не работает

Код

var
  H:THandle;
  i:integer;
  Lst:TStringList;
begin
  Lst:=TStringList.Create;
  for i:=0 to ShellListView.Items.Count-1 do
  begin
    if ShellListView.Items.Item[i].Selected=True then
    Lst.Add(ShellListView.Folders[i].PathName);
  end;
  H:=HWND(Lst.Text);
  OpenClipboard;
  SetClipboardData(CF_HDROP, H);
  CloseClipboard;
  GlobalFree(H);
  Lst.Free;
end;

PM MAIL   Вверх
kastron
Дата 26.10.2011, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 10.10.2011

Репутация: нет
Всего: нет



всё разобрался

Код

procedure CopyFilesToClipboard(FileList: String);
var
 DropFiles: PDropFiles;
 hGlobal: THandle;
 iLen: Integer;
begin
  iLen := Length(FileList);
  hGlobal := GlobalAlloc(GMEM_SHARE or GMEM_MOVEABLE or GMEM_ZEROINIT, SizeOf(TDropFiles) + iLen);
  if (hGlobal = 0) then
   begin
    Exit;
   end;
  DropFiles := GlobalLock(hGlobal);
  DropFiles^.pFiles := SizeOf(TDropFiles);
  Move(FileList[1], (PChar(DropFiles) + SizeOf(TDropFiles))^, iLen);
  GlobalUnlock(hGlobal);
  if OpenClipboard(0) then
   begin
    SetClipboardData(CF_HDROP, hGlobal);
    CloseClipboard;
   end;
end;

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0464 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.