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 

Кнопка для изменения цветовой схемы TC
Goto page Previous  1, 2, 3, 4, 5
 
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: 14229
Location: Москва

Post (Separately) Posted: Sat Oct 29, 2011 16:02    Post subject: Reply with quote

cojoc
Стоит заметить, что в таком случае придётся создавать в этих секциях кучу дублирующих строк, которых наверняка будет больше, чем требуемых. Допустим, сменных цветов нужно 20, а цветовых шаблонов штук 70. Это получается, что в каждой секции должно быть примерно по 160 строк, всего в двух секциях - 320, из которых реально нужно 20. Ну, и какой вариант предпочтительней? Wink
Back to top
View user's profile Send private message
cojoc



Joined: 04 Sep 2009
Posts: 144

Post (Separately) Posted: Sat Oct 29, 2011 19:13    Post subject: Reply with quote

Flasher
Quote:
Ну, и какой вариант предпочтительней?

Я использую "Поочерёдное переключение двух цветовых схем.vbs" от Flasher Smile - он мне сейчас больше подходит, т.к. отличных цветов у меня мало.

Но схемы у людей разные бывают, наверняка у кого-то будет мало совпадений. К тому же не надо будет скрипт редактировать, а переключившись на другую схему можно её при надобности изменить средствами TC.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Sat Oct 29, 2011 19:56    Post subject: Reply with quote

cojoc
Я не думаю, что найдётся много пользователей, у которых несовпадающих значений будет больше хотя бы половины. Ну, а пользоваться средствами ТС можно при любом варианте.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2571

Post (Separately) Posted: Tue Nov 01, 2011 13:43    Post subject: Reply with quote

Вариант ранее предлагавшегося скрипта, но без использования внешней утилиты (TCMC). Для вызова диалога настройки цветов необходимо назначить комбинацию клавиш (в рассматриваемом варианте это Ctrl+9) для команды cm_ColorConfig (делается через меню Конфигурация >Настройка > Разное). Поскольку уже имеется 10 нажатий клавиш из скрипта, то и одиннадцать не намного больше…
Code:
'  Описание: Переключает цвета в TC, переименовывая друг в друга секции [Colors] и [Colors2]
'Требования: Для вызова внутренней команды cm_ColorConfig назначить комбинацию клавиш Ctrl+9
'-------------------------------------------------------------------------------------------
Option Explicit
Dim FSO, WSH, F, Str1 , Str2, Text
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
F = FSO.GetAbsolutePathName(WSH.ExpandEnvironmentStrings("%COMMANDER_INI%"))
Str1 = vbNewLine & "[Colors]"
Str2 = vbNewLine & "[Colors2]"
Text = FSO.OpenTextFile(F, 1).ReadAll
If InStr(1, Text, vbNewLine & "C+9=cm_ColorConfig", 1) > 0 Then
  Text = Replace(Text, Str1, Str1 & "#", 1, -1, 1)
  Text = Replace(Text, Str2, Str1, 1, -1, 1)
  Text = Replace(Text, Str1 & "#", Str2, 1, -1, 1)
  FSO.OpenTextFile(F, 2).Write Text
  WSH.SendKeys "^9+{TAB 5}  {ENTER}"         ' ^9 - вызов cm_ColorConfig комбинацией Ctrl+9
  If InStr(1, Text, "activeTitle", 1) > 0 Then WSH.SendKeys "{TAB 2}"
Else
  MsgBox "Назначьте на Ctrl+9 команду cm_ColorConfig", vbOKOnly + vbCritical,"Ошибка"
End If
Set WSH = Nothing
Set FSO = Nothing
WScript.Quit
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Nov 02, 2011 19:22    Post subject: Reply with quote

sa wrote:
но без использования внешней утилиты (TCMC). Для вызова диалога настройки цветов необходимо назначить комбинацию клавиш (в рассматриваемом варианте это Ctrl+9
Shocked Как можно отказываться от утилиты в пользу каких-то, неизвестно на что назначенных горячих клавиш?
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2571

Post (Separately) Posted: Wed Nov 02, 2011 20:21    Post subject: Reply with quote

Flasher wrote:
Как можно отказываться от утилиты в пользу каких-то, неизвестно на что назначенных горячих клавиш?

Я и сам удивлён твоей гипотезой.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Nov 02, 2011 20:38    Post subject: Reply with quote

sa, какой гипотезой? Ты о чём?
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2571

Post (Separately) Posted: Wed Nov 02, 2011 21:17    Post subject: Reply with quote

Flasher
Будем считать, что это вариант для тех противников внешних утилит, кто ещё не назначил команду для Ctrl+9 или может подправить скрипт (либо поинтересоваться, как подправить) под свою свободную горячую клавишу.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Nov 02, 2011 22:30    Post subject: Reply with quote

sa wrote:
Будем считать, что это вариант для тех противников внешних утилит
Вот я поэтому и спросил, откуда такие странные приоритеты? Ты же для себя в первую очередь делаешь.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2571

Post (Separately) Posted: Wed Nov 02, 2011 23:18    Post subject: Reply with quote

Flasher wrote:
откуда такие странные приоритеты?

Не знаю, по-моему это дело вкуса: использовать внешнюю утилиту или обойтись средствами ТК.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Nov 02, 2011 23:25    Post subject: Reply with quote

sa
Просто если дело сводить к замене на эмуляцию клавиш, то это нужно тогда для всех скриптов с утилитами предлагать по варианту с клавишами. Кому нужны эти лишние заморочки? К тому же в отношении эмуляций у меня мнение схожее с мнением Batya, т.е. против, и применяю их только в крайнем случае, когда нет более приемлемой альтернативы.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2571

Post (Separately) Posted: Wed Nov 02, 2011 23:55    Post subject: Reply with quote

Flasher wrote:
и применяю их только в крайнем случае

Неприятно конечно, что целых 8 из 9 случаев (для диалога настройки цветов в твоих скриптах) у тебя оказались крайними.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Thu Nov 03, 2011 00:04    Post subject: Reply with quote

sa
Каких 8 из 9 случаев? Откуда такое количество? Я всего 3 скрипта тут опубликовал, в 2-ух из которых есть метод SendKeys, необходимый в диалогах.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2571

Post (Separately) Posted: Thu Nov 03, 2011 00:14    Post subject: Reply with quote

Flasher wrote:
Каких 8 из 9 случаев?
У тебя один вызов диалога утилитой и 8 эмуляций в нём: "+{TAB 5} ~". А у меня и того больше (10 эмуляций): "+{TAB 5} {ENTER}{TAB 2}".
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Thu Nov 03, 2011 00:18    Post subject: Reply with quote

sa
Мысль состояла в осмысленности применения, а не использовании как таковом.
Нажатия - это случаи? Мда.. Ладно, завязываем...
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
Page 5 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