Страница 5 из 5
Добавлено: Сб окт 29, 2011 16:02
Flasher
cojoc
Стоит заметить, что в таком случае придётся создавать в этих секциях кучу дублирующих строк, которых наверняка будет больше, чем требуемых. Допустим, сменных цветов нужно 20, а цветовых шаблонов штук 70. Это получается, что в каждой секции должно быть примерно по 160 строк, всего в двух секциях - 320, из которых реально нужно 20. Ну, и какой вариант предпочтительней?

Добавлено: Сб окт 29, 2011 19:13
cojoc
Flasher
Ну, и какой вариант предпочтительней?
Я использую "Поочерёдное переключение двух цветовых схем.vbs" от Flasher

- он мне сейчас больше подходит, т.к. отличных цветов у меня мало.
Но схемы у людей разные бывают, наверняка у кого-то будет мало совпадений. К тому же не надо будет скрипт редактировать, а переключившись на другую схему можно её при надобности изменить средствами TC.
Добавлено: Сб окт 29, 2011 19:56
Flasher
cojoc
Я не думаю, что найдётся много пользователей, у которых несовпадающих значений будет больше хотя бы половины. Ну, а пользоваться средствами ТС можно при любом варианте.
Добавлено: Вт ноя 01, 2011 13:43
sa
Вариант ранее предлагавшегося
скрипта, но без использования внешней утилиты (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.Quit
Добавлено: Ср ноя 02, 2011 19:22
Flasher
sa писал(а):но без использования внешней утилиты (TCMC). Для вызова диалога настройки цветов необходимо назначить комбинацию клавиш (в рассматриваемом варианте это Ctrl+9

Как можно отказываться от утилиты в пользу каких-то, неизвестно на что назначенных горячих клавиш?
Добавлено: Ср ноя 02, 2011 20:21
sa
Flasher писал(а):Как можно отказываться от утилиты в пользу каких-то, неизвестно на что назначенных горячих клавиш?
Я и сам удивлён твоей гипотезой.
Добавлено: Ср ноя 02, 2011 20:38
Flasher
sa, какой гипотезой? Ты о чём?
Добавлено: Ср ноя 02, 2011 21:17
sa
Flasher
Будем считать, что это вариант для тех противников внешних утилит, кто ещё не назначил команду для Ctrl+9 или может подправить скрипт (либо поинтересоваться, как подправить) под свою свободную горячую клавишу.
Добавлено: Ср ноя 02, 2011 22:30
Flasher
sa писал(а):Будем считать, что это вариант для тех противников внешних утилит
Вот я поэтому и спросил, откуда такие странные приоритеты? Ты же для себя в первую очередь делаешь.
Добавлено: Ср ноя 02, 2011 23:18
sa
Flasher писал(а):откуда такие странные приоритеты?
Не знаю, по-моему это дело вкуса: использовать внешнюю утилиту или обойтись средствами ТК.
Добавлено: Ср ноя 02, 2011 23:25
Flasher
sa
Просто если дело сводить к замене на эмуляцию клавиш, то это нужно тогда для всех скриптов с утилитами предлагать по варианту с клавишами. Кому нужны эти лишние заморочки? К тому же в отношении эмуляций у меня мнение схожее с мнением Batya, т.е. против, и применяю их только в крайнем случае, когда нет более приемлемой альтернативы.
Добавлено: Ср ноя 02, 2011 23:55
sa
Flasher писал(а):и применяю их только в крайнем случае
Неприятно конечно, что целых 8 из 9 случаев (для диалога настройки цветов в твоих скриптах) у тебя оказались крайними.
Добавлено: Чт ноя 03, 2011 00:04
Flasher
sa
Каких 8 из 9 случаев? Откуда такое количество? Я всего 3 скрипта тут опубликовал, в 2-ух из которых есть метод SendKeys, необходимый в диалогах.
Добавлено: Чт ноя 03, 2011 00:14
sa
Flasher писал(а):Каких 8 из 9 случаев?
У тебя один вызов диалога утилитой и 8 эмуляций в нём: "+{TAB 5} ~". А у меня и того больше (10 эмуляций): "+{TAB 5} {ENTER}{TAB 2}".
Добавлено: Чт ноя 03, 2011 00:18
Flasher
sa
Мысль состояла в осмысленности применения, а не использовании как таковом.
Нажатия - это случаи? Мда.. Ладно, завязываем...