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



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Mon May 09, 2011 19:08    Post subject: Reply with quote

Flasher, в первом посте запрашивалась кнопка для переключения между текущим режимом и каким-то заданным. Его задаём в параметре команды switch_viewmode_S.

Лично проверял 269, 301 и 302. Если текущий режим не подробный, кнопка с switch_viewmode_S(302) гарантированно переключает между текущим режимом и подробным.

А куда по-твоему должна переключать кнопка переключения в подробный режим, если её запустили, когда панель и так в подробном, при этом информации о предыдущем режиме нет, или же там тоже указан подробный режим? Rolling Eyes
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Mon May 09, 2011 19:18    Post subject: Reply with quote

MVV wrote:
в первом посте запрашивалась кнопка для переключения между текущим режимом и каким-то заданным. Его задаём в параметре команды switch_viewmode_S.
Ты написал, что не надо плодить кнопки, а я прокомментировал, почему это не совсем верно.
MVV wrote:
А куда по-твоему должна переключать кнопка переключения в полный режим, если её запустили, когда панель и так в полном, при этом информации о предыдущем режиме нет, или же там тоже указан полный режим?
Из подробного (а не полного) режима кнопка должна переключаться в предыдущий либо указанный, как это делают мои команды. Грошь цена такой инверсной команде, которая не может переключаться из совпавшего с указанным режимом.
MVV wrote:
Лично проверял 269, 301 и 302. Если текущий режим не подробный, кнопка с switch_viewmode_S(302) гарантированно переключает между текущим режимом и подробным.
Не знаю. Переключается так, как я описал, в указанный режим и всё, обратного переключения не происходит. Вот с 269 происходит, с остальными - нет.

ЗЫ: в личке почему не ответил?
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Mon May 09, 2011 19:38    Post subject: Reply with quote

Quote:
Ты написал, что не надо плодить кнопки, а я прокомментировал, почему это не совсем верно.

Я писал, что команды плодить не надо, а не кнопки. Smile

Quote:
Из подробного (а не полного) режима кнопка должна переключаться в предыдущий либо указанный, как это делают мои команды. Грошь цена такой инверсной команде, которая не может переключаться из совпавшего с указанным режимом.

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

Quote:
Не знаю. Переключается так, как я описал, в указанный режим и всё, обратного переключения не происходит. Вот с 269 происходит, с остальными - нет.

А я тебе скажу, почему, я тоже сначала не мог понять. Команда 269 сама по себе переключает в предыдущий режим и без нашей помощи.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Mon May 09, 2011 19:48    Post subject: Reply with quote

MVV wrote:
Я писал, что команды плодить не надо, а не кнопки.
Пардон, я команды и имел в виду.
MVV wrote:
Справитесь и сами.
Я то справлюсь при прочих равных. А вот ...
MVV wrote:
А я тебе скажу, почему, я тоже сначала не мог понять. Команда 269 сама по себе переключает в предыдущий режим и без нашей помощи.
Верно. Тогда смысла использовать твою команду нет никакого, потому что она аналогична внутренней команде, где также нет никакой инверсии. А в исходном посте была неточная формулировка. Дальше идёт уточнение:
HEXFIX wrote:
нажимаю кнопку - режим переключается в "подробно", нажимаю повторно - переключается обратно. Т.е. вкл.\выкл.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Mon May 09, 2011 19:57    Post subject: Reply with quote

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

