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, 6, 7, 8, 9  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
sa



Joined: 29 Apr 2009
Posts: 2693

Post (Separately) Posted: Sun Dec 07, 2014 22:36    Post subject: Reply with quote

ask-rus wrote:
Всё равно "осечка"...
Мне помогла такая манипуляция: поменял местами set_tcini с открытием панели и добавил установку set_tcini(Layout, ButtonBar,1)
Команда для TCFS2.ini стала у меня такой:
Code:
OpenBar=set_tcini(ButtonBar, Buttonbar,`%COMMANDER_PATH%\BAR\` #1 `.bar`) tem(`em_OpenBar %COMMANDER_PATH%\BAR\` #1 `.bar`) set_tcini(Layout, ButtonBar,1)
Вызов остался прежним, например
Code:
/ei OpenBar(`Main`)

Добавлено:
Можно в TCFS2.ini добавить и команду смены панели:
Code:
SwitchBar=if(tcini(ButtonBar, ButtonBar, `%COMMANDER_PATH%\BAR\` #1 `.bar`), run_item(OpenBar, #2), run_item(OpenBar, #1))
Вызов
Code:
/ei "SwitchBar(`Main`, `Ext`)"
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2077
Location: Russian Federation

Post (Separately) Posted: Wed Dec 10, 2014 06:26    Post subject: Reply with quote

Flasher wrote:
В данном случае это неважно. Макрос тот же?
И секцию Layout посмотри, всё ли там в порядке, нет ли редиректа.

TCFS2.ini с TCFS2_2.2.0.460.zip - без правок.

Arrow Запускаю TC, закрываю панель инструментов:
Quote:
[em_NoBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=/ei tb0
menu=Закрыть панель инструментов

жму переключение:
Quote:
[em_SwitchBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=%Z /ef "if(tcini(ButtonBar, ButtonBar, `%%COMMANDER_PATH%%\BAR\MAIN.bar`), tem(em_ExtBar), tem(em_MainBar))"
menu=Переключение между главной и расширенной панелями инструментов

чтобы панель появилась и закрыть панель инструментов снова уже не удаётся. Переключаюсь на другие панели, всё равно не закрыть, пока не перезапущу TC или не зайду в настройки, чтобы снять и в тот же момент установить флажок на "Панель инструментов".

Т.е.
Quote:
[em_NoBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=/ei tb0
menu=Закрыть панель инструментов

становится нерабочей.

Добавлено спустя 5 минут:

sa
Не хотелось бы добавлять в TCFS2.ini что-либо, лучше всего хранить в теле кнопки.

Добавлено спустя 14 минут:

Такая команда создаёт аж две "осечки" для em_SwitchBar:
Quote:
[em_NoBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=%Z /ef "tem(`em_OpenBar %%COMMANDER_PATH%%\BAR\NO.bar`) set_tcini(ButtonBar, Buttonbar,`%%COMMANDER_PATH%%\BAR\NO.bar`)"
menu=Закрыть панель инструментов

_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2693

Post (Separately) Posted: Wed Dec 10, 2014 08:16    Post subject: Reply with quote

ask-rus wrote:
Не хотелось бы добавлять в TCFS2.ini что-либо

Так правь в 4-х местах usercmd.ini или кнопки. Параметр для команды em_MainBar будет такой
Code:
%Z /ef "set_tcini(ButtonBar, Buttonbar,`%%COMMANDER_PATH%%\BAR\MAIN.bar`) tem(`em_OpenBar %%COMMANDER_PATH%%\BAR\MAIN.bar`) set_tcini(Layout, ButtonBar, 1)"
По аналогии параметры для em_ExtBar, em_UserBar.
Параметр для em_NoBar
Code:
/ei tb0
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2077
Location: Russian Federation

Post (Separately) Posted: Wed Dec 10, 2014 08:56    Post subject: Reply with quote

Спасибо, sa, "осечки" не стало.

Эти две кнопки ведут себя по разному:
Quote:
[em_NoBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=/ei tb0
menu=Закрыть панель инструментов

Quote:
[em_NoBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=%Z /ef "set_tcini(ButtonBar, Buttonbar,`%%COMMANDER_PATH%%\BAR\NO.bar`) tem(`em_OpenBar %%COMMANDER_PATH%%\BAR\NO.bar`) set_tcini(Layout, ButtonBar, 0)"
menu=Закрыть панель инструментов

Первая кнопка:
- Открыта главная панель, закрываем, переключаемся - открывается расширенная;
- Открыта расширенная панель, закрываем, переключаемся - открывается главная.

Вторая кнопка:
- Открыта главная панель, закрываем, переключаемся - открывается главная;
- Открыта расширенная панель, закрываем, переключаемся - открывается главная.

Мне ближе второй вариант, т.к. напомню, что у меня расширенная панель инструментов - эта та же главная, но со вторым рядом кнопок. Логичней, когда из ничего сначала откроется один ряд, а при переключении - второй, нежели сразу два.

Добавлено спустя 6 минут:

Собственно, цель достигнута, благодарю всех за помощь!
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Dec 10, 2014 09:14    Post subject: Reply with quote

Забудь по NO.Bar.
Попробуй:
Code:
[em_SwitchBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=%Z/ef "if(tcini(Layout, ButtonBar, 0), tcm(2901), if(tcini(ButtonBar, ButtonBar, `%%COMMANDER_PATH%%\BAR\MAIN.bar`), tem(em_ExtBar), tem(em_MainBar)))"
menu=Включение текущей или переключение между главной и расширенной панелями инструментов
и не надо в 4-х местах ничего править.
Обращаю также внимание, что пробел после %Z не нужен. Убирай везде.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.


Last edited by Flasher on Wed Dec 10, 2014 10:25; edited 1 time in total
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2077
Location: Russian Federation

Post (Separately) Posted: Wed Dec 10, 2014 09:25    Post subject: Reply with quote

Quote:
[em_OpenBar]
cmd=OPENBAR
param=%Z%A
menu=Открыть указанную панель инструментов

[em_MainBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=%Z/ef "set_tcini(ButtonBar, Buttonbar,`%%COMMANDER_PATH%%\BAR\MAIN.bar`) tem(`em_OpenBar %%COMMANDER_PATH%%\BAR\MAIN.bar`) set_tcini(Layout, ButtonBar, 1)"
menu=Открыть главную панель инструментов

[em_ExtBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=%Z/ef "set_tcini(ButtonBar, Buttonbar,`%%COMMANDER_PATH%%\BAR\EXT.bar`) tem(`em_OpenBar %%COMMANDER_PATH%%\BAR\EXT.bar`) set_tcini(Layout, ButtonBar, 1)"
menu=Открыть расширенную панель инструментов

[em_UserBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=%Z/ef "set_tcini(ButtonBar, Buttonbar,`%%COMMANDER_PATH%%\BAR\User.bar`) tem(`em_OpenBar %%COMMANDER_PATH%%\BAR\User.bar`) set_tcini(Layout, ButtonBar, 1)"
menu=Открыть пользовательскую панель инструментов

[em_SwitchBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=%Z/ef "if(tcini(Layout, ButtonBar, 0), run_item(tb1), if(tcini(ButtonBar, ButtonBar, `%%COMMANDER_PATH%%\BAR\MAIN.bar`), tem(em_ExtBar), tem(em_MainBar)))"
menu=Включение текущей или переключение между главной и расширенной панелями инструментов

[em_NoBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=/ei tb0
menu=Закрыть панель инструментов

Всё ли верно?

Добавлено спустя 5 минут:

Вроде работает, какую закрыл - ту и открыл.
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица


Last edited by ask-rus on Wed Dec 10, 2014 09:37; edited 1 time in total
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Dec 10, 2014 09:30    Post subject: Reply with quote

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



Joined: 10 Nov 2009
Posts: 2077
Location: Russian Federation

Post (Separately) Posted: Wed Dec 10, 2014 09:33    Post subject: Reply with quote

И вернулись к проблеме незакрываемости панели инструментов...

Добавлено спустя 7 минут:

С этим:
Quote:
set_tcini(Layout, ButtonBar, 1)

всё в норме.
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Dec 10, 2014 09:40    Post subject: Reply with quote

Объясняю. Если ты скрываешь панель вызовом NO.bar, то в [Layout], ButtonBar остаётся старое значение в отличии от действия cm_VisButtonbar, поэтому тебе достаточно один раз вызвать эту команду, и тогда всё будет работать как следует.

Добавлено спустя 3 минуты:

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



Joined: 10 Nov 2009
Posts: 2077
Location: Russian Federation

Post (Separately) Posted: Wed Dec 10, 2014 09:49    Post subject: Reply with quote

Flasher wrote:
Для команд вызова панелей юзай исходник.

В исходнике какая-то ошибка, которая после ряда переключений блокирует закрытие панели.

Беру свой код выше, убираю с вызова панелей set_tcini(Layout, ButtonBar, 1) и всё закрывается на ура.

Добавлено спустя 6 минут:

Flasher wrote:
Если ты скрываешь панель вызовом NO.bar

Закрываю с /ei tb0.

Добавлено спустя 5 минут:

Flasher wrote:
И да, зачем тебе вообще em_NoBar при наличии cm_VisButtonbar?

Право слово, сейчас погляжу.
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Dec 10, 2014 10:03    Post subject: Reply with quote

Исходник тут ни при чём.

Я понял проблему вызова /ei tb0.
Quote:
hasButtonBar=tcini(Layout, ButtonBar, 1, 1)
Надо спросить у MVV, зачем он поставил <error_value>. Получается, что в случае, если ключ не равен 1, он всегда вернёт 1, для if/eval - это фактическое True. Из-за этого глюк. Надо убрать красное.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.


Last edited by Flasher on Wed Dec 10, 2014 10:06; edited 1 time in total
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2077
Location: Russian Federation

Post (Separately) Posted: Wed Dec 10, 2014 10:06    Post subject: Reply with quote

Понятно. Во всяком случае я беру в обиход cm_VisButtonbar. На этом, кажется, всё?
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2693

Post (Separately) Posted: Wed Dec 10, 2014 10:07    Post subject: Reply with quote

ask-rus wrote:
Собственно, цель достигнута, благодарю всех за помощь!

Пожалуйста!
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Dec 10, 2014 10:08    Post subject: Reply with quote

ask-rus wrote:
Во всяком случае я беру в обиход cm_VisButtonbar
Правильно, и тогда про проблемы неверной записи можно забыть, как и про совет sa.
ask-rus wrote:
На этом, кажется, всё?
Вроде да, но мне всё-таки мнение MVV хотелось бы увидеть об <error_value>.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2693

Post (Separately) Posted: Wed Dec 10, 2014 10:22    Post subject: Reply with quote

Flasher wrote:
об <error_value>

Из справки к TCFS2:
Quote:
error_value, если ключ не найден
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, 6, 7, 8, 9  Next
Page 6 of 9

 
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