Стоит заметить, что в таком случае придётся создавать в этих секциях кучу дублирующих строк, которых наверняка будет больше, чем требуемых. Допустим, сменных цветов нужно 20, а цветовых шаблонов штук 70. Это получается, что в каждой секции должно быть примерно по 160 строк, всего в двух секциях - 320, из которых реально нужно 20. Ну, и какой вариант предпочтительней?
Кнопка для изменения цветовой схемы TC
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
cojoc
Стоит заметить, что в таком случае придётся создавать в этих секциях кучу дублирующих строк, которых наверняка будет больше, чем требуемых. Допустим, сменных цветов нужно 20, а цветовых шаблонов штук 70. Это получается, что в каждой секции должно быть примерно по 160 строк, всего в двух секциях - 320, из которых реально нужно 20. Ну, и какой вариант предпочтительней?
Стоит заметить, что в таком случае придётся создавать в этих секциях кучу дублирующих строк, которых наверняка будет больше, чем требуемых. Допустим, сменных цветов нужно 20, а цветовых шаблонов штук 70. Это получается, что в каждой секции должно быть примерно по 160 строк, всего в двух секциях - 320, из которых реально нужно 20. Ну, и какой вариант предпочтительней?
Flasher
- он мне сейчас больше подходит, т.к. отличных цветов у меня мало.
Но схемы у людей разные бывают, наверняка у кого-то будет мало совпадений. К тому же не надо будет скрипт редактировать, а переключившись на другую схему можно её при надобности изменить средствами TC.
Я использую "Поочерёдное переключение двух цветовых схем.vbs" от FlasherНу, и какой вариант предпочтительней?
Но схемы у людей разные бывают, наверняка у кого-то будет мало совпадений. К тому же не надо будет скрипт редактировать, а переключившись на другую схему можно её при надобности изменить средствами TC.
Вариант ранее предлагавшегося скрипта, но без использования внешней утилиты (TCMC). Для вызова диалога настройки цветов необходимо назначить комбинацию клавиш (в рассматриваемом варианте это Ctrl+9) для команды cm_ColorConfig (делается через меню Конфигурация >Настройка > Разное). Поскольку уже имеется 10 нажатий клавиш из скрипта, то и одиннадцать не намного больше…
Код: Выделить всё
' Описание: Переключает цвета в 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.Quitsa
Просто если дело сводить к замене на эмуляцию клавиш, то это нужно тогда для всех скриптов с утилитами предлагать по варианту с клавишами. Кому нужны эти лишние заморочки? К тому же в отношении эмуляций у меня мнение схожее с мнением Batya, т.е. против, и применяю их только в крайнем случае, когда нет более приемлемой альтернативы.
Просто если дело сводить к замене на эмуляцию клавиш, то это нужно тогда для всех скриптов с утилитами предлагать по варианту с клавишами. Кому нужны эти лишние заморочки? К тому же в отношении эмуляций у меня мнение схожее с мнением Batya, т.е. против, и применяю их только в крайнем случае, когда нет более приемлемой альтернативы.