Кнопка вкл\выкл "внутренние ассоциации"
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 8, 9, 10, 11  Next  :| |:
Total Commander -> Автоматизация Total Commander

#121: AHK_L переключение ассоциаций без перезапуска TC Author: mf-zlLocation: BLR PostPosted: Sun Apr 28, 2013 18:40
    —
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

#122:  Author: ask-rusLocation: Russian Federation PostPosted: Sun Apr 28, 2013 18:47
    —
Обычно прохожу мимо, когда требуется установка самого AutoHotkey.

#123:  Author: mf-zlLocation: BLR PostPosted: Sun Apr 28, 2013 18:50
    —
ask-rus
дело конечно ваше, но один раз скачать и установить мощный скриптовый язык - не такая уже и проблема...

ps добавил в шапку exe

#124:  Author: FlasherLocation: Москва PostPosted: Sun Apr 28, 2013 19:37
    —
ask-rus wrote:
требуется установка самого AutoHotkey
Не требуется, как и в отношении AutoIt.

P.S. Не вижу смысла плодить темы.

#125:  Author: LonerDLocation: Донецк PostPosted: Sun Apr 28, 2013 20:06
    —
mf-zl
В частных случаях скрипт, наверное, выполняет свою функцию. Но из-за нелепых ограничений Тотала в отношении секции ассоциаций - в целом скрипт неработоспособный.
Во-первых, последние четыре строчки - явно лишние, при вызове диалогового окна и нажатия на ОК - можно потерять часть настроенных ассоциаций.
Во-вторых, даже без этих строк скрипт режет ассоциации (пока не пойму причины, видимо, в каких ещё строках ошибки...).

Лучше всего бэкапить ассоциации, а потом восстанавливать их. (или вообще сделать редирект секции [Associations] в отдельный файл, и при отключении - менять этот файл местами с файлом-пустышкой).

ask-rus wrote:
Обычно прохожу мимо, когда требуется установка самого AutoHotkey.

... и при этом сам пишешь, что используешь скрипты AutoIt...
Где логика?
А при наличии в Тотале внутренних ассоциаций - устанавливать в систему фактически ничего не надо.

#126:  Author: mf-zlLocation: BLR PostPosted: Sun Apr 28, 2013 21:06
    —
LonerD, что же у тебя там такого в конфигах на over64k то ? Shocked

у меня, например, весь конфиг, включающий в себя:
wincmd.ini все команды описанные в справке
custom fields 10 шт
dirmenu 70 пунктов
searches на 979 расширений
сolorfilters 28
associations 21 шт
usercmd 40 команд

- занимает 37,8k

скинь конфиг для тэсту, что у тебя там обрезает Rolling Eyes

#127:  Author: AvadaLocation: Россия, Саратов PostPosted: Sun Apr 28, 2013 22:04
    —
Объединено с уже существовавшей темой.

#128:  Author: LonerDLocation: Донецк PostPosted: Sun Apr 28, 2013 22:38
    —
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:
для тэсту, что у тебя там обрезает

В личку.

#129:  Author: mf-zlLocation: BLR PostPosted: Mon Apr 29, 2013 00:52
    —
действительно обрезает, но ровно настолько, насколько это делает и сам TC Sad
IniRead из инишника первые 65533 символов читает
Code:
IniRead, d, associations.ini, Associations
MsgBox, % StrLen(d)

#130:  Author: LonerDLocation: Донецк PostPosted: Mon Apr 29, 2013 02:16
    —
mf-zl wrote:
действительно обрезает, но ровно настолько, насколько это делает и сам TC Sad
IniRead из инишника первые 65533 символов читает

Жах. Хоть бы в справке упомянули, что сделали такие ограничения.
Кстати, AHK прочитать может даже те ключи, которые находятся в конце ini-файла, как и Тотал. (то есть видятся не только первые символы, а весь файл!).

А обрезает Тотал и AHK по-разному, причём оба странным образом.
Ограничение на количество символов? Тогда откуда цифра 65533 и почему обрезается каждый раз по разному, размер итогового файла варьируется от 66321 до 66340 Кб (даже если отбросить название секции - всё равно получается больше, чем 65533).

Ещё можно было бы предположить, что это какие-то ограничения формата ini... Но ведь с секцией [Searches] Тотал работает корректно, ничего не обрезает при добавлении/удалении ключей этой секции (AHK обкорнал и эту секцию до 66340. Причём размер секции, видимо, неограничен - в сборке TC Image он достигает 250 Кб.


Last edited by LonerD on Mon Apr 29, 2013 02:31; edited 1 time in total

#131:  Author: mf-zlLocation: BLR PostPosted: Mon Apr 29, 2013 02:26
    —
Quote:
Жах. Хоть бы в справке упомянули, что сделали такие ограничения.

LonerD тебе ведь сам ghisler ответил что есть ограничения на размер секции ini файла:
Quote:
According to Microsoft, each section in an ini file is limited to 64 kBytes: http://msdn.microsoft.com/en-us/library/windows/desktop/ms725500%28v=vs.85%29.aspx


p.s. Поставил ограничение в скрипте на размер секции

#132:  Author: LonerDLocation: Донецк PostPosted: Mon Apr 29, 2013 02:46
    —
mf-zl wrote:
сам ghisler ответил что есть ограничения на размер секции ini файла

Он не пояснил - почему размер обрезанных Тоталом секций почти на 800 символов больше этого ограничения и почему секция Searches в Тотале не обрезается.

Neutral Может, 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.

В общем, пока не удаётся осмыслить это ограничение.


Last edited by LonerD on Mon Apr 29, 2013 04:01; edited 1 time in total

#133:  Author: mf-zlLocation: BLR PostPosted: Mon Apr 29, 2013 03:11
    —
LonerD, насколько я понял имеется ввиду объём содержимого секции в байтах, а не файла.
Плюс стоит учитывать окончание строки и кодировку.

Для ASCII, windows-1251, koi-8, dos-866 - один символ = 1 байт
Unicode - один символ = 2 байта
Utf-8 - один символ от 1 до 6 байтов (латинские символы и стандартные знаки = 1 байт, русские буквы = 2 байта, разные иероглифы могут быть до 6 байтов длиной).


Отсюда и разница в размере выходного файла. Idea

#134:  Author: LonerDLocation: Донецк PostPosted: Mon Apr 29, 2013 04:12
    —
Quote:
стоит учитывать окончание строки

Ах вот оно что! Very Happy
Проверил - точно, оно!
Окончания строк ведь тоже занимаю место в файле, а учитываются только 65533 символов. Idea
А я столько времени не мог понять почему у меня обрезанный файл получается большего размера, чем ограничения Rolling Eyes .

#135:  Author: ask-rusLocation: Russian Federation PostPosted: Mon Apr 29, 2013 08:44
    —
LonerD wrote:
... и при этом сам пишешь, что используешь скрипты AutoIt...

Где? Surprised Скомпилированные использую, например, TC Multi Comment Edit. Опять же, когда-то стояли в системе AutoIt и AutoHotkey, теперь нет. Носить с собой целый скриптовый язык не хочется.



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3 ... 8, 9, 10, 11  Next  :| |:
Page 9 of 11

Powered by phpBB © 2001, 2005 phpBB Group