| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Drag and Drop c Explorer |
| Автор: Ak47black 21.4.2007, 16:46 |
| Как переташить не из проводника, а в проводник. Я имею ввиду только получение пути куда он был переташен, итем из TListView? |
| Автор: Ak47black 21.4.2007, 17:33 |
| Хотя-бы как http://www.torry.net/vcl/system/draganddrop/dragdrop0307.zip компоненты переделать что-бы добиться результата? |
| Автор: Guedda 21.4.2007, 17:54 |
| А тебе необходимо копировать, или перемещать? |
| Автор: Ak47black 21.4.2007, 17:54 | ||
Нет, только путь получить, оттуда куда кинул. |
| Автор: Ak47black 22.4.2007, 15:56 |
| Неукого нету некаких идей чтоли? |
| Автор: Snowy 22.4.2007, 16:03 |
| http://forum.vingrad.ru/index.php?showtopic=84137&view=findpost&p=650739 |
| Автор: Ak47black 22.4.2007, 16:26 | ||
| Не опять нето, но близко. Я уже перерыл весь интернет то точно Мне сами файлы не нужно копировать или перемешать, а только путь получить,
только копируют и перешают как я вижу, можно-ли каким нибудь путем до них достучаться что-бы они путь выдали? |
| Автор: Snowy 23.4.2007, 11:46 |
| Тут проблема. Никто тебе путь не скажет. Механизм просто отдаёт список приложению. А копирует оно или что другое делает - это личное дело приложения, которому ты отдаёшь данные. И уж темболее куда - это его личное дело. |
| Автор: Ak47black 23.4.2007, 12:57 |
| Snowy, я конечно зашел в тупик допустим я взял какой-нибудь известый ftp клиент - например SmartFtp , при помоши его можно зайти на какойнибудь удаленый сервер и оттуда удаленый файл перетянуть допустим на рабочий стол и файл начнеться скачиваться. Тоесть как я понимаю приложению какимто образом доходит куда качать > |
| Автор: Snowy 23.4.2007, 13:03 |
| Он тянет во временную папку, а потом уже отдаёт файл. То есть делается драгндроп, в момент дропа, возникает колбэк. В этом колбэке происходит скачивание в темп, с последующей отдачей этого темпа. Вот уже временный файл потом копируется в заданное место. В примерах к компоненту есть пример с распаковкой. Там это всё расписано. Разумеется вместо реальной распаковки, создаётся пустой файл, но механизм понятен. Аналогично делается и скачивание и т.п. случаи, когда файл должен возникать в момент дропа. |
| Автор: Ak47black 23.4.2007, 13:11 | ||||
Это где? (В каких примерах, где они)
Ну там же произходит наполнение файла по мере скачивания(тоесть куда кинул), тоесть без временного вроде. |
| Автор: Snowy 23.4.2007, 13:16 |
| Это вот тут: http://www.torry.net/vcl/system/draganddrop/dragdrop0307.zip |
| Автор: Ak47black 23.4.2007, 13:26 |
| В архиве уже сушествуют файлы, а тут как получаеться что по мере скачивания он подтаскивает куски файла ?( както у меня в голове неукладываеться), чтото нетак. Файл там (который был кинут) по мере скачивания заполняеться |
| Автор: Snowy 23.4.2007, 13:38 |
| Смотри ExtractDemo. Метод ExtractFile. По сути всё готово - просто написать свою реализацию ExtractFile, ну или переименовать по-своему, например DownloadFile. Не важно... Просто действия должны выполняться в OnDrop. Добавлено через 2 минуты и 33 секунды Неееет. Существует архив. А файлы нужно ещё распаковать. То есть в примере перед тем, как файлы окончательно будут отданы, они должны быть созданы. Аналогично и при скачивании. Перед тем, как окончательно отдашь, нужно их создать, то бишь скачать и положить в темп. |
| Автор: Ak47black 23.4.2007, 14:03 | ||
А там при скачивании сразу в файл записываеться. Тоесть там где файл дропнул там появняеться файл с размером 0 байт и начинает заполнять по мере скачивания, тоесть он не после скачивания перемешаеться. |
| Автор: Ak47black 23.4.2007, 15:21 |
| Если поставить в настройках ![]() то если сделать дроп то списке задач 'Transfer Queue', всё-таки у этого файла путь будет тотже куда его кинули. Тоесть какимто образом тут это реализовано и путь как-то получаеться. |
| Автор: Snowy 23.4.2007, 15:58 |
| Ну, как извращенский вариант, можно так: Скармливаем файл нулевого размера, ловим где в системе создался новый файл и дальше его подло юзаем. |
| Автор: Ak47black 23.4.2007, 16:02 | ||
? |
| Автор: Ak47black 23.4.2007, 18:27 |
| Может как-нибудь можно зная Handle проводника, узнать у него путь? |
| Автор: Ak47black 23.4.2007, 20:30 | ||
Мда Snowy, ты прав был, во что я нашол
|
| Автор: Snowy 24.4.2007, 10:26 |
| Ну про это я и говорю - отдаём нулевой файл и смотрим, куда он пошёл дальше. Хук на explorer вполне подходит. Хотя не исключаю и других вариантов отслеживания. Например по принципу FileMon. |
| Автор: Ak47black 24.4.2007, 13:44 | ||
Snowy, а
Это как, может без Хук?, очень интересно узнать как тогда |
| Автор: Snowy 24.4.2007, 14:07 |
| Попробуй поиск по форуму |