Страница 1 из 3

Drga'n'drop файлов из проводника

Добавлено: 10 Август 2015, 12:17
RaFaeL
Есть у кого-нибудь примерчик такой работы? Т.е. перетащить файл (файлы) в окно, на выходе должен быть путь (список путей). С63

Drga'n'drop файлов из проводника

Добавлено: 10 Август 2015, 13:04
kreator
Было недавно обсуждение - http://forum.clarionlife.net/phpbb/view ... f=1&t=3362, я инициировал. На самом деле там всё просто, посмотри в хелпе тему "DropID", там есть пример работы с меткой "~FILE".

Drga'n'drop файлов из проводника

Добавлено: 10 Август 2015, 13:16
RaFaeL
Спасибо, а то у меня поиск эту тему почему-то не нашел, искал и по слову "проводник" и по другим

Drga'n'drop файлов из проводника

Добавлено: 10 Август 2015, 15:01
RaFaeL
Мммм, наверное тупой вопрос - а как собственно понять, что нам тут прилетело - файл или каталог?

Drga'n'drop файлов из проводника

Добавлено: 10 Август 2015, 15:33
kreator
А что даёт dropid() в случае каталога? Слэш в конце есть?

Drga'n'drop файлов из проводника

Добавлено: 10 Август 2015, 15:43
RaFaeL
Нет слэша
Можно приделать костыль в виде добавления слэша и exists, в этом случае для каталога будет 1 а для файла 0, но мне кажется это как-то неаккуратно

Drga'n'drop файлов из проводника

Добавлено: 10 Август 2015, 16:31
kreator
Почему неаккуратно? Dropid даёт только имя, а дальше твоё дело как с ним манипулировать. Задача-то какая?

Drga'n'drop файлов из проводника

Добавлено: 03 Сентябрь 2015, 16:30
RaFaeL
Если Drop висит на sheet и при этом стоит prop:nosheet то похоже что тоже не работает... Либо как то связано с тем, что внутри есть еще sheet

Drga'n'drop файлов из проводника

Добавлено: 03 Сентябрь 2015, 17:17
kreator
RaFaeL писал(а):Если Drop висит на sheet и при этом стоит prop:nosheet то похоже что тоже не работает... Либо как то связано с тем, что внутри есть еще sheet
У меня проблема с Tab'ами. Внутри них dropid() не работает, и на Tab'ах тоже не работает. А вот на Sheet работает, причём и с prop:nosheet, и с внутренним вторым Sheet'ом.

Drga'n'drop файлов из проводника

Добавлено: 04 Сентябрь 2015, 0:18
RaFaeL
Твою тему я читал, делал по рекомендации, во всей программе заработало (но окна в основном простенькие), а в двух окнах не заработало, хотя и там вешал на самый коренной в окне Sheet. Из-за чего конкретно не работает сложно сказать, окна очень навороченные ("карточка клиента"), может что другое мешает. Разбираться не стал, повесил код на само окно, там работает, а для пользователя разницы не будет. Но факт "не работает" имеет место быть

Drga'n'drop файлов из проводника

Добавлено: 04 Сентябрь 2015, 10:18
kreator
RaFaeL писал(а):Разбираться не стал, повесил код на само окно, там работает, а для пользователя разницы не будет.
Хочу спросить, конкретики Вашей не зная. Если на окне много контролов, а Drop на самом окне, то получается ведь не красиво. Drop нужен в конкретное место (например, в List или в конкретный Region), а программа при этом показывает, что можно куда угодно. Или закрываем на это глаза?

Drga'n'drop файлов из проводника

Добавлено: 04 Сентябрь 2015, 11:21
RaFaeL
На окне sheet почти во все окно (кроме управляющих кнопок) но c prop:wizard и prop:nosheet, на одной из закладок list со списком прикрепленных файлов. Задача - прикрепить файл к клиенту. Это программистам важно, чтобы drop работал на list, а пользователю это не важно, ему даже лучше будет если это все работает в любом месте карточки клиента, меньше думать надо. А после того как drop прошел - переключаем на нужную закладку и показываем результат. Конечно, это все подходит только если в этом окне лишь одна возможная задача сделать в него drop, но в данном случае это так

Drga'n'drop файлов из проводника

Добавлено: 04 Сентябрь 2015, 11:41
RaFaeL
В идеале конечно было бы иметь некий метод PreDrop который выполнялся бы в момент когда нечто тащится и находится над окном но еще не кинуто, тогда можно было бы заранее переключить на нужную закладку, но, как я понимаю, такого нет

Drga'n'drop файлов из проводника

Добавлено: 04 Сентябрь 2015, 12:32
Дед Пахом
RaFaeL писал(а): В идеале конечно было бы иметь некий метод PreDrop который выполнялся бы в момент когда нечто тащится и находится над окном но еще не кинуто, тогда можно было бы заранее переключить на нужную закладку, но, как я понимаю, такого нет
Для этого есть сабклассинг.

Drga'n'drop файлов из проводника

Добавлено: 04 Сентябрь 2015, 13:12
kreator
Вот если к листу нужен drop, я рассматривал вариант размещения этого листа не в Sheet, а при изменении Tab'а этот лист хайдить/анхайдить. По-моему более логично.