Страница 16 из 25
Добавлено: Вт дек 05, 2017 11:25
sa
По-моему, так работает и с
TComboBox:
Код: Выделить всё
"tcm(508,1) eval(select_wait(`CopyTree`,findwnd(TComboBox,,findwnd(TMyGroupBox,,findwnd(TDLGZIP))))) send(`~(%%Z-)`,findwnd(TDLGZIP)) sendmsg(findwnd(TButton,,findwnd(TDLGZIP),3),$f5)"
Радиокнопку нажимал из
send.
Добавлено: Вт дек 05, 2017 11:47
Flasher
По идее радиокнопка должна нажиматься так:
Код: Выделить всё
sendmsg(findwnd(TRadioButton,,findwnd(TMyGroupBox,,findwnd(TDLGZIP),3),$F5))
Но почему-то не отрабатывает.
Добавлено: Вт дек 05, 2017 13:32
sa
Вот так, как будто:
Код: Выделить всё
/ef "%Z tcm(508,1) eval(select_wait(`CopyTree`,findwnd(TComboBox,,findwnd(TMyGroupBox,,findwnd(TDLGZIP))))) sendmsg(findwnd(TRadioButton,,findwnd(TMyGroupBox,,findwnd(TDLGZIP)),9),$F5) sendmsg(findwnd(TRadioButton,,findwnd(TMyGroupBox,,findwnd(TDLGZIP)),3),$F5) sendmsg(findwnd(TButton,,findwnd(TDLGZIP),3),$f5)"
Наверное, можно подсократить.
Добавлено: Вт дек 05, 2017 15:25
ingerard
Flasher
Нормально не работает с путями в которых встречается символ ")", например название папки "3) 12 жовтня 2016\", если в нее кидать, то появляется ошибка "Unavailable key", а потом:
Error:
Wrong expression
Expression:
@<=if_empty(,5)*20&&if(findwnd(TAltEdit,,,0,1),settext(CopyTree:"C:\3) 12 жовтня 2016\",findwnd(TAltEdit,,,0,1))*0,delay(50))
Terminate process?
sa
А в вашем коде кидает не по пути получателя, а по пути источника, рядом с собой. И так же не работает с символом ")".
Добавлено: Вт дек 05, 2017 18:51
Flasher
sa писал(а):Вот так, как будто:
А, я скобку не туда воткнул..
А зачем перед этим кликать на ARJ*-радиокнопку, я не понял? Это лишнее.
ingerard
У меня так работает с наличием скобок (да и нечему там создавать для них проблемы):
Код: Выделить всё
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef
tcm(508,1) eval(select_wait(`CopyTree`,findwnd(TComboBox,,findwnd(TMyGroupBox,,findwnd(TDLGZIP))))) sendmsg(findwnd(TRadioButton,,findwnd(TMyGroupBox,,findwnd(TDLGZIP)),3),$F5) sendmsg(findwnd(TButton,,findwnd(TDLGZIP),3),$F5)
wcmicons.dll,1
CopyTree — выбор глубины папок для копирования|структуры выбранных объектов в другую панель
И самое главное, что в такой кнопке уже нет необходимости подбирать имя за ТС при замене CopyTree на любой другой плагин из списка.
Добавлено: Вт дек 05, 2017 19:19
ingerard
Flasher
Если запускать с кнопки, то копирует как надо в другую панель, но если прописать в usercmd.ini, то копирует в текущую.
Код: Выделить всё
[em_FastCopyTree]
cmd=%COMMANDER_PATH%\Addons\TCFS2\TCFS2.exe
param=/ef tcm(508,1) eval(select_wait(`CopyTree`,findwnd(TComboBox,,findwnd(TMyGroupBox,,findwnd(TDLGZIP))))) sendmsg(findwnd(TRadioButton,,findwnd(TMyGroupBox,,findwnd(TDLGZIP)),3),$F5) sendmsg(findwnd(TButton,,findwnd(TDLGZIP),3),)
menu=Быстрый запуск плагина CopyTree[2]
Добавлено: Вт дек 05, 2017 19:32
Flasher
ingerard
Хм. Почему-то с хоткеем команда выбора пункта не отрабатывает.

В конце параметров $F5 перед скобкой добавьте.
Добавлено: Вт дек 05, 2017 19:34
sa
На случай, когда ранее вызывался какой-то другой архиваторный плагин, у меня используется дополнительное нажатие радиокнопки с ZIP.
ingerard
Дело не в usercmd.ini, а в назначенных на команду клавишах. Нажатие Ctrl при выполнении команды упаковки (508) заставляет TC упаковывать в текущую панель (как при Ctrl+Alt+F5).
Добавлено: Вт дек 05, 2017 19:40
ingerard
Flasher
Я убрал временно $F5, чтоб смотреть что в строку подставляет скрипт
Добавлено спустя 3 минуты:
sa
Точно, вот проблемы с этими горячими клавишами, и как быть?
Добавлено: Вт дек 05, 2017 19:40
Flasher
sa писал(а):На случай, когда ранее вызывался какой-то другой архиваторный плагин
Так и что, что он вызывался? Как это меняет ситуацию, если выбор безусловный?
Ага, похоже, что меняет. Да, ZIP, забыл, что отсчёт с нуля.
Получается, у нас патовая ситуация с этим хоткеем, пока
MVV это не поправит.
Добавлено: Вт дек 05, 2017 19:42
sa
ingerard писал(а):и как быть?
Win+F5

Добавлено: Вт дек 05, 2017 19:59
Flasher
Придумал.
... tcm(508,1) tcm(4006) ... tcm(4006,1)
Вторую нужно в конец:
Код: Выделить всё
[em_FastCopyTree]
cmd=%COMMANDER_PATH%\Addons\TCFS2\TCFS2.exe
param=/ef tcm(508,1) tcm(4006) eval(select_wait(`CopyTree`,findwnd(TComboBox,,findwnd(TMyGroupBox,,findwnd(TDLGZIP))))) sendmsg(findwnd(TRadioButton,,findwnd(TMyGroupBox,,findwnd(TDLGZIP)),0),$F5) sendmsg(findwnd(TRadioButton,,findwnd(TMyGroupBox,,findwnd(TDLGZIP)),3),$F5) sendmsg(findwnd(TButton,,findwnd(TDLGZIP),3),$F5) tcm(4006,1)
menu=Быстрый запуск плагина CopyTree[2]
Добавлено: Вт дек 05, 2017 20:13
ingerard
sa
Таки придется менять хоткей.
Flasher
Заработало, но теперь думаю что лучше, менять хоткей или использовать такой замудренный код

Посоветуйте, ничего что оно с фокусом панели играет?
Добавлено: Вт дек 05, 2017 20:16
Flasher
ingerard
Ничего страшного нет. Этого же не видно. Но сам я предпочитаю короткие хоткеи с одним модификатором. Win — тоже вариант.
Добавлено: Ср дек 06, 2017 07:53
sa
ingerard писал(а):А в вашем коде кидает не по пути получателя, а по пути источника, рядом с собой. И так же не работает с символом ")".
Уточните, о каком коде говорится?