Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Cut file програмно


Автор: Ak47black 5.4.2007, 21:00
Как програмно сделать Cut файла зная его путь?
Я имею ввиду Cut как в проводнике 
user posted image
Просто сымитировать это действие над указыным заранее файлом.  smile 

Автор: Sunvas 5.4.2007, 21:56
А что ты подразумеваешь под cut фала? Переместить его, или сообщить система, какой файл она должна вырезать?

Автор: Ak47black 5.4.2007, 22:55
Цитата

сообщить системе, какой файл она должна вырезать

Автор: Yanis 5.4.2007, 23:01
Ak47black
Думаю, что нет. Это фишка эксплорера. Он ловит нажатие Ctrl+X и производит визуальные изменения и запоминает файлы. Глупо как то smile Именно это упрощение приводит к недопниманию принципа переноса.
Само по себе выражение вырезанный файл -- как минимум неграмотное.

Добавлено через 47 секунд
Система не умеет «вырезать».

Автор: ~FoX~ 6.4.2007, 09:20
Ну теоретически тебе нужно найти хэндл окна эксплорера, найти в этом окне контрол в котором выделен файл и сделать 

Код

var
  MyHandle: Handle;
begin
  //Ищем окошко 
  SendMessage (MyHandle, WM_Cut, 0, 0); 
end;

А вот как быть с путем к файлу не представляю....

Автор: ama_kid 6.4.2007, 09:30
~FoX~, 
Это если тока совсем теоретически.. Для WM_CUT в МСДН написано:
Цитата
This message is sent by an application to an edit control or combo box to delete (cut) the current selection, if any, in the edit control and copy the deleted text to the clipboard in CF_UNICODETEXT format.
А вот относиться ли эксплорер к "an edit control or combo box" - я не уверен... Больше напоминает листбокс...

Автор: Yanis 6.4.2007, 09:45
Цитата(ama_kid @  6.4.2007,  10:30 Найти цитируемый пост)
Больше напоминает листбокс... 

Нет. Это класс WC_LISTVIEW.

Автор: Ak47black 6.4.2007, 10:09
Вообше что функция Cut подрузумевает, я думаю
  • Занесение файла в Clipboard
  • При обрашение к нему, удаление источника
Это так?

Добавлено через 3 минуты
Если без Shellа.

Автор: Ak47black 6.4.2007, 11:22
Ну ок спасиба все за ответы.

Автор: Rennigth 6.4.2007, 11:47
Цитата(Ak47black @  6.4.2007,  10:09 Найти цитируемый пост)
Занесение файла в Clipboard

Несовсем, у експлорера отдельный буффер для этого. Вот если тебе получится добраться до него... но возможно ли это?...

Добавлено через 4 минуты и 5 секунд
вот, пока почитай:
http://msdn2.microsoft.com/en-us/library/bb267299.aspx
сейчас нету времени этим заниматься, мож попозже гляну.

Автор: Yanis 6.4.2007, 11:51
Можно конечно посылать Ctrl+X smile

Автор: Ak47black 6.4.2007, 12:05
Rennigth, 
Yanis,
Ок. Спасиба на этом ,я просто думал что  ктонибудь тут знает легкий путь это сделать. Я могу в своём проекте обойтись.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)