Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Синхронная смена каталогов
Goto page Previous  1, 2, 3, 4, 5  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Flasher



Joined: 06 Nov 2009
Posts: 12431
Location: Москва

Post (Separately) Posted: Sun Dec 24, 2017 23:52    Post subject: Reply with quote

ingerard wrote:
AHK это еще один лишний багаж, с которым могут быть проблемы с портативностью Sad
Багаж — да. А вот насчёт портабельности (лучше так называть) мимо. Только на днях объяснял.
ingerard wrote:
только проблема заключается потребности перезагрузки ТК.
А, ну да. Это же не usercmd.ini. Тогда с TCFS2 вызов cm_Confirmation, вставки и подтверждение. Question
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
ingerard



Joined: 04 Dec 2016
Posts: 127

Post (Separately) Posted: Mon Dec 25, 2017 00:23    Post subject: Reply with quote

Flasher
Flasher wrote:
Тогда с TCFS2 вызов cm_Confirmation, вставки и подтверждение.

Попробую Smile

У меня тут еще появилась одна просьба. Сделайте и для выхода из папки параметр /n, если он есть то выход из разных папок невозможен, если его нет, то выход только из папки в активной панели.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12431
Location: Москва

Post (Separately) Posted: Mon Dec 25, 2017 01:16    Post subject: Reply with quote

ingerard
Сделал. Но вообще я изначально так планировал до обозначения одностороннего условия.

P.S.: Только не называйте ключи параметрами, они не зависят от очерёдности.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
ingerard



Joined: 04 Dec 2016
Posts: 127

Post (Separately) Posted: Mon Dec 25, 2017 01:34    Post subject: Reply with quote

Flasher wrote:
Сделал. Но вообще я изначально так планировал до обозначения одностороннего условия.

Спасибо!

Пробую TCFS2, что-то никак не могу выбрать элемент в ComboBox.
Все варианты:

Code:
/ef tcm(495,1)
eval(select_wait(`ENTER`,findwnd(TMyComboBox,,findwnd(TDLGCONFIGALL))))