А для добавления второго режима совсем необязательно писать новые команды. Можно модифицировать эти и просто передавать в них два параметра - режим для переключения и резервный режим, куда будет переключаться из первого, если в конфиге прописан он же. Что-то вроде:
Code:
switch_viewmode_L=set_tcini(left, LastViewMode, L_viewMode) tcm(#1), test(L_viewMode != (#1)) | tcm(tcini(left, LastViewMode, #) != #1 || !(#2) ? #1 : #2)

Т.е. при обратном переключении смотрит, что в конфиге сохранен такой же режим, что и задан, и переключается на резервный (если он задан - т.е. не равен нулю).
Команду для правой - аналогично. А команду для активной добавить, чтобы передавала и второй параметр:
Code:
switch_viewmode_S=run_item(switch_viewmode_L, #1-200, #2), test(L_isActive) | run_item(switch_viewmode_R, #1-100, #2)


Запускаем так:
Code:
/u- /ei "switch_viewmode_S(302, 301)"

_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Mon May 09, 2011 20:19    Post subject: Reply with quote

MVV wrote:
Ну оно так и работает. Нажимаешь - переключается в подробный, ещё раз нажимаешь - обратно.
У меня обратно не хочет. С новыми предложенными командами то же самое. Confused
Версия TCFS2Tools точно последняя, скачал ещё раз - перепроверил. TCFS2 - 2.0.
И ты почему-то забыл:
Code:
switch_viewmode_R=set_tcini(right, LastViewMode, R_viewMode) tcm(#1), test(R_viewMode != (#1)) | tcm(tcini(right, LastViewMode, #) != #1 || !(#2) ? #1 : #2)
Хотя это опять ничего не поменяло.

Зато работает такая смешная команда: /u- /ei "switch_viewmode_S(304, 303)"
Смешная, но прикольная! Very Happy
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Mon May 09, 2011 20:54    Post subject: Reply with quote

Я не забыл, я написал:
Quote:
Команду для правой - аналогично.

Very Happy

Но по идее теперь TCFS2 должна ругаться, если что-то ей не нравится в конфиге - уже несколько раз убедился в удобстве этой штуки.

А команду надо перепроверить, у меня тоже пока не работает. Smile
Кстати, чтобы можно было не указывать второй параметр команды, можно в switch_viewmode_S везде вместо #2 написать (#2-0) - тогда при пустом #2 получится (-0), что не является неверным выражением. Very Happy
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Mon May 09, 2011 21:00    Post subject: Reply with quote

MVV wrote:
Но по идее теперь TCFS2 должна ругаться, если что-то ей не нравится в конфиге
Ага, но я сразу заметил, что R-ки нету.

MVV wrote:
Кстати, чтобы можно было не указывать второй параметр команды, можно в switch_viewmode_S везде вместо #2 написать (#2-0) - тогда при пустом #2 получится (-0), что не является неверным выражением.
Сделал, но толку от этого ... сам понимаешь.

Добавлено спустя 26 минут 51 секунду:

HEXFIX wrote:
Разобрался. Всё работает.
Flasher, огромное спасибо!
Пожалуйста. Но с обновлённым модулем (так уж случилось, что твой запрос натолкнул меня запросить эту фичу) теперь достаточно использовать команды в комстроке без прописывания в TCSF2.ini:
...\TCFS2.exe /u- /ef "tcm(271), test(S_viewMode != 271) | tcm(302)"
...\TCFS2.exe /u- /ef "tcm(272), test(S_viewMode != 272) | tcm(302)"
...\TCFS2.exe /u- /ef "tcm(273), test(S_viewMode != 273) | tcm(302)"
................
...\TCFS2.exe /u- /ef "tcm(299), test(S_viewMode != 299) | tcm(302)"

Макрос S_viewMode заменить на тот, что привёл MVV.


Last edited by Flasher on Thu May 19, 2011 06:21; edited 1 time in total
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Mon May 09, 2011 21:40    Post subject: Reply with quote

Допилил команду. Пора завязывать с такой травой. Laughing
Code:
switch2_viewmode_L=set_tcini(left, LastViewMode, L_viewMode) tcm(#1), test(L_viewMode != (#1)) | tcm(tcini(left, LastViewMode, #) != (#1) || !(#2) ? tcini(left, LastViewMode, #) : (#2))
switch2_viewmode_R=set_tcini(right, LastViewMode, R_viewMode) tcm(#1), test(R_viewMode != (#1)) | tcm(tcini(right, LastViewMode, #) != (#1) || !(#2) ? tcini(right, LastViewMode, #) : (#2))
switch2_viewmode_S=run_item(switch2_viewmode_L, #1-200, #2-0), test(L_isActive) | run_item(switch2_viewmode_R, #1-100, #2-0)

Итого, если запускать без второго параметра, работает так же, как switch_viewmode_S:
Code:
/u- /ei "switch2_viewmode_S(302)"

А если со вторым, то при совпадении текущего режима и того, что сохранен в INI, будет переходить к резервному режиму, указанному вторым параметром:
Code:
/u- /ei switch2_viewmode_S(302, 301)


Конечно, эти три команды тоже можно записать в одну строку и не править INI.......... но я этого делать не буду. Laughing
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…


Last edited by MVV on Tue May 10, 2011 11:39; edited 2 times in total
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Mon May 09, 2011 21:55    Post subject: Reply with quote

Да, сейчас работает. Жаль только оконце периодически мелькает в правой панели при переключении между 301 и 302. Вот с колонками такого почему-то нет.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Mon May 09, 2011 22:05    Post subject: Reply with quote

У меня обе панели мелькают одинаково. Ровно так же, как и при переключении режимов по Ctrl+F1 и Ctrl+F2. Собственно, мы это и делаем.

Кстати, эта команда с (301, 302) не переключает из краткого режима, если в INI нет параметра LastViewMode. Оставляю исправление этого в качестве домашнего задания. Very Happy
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
HEXFIX



Joined: 25 Jun 2010
Posts: 173
Location: Калининград

Post (Separately) Posted: Tue May 10, 2011 08:52    Post subject: Reply with quote

MVV
Flasher
Не доходит до меня, что делать-то надо? Embarassed
Скопировал код
Code:
switch2_viewmode_L=set_tcini(left, LastViewMode, L_viewMode) tcm(#1), test(L_viewMode != (#1)) | tcm(tcini(left, LastViewMode, #) != (#1) || !(#2) ? tcini(left, LastViewMode, #) : (#2))
switch2_viewmode_R=set_tcini(right, LastViewMode, R_viewMode) tcm(#1), test(R_viewMode != (#1)) | tcm(tcini(right, LastViewMode, #) != (#1) || !(#2) ? tcini(right, LastViewMode, #) : (#2))
switch2_viewmode_S=run_item(switch2_viewmode_L, #1-200, #2-0), test(L_isActive) | run_item(switch2_viewmode_R, #1-100, #2-0)
в секцию [Items].
А дальше что? Что писать в поле "Команда" и "Параметры" у кнопки?
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Tue May 10, 2011 09:50    Post subject: Reply with quote

Ну как что? Мы же приводили примеры:
Code:
/u- /ei "switch2_viewmode_S(302, 301)"

Это для переключения между текущим и подробным режимом. Вместо первого числа для других кнопок можешь подставлять номера других cm_Src* команд. Второе число оставляй везде 301, но если первое пишешь 301, то во втором напиши 302.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…


Last edited by MVV on Tue May 10, 2011 11:38; edited 2 times in total
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2693

Post (Separately) Posted: Tue May 10, 2011 11:18    Post subject: Reply with quote

MVV wrote:
/ei switch2_viewmode_R
В последних постах: может всё-таки правильнее /ei switch2_viewmode_S?

И ещё. У меня команда срабатывает, но вылетает сообщение
Code:
Error:
Unavailable key

Items:
301
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Tue May 10, 2011 11:35    Post subject: Reply with quote

А у тебя точно последний вариант команды?

О, вспомнил, почему такая ошибка появляется. Это когда ты в командной строке команду пишешь, и забываешь кавычки, тогда 301 после пробела рассматривается как имя следующей команды, так как уже находится в следующем параметре командной строки. Или без пробелов писать надо, или в кавычках.

Блин, это ж у мя пример без кавычек был. Rolling Eyes

Да, и про _S тоже верное наблюдение. Я тут писал правильно, а потом косячил. Very Happy
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
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  Next
Page 3 of 4

 
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