View previous topic :: View next topic |
Author |
Message |
mf-zl
Joined: 21 Aug 2005 Posts: 71 Location: BLR
|
(Separately) Posted: Sun Apr 28, 2013 18:40 Post subject: AHK_L переключение ассоциаций без перезапуска TC |
|
|
AHK_L переключение ассоциаций без перезапуска TC:
Code: | #SingleInstance off
SetBatchLines, -1
SetKeyDelay, -1
SetWinDelay, -1
IniRead, RedirectAssociations, % COMMANDER_INI, Associations, RedirectSection, 0
Transform, INI, Deref, % (RedirectAssociations ? RedirectAssociations : COMMANDER_INI)
IniRead, Associations, % INI, Associations
If StrLen(Associations) < 65531 {
IniRead, _d, % INI, % (Asc(Associations) ? "" : "-") "Associations"
IniWrite, % _d, % INI, % (Asc(Associations) ? "-" : "") "Associations"
IniDelete, % INI, % (Asc(Associations) ? "" : "-") "Associations"
PostMessage, 1075, 519, 0,, ahk_class TTOTAL_CMD
WinWait, ahk_class TDlgCustomColors
If !ErrorLevel
ControlClick, TButton2,,,, 2
} Else, MsgBox, Error: associations reached 64Kb section limit!
|
Last edited by mf-zl on Mon Apr 29, 2013 03:46; edited 7 times in total |
|
Back to top |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Sun Apr 28, 2013 18:47 Post subject: |
|
|
Обычно прохожу мимо, когда требуется установка самого AutoHotkey. _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
|
mf-zl
Joined: 21 Aug 2005 Posts: 71 Location: BLR
|
(Separately) Posted: Sun Apr 28, 2013 18:50 Post subject: |
|
|
ask-rus
дело конечно ваше, но один раз скачать и установить мощный скриптовый язык - не такая уже и проблема...
ps добавил в шапку exe |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Apr 28, 2013 19:37 Post subject: |
|
|
ask-rus wrote: | требуется установка самого AutoHotkey | Не требуется, как и в отношении AutoIt.
P.S. Не вижу смысла плодить темы. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
LonerD
Joined: 04 Jan 2011 Posts: 1169 Location: Макеевка
|
(Separately) Posted: Sun Apr 28, 2013 20:06 Post subject: |
|
|
mf-zl
В частных случаях скрипт, наверное, выполняет свою функцию. Но из-за нелепых ограничений Тотала в отношении секции ассоциаций - в целом скрипт неработоспособный.
Во-первых, последние четыре строчки - явно лишние, при вызове диалогового окна и нажатия на ОК - можно потерять часть настроенных ассоциаций.
Во-вторых, даже без этих строк скрипт режет ассоциации (пока не пойму причины, видимо, в каких ещё строках ошибки...).
Лучше всего бэкапить ассоциации, а потом восстанавливать их. (или вообще сделать редирект секции [Associations] в отдельный файл, и при отключении - менять этот файл местами с файлом-пустышкой).
ask-rus wrote: | Обычно прохожу мимо, когда требуется установка самого AutoHotkey. |
... и при этом сам пишешь, что используешь скрипты AutoIt...
Где логика?
А при наличии в Тотале внутренних ассоциаций - устанавливать в систему фактически ничего не надо. _________________ Windows 11 | TC DreamLair eternal pre-α |
|
Back to top |
|
|
mf-zl
Joined: 21 Aug 2005 Posts: 71 Location: BLR
|
(Separately) Posted: Sun Apr 28, 2013 21:06 Post subject: |
|
|
LonerD, что же у тебя там такого в конфигах на over64k то ?
у меня, например, весь конфиг, включающий в себя:
wincmd.ini все команды описанные в справке
custom fields 10 шт
dirmenu 70 пунктов
searches на 979 расширений
сolorfilters 28
associations 21 шт
usercmd 40 команд
- занимает 37,8k
скинь конфиг для тэсту, что у тебя там обрезает |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Sun Apr 28, 2013 22:04 Post subject: |
|
|
Объединено с уже существовавшей темой. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
LonerD
Joined: 04 Jan 2011 Posts: 1169 Location: Макеевка
|
(Separately) Posted: Sun Apr 28, 2013 22:38 Post subject: |
|
|
mf-zl
Quote: | что же у тебя там такого в конфигах на over64k то ? |
Associations - 142 секций (99.6 Кб)
DirMenu - 207 пунктов
CustomFields - 41
OverwriteCustomField - 26
HintsCustomField - 26
Extensions - ок. 250 расширений
Searches - 185 секций (70 Кб) - не только расширения
Shortcuts - ок. 500 хоткеев
User - не использую (всё через em_ )
Разрешения экрана - 40 секций
Rename - 36 шаблонов
SyncOptions - 12 шаблонов
Colors - ок. 40 (пока не готовы)
и остального понемножку.
Общий размер wincmd.ini + файлы-редиректы - около 380 Кб (всё разнесено редиректами по 14 файлам).
Главное меню - более 2100 пунктов, 170 Кб (да ещё и на трёх языках, рус и укр уже почти сделаны, а английский - в процессе, пока только схематично).
Пользовательские команды - более 2300 штук, 450 Кб
Панели инструментов - пока в процессе осмысления.
Quote: | для тэсту, что у тебя там обрезает |
В личку. _________________ Windows 11 | TC DreamLair eternal pre-α |
|
Back to top |
|
|
mf-zl
Joined: 21 Aug 2005 Posts: 71 Location: BLR
|
(Separately) Posted: Mon Apr 29, 2013 00:52 Post subject: |
|
|
действительно обрезает, но ровно настолько, насколько это делает и сам TC
IniRead из инишника первые 65533 символов читает
Code: | IniRead, d, associations.ini, Associations
MsgBox, % StrLen(d) |
|
|
Back to top |
|
|
LonerD
Joined: 04 Jan 2011 Posts: 1169 Location: Макеевка
|
(Separately) Posted: Mon Apr 29, 2013 02:16 Post subject: |
|
|
mf-zl wrote: | действительно обрезает, но ровно настолько, насколько это делает и сам TC
IniRead из инишника первые 65533 символов читает |
Жах. Хоть бы в справке упомянули, что сделали такие ограничения.
Кстати, AHK прочитать может даже те ключи, которые находятся в конце ini-файла, как и Тотал. (то есть видятся не только первые символы, а весь файл!).
А обрезает Тотал и AHK по-разному, причём оба странным образом.
Ограничение на количество символов? Тогда откуда цифра 65533 и почему обрезается каждый раз по разному, размер итогового файла варьируется от 66321 до 66340 Кб (даже если отбросить название секции - всё равно получается больше, чем 65533).
Ещё можно было бы предположить, что это какие-то ограничения формата ini... Но ведь с секцией [Searches] Тотал работает корректно, ничего не обрезает при добавлении/удалении ключей этой секции (AHK обкорнал и эту секцию до 66340. Причём размер секции, видимо, неограничен - в сборке TC Image он достигает 250 Кб. _________________ Windows 11 | TC DreamLair eternal pre-α
Last edited by LonerD on Mon Apr 29, 2013 02:31; edited 1 time in total |
|
Back to top |
|
|
mf-zl
Joined: 21 Aug 2005 Posts: 71 Location: BLR
|
(Separately) Posted: Mon Apr 29, 2013 02:26 Post subject: |
|
|
Quote: | Жах. Хоть бы в справке упомянули, что сделали такие ограничения. |
LonerD тебе ведь сам ghisler ответил что есть ограничения на размер секции ini файла:
p.s. Поставил ограничение в скрипте на размер секции |
|
Back to top |
|
|
LonerD
Joined: 04 Jan 2011 Posts: 1169 Location: Макеевка
|
(Separately) Posted: Mon Apr 29, 2013 02:46 Post subject: |
|
|
mf-zl wrote: | сам ghisler ответил что есть ограничения на размер секции ini файла |
Он не пояснил - почему размер обрезанных Тоталом секций почти на 800 символов больше этого ограничения и почему секция Searches в Тотале не обрезается.
Может, 65533 - это не первые символы инишника, а первые символы значений ключей ini-файла?
Но нет - на msdn говорится, что это имена ключей и их значения:
The new key names and associated values that are to be written to the named section. This string is limited to 65,535 bytes.
В общем, пока не удаётся осмыслить это ограничение. _________________ Windows 11 | TC DreamLair eternal pre-α
Last edited by LonerD on Mon Apr 29, 2013 04:01; edited 1 time in total |
|
Back to top |
|
|
mf-zl
Joined: 21 Aug 2005 Posts: 71 Location: BLR
|
(Separately) Posted: Mon Apr 29, 2013 03:11 Post subject: |
|
|
LonerD, насколько я понял имеется ввиду объём содержимого секции в байтах, а не файла.
Плюс стоит учитывать окончание строки и кодировку.
Для ASCII, windows-1251, koi-8, dos-866 - один символ = 1 байт
Unicode - один символ = 2 байта
Utf-8 - один символ от 1 до 6 байтов (латинские символы и стандартные знаки = 1 байт, русские буквы = 2 байта, разные иероглифы могут быть до 6 байтов длиной).
Отсюда и разница в размере выходного файла. |
|
Back to top |
|
|
LonerD
Joined: 04 Jan 2011 Posts: 1169 Location: Макеевка
|
(Separately) Posted: Mon Apr 29, 2013 04:12 Post subject: |
|
|
Quote: | стоит учитывать окончание строки |
Ах вот оно что!
Проверил - точно, оно!
Окончания строк ведь тоже занимаю место в файле, а учитываются только 65533 символов.
А я столько времени не мог понять почему у меня обрезанный файл получается большего размера, чем ограничения . _________________ Windows 11 | TC DreamLair eternal pre-α |
|
Back to top |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Mon Apr 29, 2013 08:44 Post subject: |
|
|
LonerD wrote: | ... и при этом сам пишешь, что используешь скрипты AutoIt... |
Где? Скомпилированные использую, например, TC Multi Comment Edit. Опять же, когда-то стояли в системе AutoIt и AutoHotkey, теперь нет. Носить с собой целый скриптовый язык не хочется. _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
|
|
|
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
|