/ef tcm(495,1)
eval(select_wait(`ENTER`,findwnd(TMyComboBox,,findwnd(TMyGroupBox,,findwnd(TDLGCONFIGALL))))

/ef tcm(495,1)
eval(select_wait(`ENTER`,findwnd(TMyComboBox,,findwnd(TMyGroupBox,,findwnd(TPage,,findwnd(TDLGCONFIGALL)))))
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12431
Location: Москва

Post (Separately) Posted: Mon Dec 25, 2017 12:17    Post subject: Reply with quote

ingerard
Code:
/ef tcm(495,1) eval(select_wait(`ENTER`,findwnd(TMyComboBox,,findwnd(TMyGroupBox,,findwnd(TPage,,findwnd(TNotebook,,findwnd(TDLGCONFIGALL))),1),1))) eval(settext_wait(`em_SwitchSyncChangeDir`,findwnd(TAltEdit,,,0,1)))

Но, как видно, такую установку без кликов и выбора в браузере команд Тотал не воспринимает. Sad

Но есть и 3-й вариант. Назначить em_SwitchSyncChangeDir на ENTER и в usercmd.ini cm_Return менять с командой вызова скрипта.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
ingerard



Joined: 04 Dec 2016
Posts: 127

Post (Separately) Posted: Mon Dec 25, 2017 13:24    Post subject: Reply with quote

Flasher wrote:
Назначить em_SwitchSyncChangeDir на ENTER и в usercmd.ini cm_Return менять с командой вызова скрипта.

Отличный вариант! Но можно подробней чем менять в usercmd.ini извне? TCFS2?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12431
Location: Москва

Post (Separately) Posted: Mon Dec 25, 2017 13:49    Post subject: Reply with quote

ingerard
Угу:
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "if(ini(`%COMMANDER_PATH%\usercmd.ini`,em_SwitchSyncChangeDir,cmd,`1001`),set_ini(`%COMMANDER_PATH%\usercmd.ini`,em_SwitchSyncChangeDir,cmd,`em_SyncChangeDir`),
set_ini(`%%COMMANDER_PATH%%\usercmd.ini`,em_SwitchSyncChangeDir,cmd,`1001`))"
wcmicons.dll,75
Вкл/выкл: синхронная смена каталогов в панелях

В em_SyncChangeDir записываем вызов скрипта. Можно сделать и смену иконки в панели.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
ingerard



Joined: 04 Dec 2016
Posts: 127

Post (Separately) Posted: Mon Dec 25, 2017 14:09    Post subject: Reply with quote

Flasher
С учетом что у меня два хоткея Enter и Backspace, то чуть подправил код.

Usercmd.ini
Code:
[em_ScriptE]
cmd=%COMMANDER_PATH%\Addons\TCScript\wscript.exe "%COMMANDER_PATH%\Scripts\SyncDirOpen.vbs"
param=
[em_ScriptB]
cmd=%COMMANDER_PATH%\Addons\TCScript\wscript.exe "%COMMANDER_PATH%\Scripts\SyncDirOpen.vbs"
param=/b
[em_SyncDirOpen]
cmd=1001
[em_SyncDirBack]
cmd=2002
[em_SyncDirSwitch]
cmd=%COMMANDER_PATH%\Addons\TCFS2\TCFS2.exe /ef "if(Ucmd(em_SyncDirOpen,`1001`),sc_E(`em_ScriptE`)+sc_ico(`463`),sc_E(`1001`)+sc_ico(`75`)) if(Ucmd(em_SyncDirBack,`2002`),sc_B(`em_ScriptB`),sc_B(`2002`)) msg($0B,0) tcm(2945) tcm(4004) msg($0B,1) send({ESC})"


TCFS2.ini
Code:
Ucmd=ini(`%COMMANDER_PATH%\usercmd.ini`,#1,cmd,#2)
sc_E=set_ini(`%COMMANDER_PATH%\usercmd.ini`,em_SyncDirOpen,cmd,#1)
sc_B=set_ini(`%COMMANDER_PATH%\usercmd.ini`,em_SyncDirBack,cmd,#1)
sc_ico=set_ini(`%COMMANDER_PATH%\Default.bar`,Buttonbar,button6,`wcmicons.dll,`#1)


Кнопка:
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Addons\TCFS2\TCFS2.exe /ef "if(Ucmd(em_SyncDirOpen,`1001`),sc_E(`em_ScriptE`)+sc_ico(`463`),sc_E(`1001`)+sc_ico(`75`)) if(Ucmd(em_SyncDirBack,`2002`),sc_B(`em_ScriptB`),sc_B(`2002`)) msg($0B,0) tcm(2945) tcm(4004) msg($0B,1) send({ESC})"

wcmicons.dll,75
Вкл/выкл: синхронная смена каталогов в панелях

-1


Иконка, может кому пригодится:
Link

Flasher wrote:
Можно сделать и смену иконки в панели.

Было бы неплохо. Я так понимаю это надо редактировать в баре button=?


Last edited by ingerard on Tue Dec 26, 2017 11:54; edited 5 times in total
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12431
Location: Москва

Post (Separately) Posted: Mon Dec 25, 2017 14:17    Post subject: Reply with quote

ingerard
Через часок вернусь — добьём.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
ingerard



Joined: 04 Dec 2016
Posts: 127

Post (Separately) Posted: Mon Dec 25, 2017 14:41    Post subject: Reply with quote

Flasher
Хорошо, я выше чуть подредактировал, наверно не сильно оптимизировано...
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12431
Location: Москва

Post (Separately) Posted: Mon Dec 25, 2017 18:06    Post subject: Reply with quote

ingerard
Более менее. Только пути к скрипту надо в кавычки брать на случай переноса.
Сами записи при желании можно оптимизировать за счёт созданных команд/макросов в TCFS2.ini. А обновлять по принципу:
Code:
"if(ini(`%COMMANDER_PATH%\usercmd.ini`,em_SyncDirOpen,cmd,`1001`),set_ini(-/-)+set_ini(`%COMMANDER_PATH%\UserBar.bar`,Buttonbar,button50,`Icons\1.ico`),set_ini(-/-)+set_ini(`%COMMANDER_PATH%\UserBar.bar`,Buttonbar,button50,`Icons\2.ico`)) tcm(2945)

_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
ingerard



Joined: 04 Dec 2016
Posts: 127

Post (Separately) Posted: Mon Dec 25, 2017 21:25    Post subject: Reply with quote

Flasher
Сделал, может и коряво, но работает Smile Выше обновил.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12431
Location: Москва

Post (Separately) Posted: Mon Dec 25, 2017 22:17    Post subject: Reply with quote

ingerard
Коряво работает или сделал? Smile
Я бы в TCFS2.ini так записал:
Code:
[Macros]
Ucmd=ini(`%COMMANDER_PATH%\usercmd.ini`,#1,cmd,#2)
sc_E=set_ini(`%COMMANDER_PATH%\usercmd.ini`,em_SyncDirOpen,cmd,#1)
sc_B=set_ini(`%COMMANDER_PATH%\usercmd.ini`,em_SyncDirBack,cmd,#1)
sc_ico=set_ini(`%COMMANDER_PATH%\Default.bar`,Buttonbar,button6,`wcmicons.dll,`#1)
А в em_SyncDirSwitch подставлял бы соответствующие переменные.

Вообще 76 иконка несколько сомнительна. Лучше потратить пару-другую минут для вставки крестика в вызволенную 75-ю.
Также в угоду скорости вызова я предпочитаю в кнопках писать команду запуска приложения, а не пользовательскую.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
ingerard



Joined: 04 Dec 2016
Posts: 127

Post (Separately) Posted: Mon Dec 25, 2017 22:53    Post subject: Reply with quote

Flasher wrote:
Коряво работает или сделал?

Выглядит коряво, но работает хорошо Very Happy Но конечно же возьму ваш вариант.
Flasher wrote:
Вообще 76 иконка несколько сомнительна

Та то я для примера поставил, а так то я сразу сделал иконку с фоном как нажатая.
Flasher wrote:
в кнопках писать команду запуска приложения, а не пользовательскую.

Можете подробней, не совсем понял.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12431
Location: Москва

Post (Separately) Posted: Mon Dec 25, 2017 23:03    Post subject: Reply with quote

ingerard wrote:
но работает хорошо Very Happy
Это радует. Smile
ingerard wrote:
Но конечно же возьму ваш вариант.
Надеюсь, с подстановками проблем не возникнет. Wink
ingerard wrote:
а так то я сразу сделал иконку с фоном как нажатая.
А, ну, ОК.
ingerard wrote:
Можете подробней, не совсем понял.
Я выше приводил пример с кнопкой вызова TCFS2. em_SyncDirSwitch я бы делал только для хоткея и/или главного меню, но не для кнопки.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, 4, 5  Next
Page 3 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group