Autorun
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 119, 120, 121 ... 133, 134, 135  Next  :| |:
Total Commander -> Плагины Total Commander

#1786:  Author: Loopback PostPosted: Fri Sep 30, 2022 02:19
    —
yozhik wrote:
Вы AkelPad пользуетесь? Я сделал для него подсветку синтаксиса autorun.cfg.

Пользуюсь эпизодически, как вторым редактором. Но интересно будет сравнить с моим вариантом Smile Я ее в принципе и собирался выложить после релиза.

yozhik wrote:
Хорошо, но чем тогда CommandExec отличается от SendCommand?

Честно - не помню. Может на тот момент это было не так? В любом случае, сейчас тут уже поздно что-то менять, lеgacy и всё такое...

yozhik wrote:
В описаниях строчных ф-ций намёк на то, что вместо casesense требуется подставлять boolean есть только в StrReplace. Может в др., там где casesense используется, тоже стоит добавить?

Да, пожалуй.

yozhik wrote:
Не хватает запятой перед delim

Все косяки поправлю.

yozhik wrote:
Поэтому, без лишних слов, вот бы часть самых полезных избранных ф-ций из TWinKey реализовать в субплагинах Autorun.

Я Twinkey хоть сколько нибудь долго не пользовался, поэтому полезность этих функций мне не особо очевидна. По описанному алгоритму тоже очевидности не добавляется. Как минимум надо поставить и посмотреть, как это работает. Хотя не стану скрывать, переписывать то, что уже имеется не слишком интересно. И нет, пятью минутами тут не обойтись.

Проблема еще в том, что в данный момент не планируется больше ничего добавлять, может быть только то, что потенциально может повлиять на совместимость (синтаксис). Сейчас только исправления. Иначе релиз никогда не состоится.

В любом случае есть желание максимально уйти от узкоспециализированных функций и переложить это на возможности скриптинга встроенными средствами. Что-то мне подсказывает, что при определенном наборе универсальных функций (в Runtime) можно и эту хотелку будет реализовать. Но не сейчас.

#1787:  Author: ZZZAlexZZZ PostPosted: Fri Sep 30, 2022 09:58
    —
Loopback wrote:
Я ее в принципе и собирался выложить после релиза


yozhik , Loopback Просьба поделиться в двух вариантах подсветкой синтаксиса, очень не хватает.

#1788:  Author: sa PostPosted: Fri Sep 30, 2022 11:16
    —
yozhik wrote:
чем тогда CommandExec отличается от SendCommand? Только тем, что во 2й внутренние команды TC можно передавать числами?

Есть ещё различие: в SendCommand имеется ограничение для параметра - только число.

#1789:  Author: Loopback PostPosted: Fri Sep 30, 2022 15:02
    —
yozhik wrote:
Поэтому, без лишних слов, вот бы часть самых полезных избранных ф-ций из TWinKey реализовать в субплагинах Autorun.

Кстати, тут подсказывают, что есть скриптовый вариант запрашиваемого.

ZZZAlexZZZ
Он совсем сырой, я им практически не занимался. Ну если очень надо, то вот. Сделан на базе кодера от Autoit, так что могут остаться какие-то моменты от него.

#1790:  Author: yozhik PostPosted: Sat Oct 01, 2022 00:01
    —
Loopback
Loopback wrote:
Пользуюсь эпизодически, как вторым редактором.

Очень приятно слышать. Там есть ещё один маленький инструмент, которым Вы, как я понял, не пользуетесь. Понял потому, что в справке к Autorun нет индекса, а он необходим для работы скрипта ChmKeyword.js. С ним если в коде выделить команду или ключевое слово и нажать хоткей (любой назначенный, например у меня это Shift+F1), то справка откроется аккурат на странице этой команды. Можно не выделять, а только поставить курсор на искомое слово. Для работоспособности всего этого нужно, чтобы в AkelPad были установлены плагины Scripts и Hotkeys (они есть в дистрибутиве по умолчанию), и чтобы в справке был создан индекс. Я создал индекс и пересобрал с ним справку. Всё вместе упаковал в один архив на пробу: файл индекса, перепакованная help_ru.chm, скрипт ChmKeyword.js, readme настройки хоткея на запуск скрипта с нужным параметром (не сочтите за ликбез) — всё разложено по нужным папкам, чтобы не путаться. Если интересно, попробуйте, может одобрите и внедрите индекс в справку. Вот ссылка на архив. В нём же дополненная подсветка синтаксиса.

Loopback wrote:
Он совсем сырой, я им практически не занимался. Ну если очень надо, то вот

А-я-яй, недокументированное расширение *.aucfg для файла конфигурации )) С индивидуальным то расширением ChmKeyword.js гораздо лучше работает, т.к. справка будет открываться только из нужного файла, а не из всех *.cfg подряд. Добавьте в справку, пожалуйста, это, пмсм, важная инфа.

В целом, по подсветке:
  1. Переключатели, как я понял, регистронезависимы, но в справке везде в примерах только в верхем регистре. Я у себя в подсветке сделал только в верхнем, так мне показалось лучше.
  2. Помимо блоков для условий и Func я сделал ещё блоки для MsgBox, Sleep и всех строчных ф-ций в обоих синтаксисах — ФЗ и КЗ (как в справке) — хотел и дальше делать, но пока остановился, поскольку не понятна политика предпочтений для остальных команд: их делать и КЗ, и ФЗ, или какие то предпочтительно только в одной форме (ну, за исключением таких случаев как Set). Вот, например, SetEnv можно в ФЗ записать (и работает), так включать эту запись в блоки или лучше SetEnv записывать всегда только в КЗ? В справке для некоторых команд приводятся обе формы, а для некоторых только одна, хотя вторая при этом также возможна. Ориентироваться в этом на справку?
  3. Обратите, пожалуйста, внимание, я сделал у себя ещё подсветку распространённых ошибок. Например:
    • Args подсвечивается только внутри Func;
    • если попытаться набрать комментарий после перевода строки _ то он «покраснеет»;
    • также «покраснеет» ФЗ запись для Set; и др.
    Думаю, это не лишнее, на скорость обработки сколь-либо заметно не влияет.

Loopback wrote:
В любом случае, сейчас тут уже поздно что-то менять, lеgacy и всё такое

Добро. Но я, собственно, более о внятности справки заботился. Просто в соответствующие описания внести уточнения.
Ещё по справке: внутри chm файл sysinfo_funcs.html — на него нет ссылки в оглавлении, видимо он старый и Вы его забыли удалить — это и по его содержанию видно.

Loopback wrote:
Хотя не стану скрывать, переписывать то, что уже имеется

Нет, ну тут всё же существенный момент. Оно раньше имелось, а сейчас уже так не получается уверенно сказать, потому что TWinkey — плагин заброшенный. После выхода TC 10.51 в нём ещё что-то перестало работать (что именно я не запомнил, Avada где-то писал). И то, что из-за него Гислер отрубил родную подсветку табов — это, пмсм, не маленький минус. Поэтому я, например, буду потихоньку от него избавляться, по мере того, как будут находиться способы реализовать другими средствами то, к чему уже привык. Хотя это просто к слову, поскольку:

Loopback wrote:
переложить это на возможности скриптинга встроенными средствами... при определенном наборе универсальных функций (в Runtime) можно и эту хотелку будет реализовать

Прекрасно, коли так. Только у меня ума может не хватить на такое, так что если что, буду тогда помощи просить Smile Но, естественно, не сейчас. После релиза.

Loopback wrote:
есть скриптовый вариант запрашиваемого

Спасибо большое и за вариант, и за то, что помните. Меня в этом способе только одно смущает: получается много обработчиков висят в фоне, наблюдая за одним TC, и Autorun, и TWinkey, теперь ещё и AutoHotkey запускать только ради одной ф-ции. Уж лучше одним Autorun обходиться. Но я попробую вникнуть в скрипт, кто знает, вдруг и хватит ума что-нибудь самостоятельно сделать средствами Autorun.


sa
Quote:
в SendCommand имеется ограничение для параметра - только число

Вот попробовал: "SendCommand cm_Config" — работает. Может раньше было ограничение, а сейчас нет? Или Вы что-то другое имели в виду, а я опять туплю. Embarassed


ZZZAlexZZZ
Да не вопрос. В этом сообщении выше ссылка на архив с исправленной моей версией. А предыдущую я на предыдущей странице выкладывал.

#1791:  Author: sa PostPosted: Sat Oct 01, 2022 01:15
    —
yozhik wrote:
что-то другое имели в виду

У меня не про команду, а про параметр:
help_ru.chm wrote:
параметр      Опциональный числовой параметр для поддерживающих параметры команд (cm_100Percent, cm_Select и т.д.) .

#1792:  Author: Loopback PostPosted: Sat Oct 01, 2022 01:28
    —
yozhik wrote:
Понял потому, что в справке к Autorun нет индекса, а он необходим для работы скрипта ChmKeyword.js. С ним если в коде выделить команду или ключевое слово и нажать хоткей (любой назначенный, например у меня это Shift+F1), то справка откроется аккурат на странице этой команды.

Да, я про эту фичу знаю, пользуюсь так справкой Autoit (правда, в другом редакторе). Скрипт, которым я конвертирую онлайн-справку в chm тоже умеет генерировать индекс, но в прошлой версии это было не особо нужно. Надо заполнить ключевые слова, тогда и индекс появится.

yozhik wrote:
А-я-яй, недокументированное расширение *.aucfg для файла конфигурации ))

Как же недокументированное, раздел "Файл конфигурации". Ну может недостаточно подробно. И в истории изменений упоминал, недавно совсем.

yozhik wrote:
поскольку не понятна политика предпочтений для остальных команд

Тут исключительно по своему вкусу. Любая команда может быть записана как функция и наоборот. Очевидно, что если возвращается значение и нет переключателей, удобнее функциональная запись. При этом, например, IniRead имеет переключатель /R, что уже не очень удобно в ФЗ. А ControlSetMouseAction в ФЗ даже и мысли не возникает записать. Надеюсь, к релизу все же появится некая единая логика и рекомендации по использованию.

yozhik wrote:
Обратите, пожалуйста, внимание, я сделал у себя ещё подсветку распространённых ошибок.

Да, я видел, у AkelPad весьма продвинутая система подсветки, хотя местами очень замороченная. Ближе к делу посмотрю, может и идею какую утащу Smile

yozhik wrote:
также «покраснеет» ФЗ запись для Set

На самом деле это даже не ограничение, точно так же можно и в ФЗ ее записать, просто смысла ноль.
yozhik wrote:
внутри chm файл sysinfo_funcs.html

Да, спасибо, давний косяк конвертера, всё как-то руки не дойдут доработать его.

yozhik wrote:
наблюдая за одним TC, и Autorun, и TWinkey, теперь ещё и AutoHotkey запускать только ради одной ф-ции

Да, это я прекрасно понимаю. Хотя в принципе ничего ужасного в таких связках нет, какого-то существенного влияния на производительность это всё не окажет, поскольку обработчики срабатывают только при возникновении события (например, нажата кнопка).

yozhik wrote:
сделать средствами Autorun.

Я вчера прикидывал, не думаю, что имеющихся функций хватит на реализацию такого...

#1793:  Author: yozhik PostPosted: Sat Oct 01, 2022 02:27
    —
Loopback
При запуске 64-битного TC не работает MsgBox! На 32-битном работает. У меня TC комбинированный (ну, и Win 10 21H2, на всякий случай). Я уж из aucfg всё удалил, оставил один только MsgBox (ну, и Pragma AutorunFinalizeSection). Не работает. Откатился на 2.2.4 — тоже не работает.

Loopback wrote:
в истории изменений упоминал

Да, точно, есть в истории, а я прозевал. А в справке нет.

Loopback wrote:
Надо заполнить ключевые слова, тогда и индекс появится.

А пока не появился, буду своим любоваться Smile

Loopback wrote:
это даже не ограничение, точно так же можно и в ФЗ ее записать, просто смысла ноль

Да, что смысла ноль, это понятно. Но я ради интереса пробовал её в ФЗ по всякому записать — плагин то ругался, то игнорировал. Значит пусть остаётся красной в подсветке.

Loopback wrote:
какого-то существенного влияния на производительность это всё не окажет

Для меня ценен такой отзыв, потому что я сам не очень в этом разбираюсь. Спасибо.

Loopback wrote:
не думаю, что имеющихся функций хватит на реализацию такого...

А вот это очень жаль. Ах, как жаль. Но TWinkey всё равно буду отключать потихоньку.

sa
sa wrote:
У меня не про команду, а про параметр

Ну, вот, второй фэйспалм у меня за неделю Smile Прошу пардону и спасибо.

Добавлено спустя 2 часа 1 минуту:

Loopback
Взялся я в DIALOG_COPYMOVE поправить надпись у чекбокса MD5 (она у меня обрезалась по правому краю, видимо из-за шрифта Segoe UI) и выяснилось, что в 64-бит работа с контролами происходит не так, как ожидалось (при том, что в 32-бит всё чётко). Если при помощи инспектора окон посмотреть instance необходимых контролов, то должен работать такой код:
Code:
If StrPos(%CRNTLNG%, "RUS") > 0 Then
  If %AUTORUN_TCARCH% = 32 Then
    AddDialog DIALOG_COPYMOVE
    AddControl /W:-10     "TMyCheckBox" 3
    AddControl /X:-4 /W:5 "TMyCheckBox" 1
  Else
    AddDialog DIALOG_COPYMOVE
    AddControl /W:-10     "Button" 9
    AddControl /X:-4 /W:5 "Button" 6
  EndIf
EndIf

но он не работает. А работает вот этот:
Code:
If StrPos(%CRNTLNG%, "RUS") > 0 Then
  If %AUTORUN_TCARCH% = 32 Then
    AddDialog DIALOG_COPYMOVE
    AddControl /W:-10     "TMyCheckBox" 3
    AddControl /X:-4 /W:5 "TMyCheckBox" 1
  Else
    AddDialog DIALOG_COPYMOVE
    AddControl /W:-10     "Button" 4
    AddControl /X:-4 /W:5 "Button" 1
  EndIf
EndIf

Т.е. в 64-бит контролы определяются не по их instance, как по идее должно было быть, а по счёту в дереве (не знаю, насколько внятно получилось описать). Это нормальная ситуация?

#1794:  Author: Loopback PostPosted: Sat Oct 01, 2022 13:39
    —
yozhik wrote:
При запуске 64-битного TC не работает MsgBox!

Да, об этом даже в справке написано, что может не работать. Причина до конца не ясна. Может надо бы вернуться к этому вопросу, но время.

yozhik wrote:
А в справке нет.

Есть, только я ошибся с разделом, в "Установке". Добавлю подробнее.

yozhik wrote:
Т.е. в 64-бит контролы определяются не по их instance, как по идее должно было быть, а по счёту в дереве (не знаю, насколько внятно получилось описать). Это нормальная ситуация?

А что такое instance? Это и есть порядковый номер в дереве. С этим лазарусом, смотрю, постоянно какой-то бардак, то комбобоксы не растягиваются, теперь почему-то номера не совпадают. У меня, например, 4 и 1 другие контролы изменяют. Но и 9 с 6 тоже не работают. В 10.51. Не знаю в общем. Меньше всего на свете хочется тратить время на все эти диалоги.

#1795:  Author: yozhik PostPosted: Sat Oct 01, 2022 14:57
    —
Loopback wrote:
С этим лазарусом, смотрю, постоянно какой-то бардак

Эх, вот ведь. Да я то теперь немного разобрался, но только потому, что было ночью время. Если бы не было, то так бы и бросил «несолоно хлебавши». Инспекторы окон, которые у меня есть, включая Au3Info, показывали Button Instance 6. Хорошо, додумался посмотреть дерево в Spy++ и тупо пальцем сверху посчитать: вижу, да, по порядку 6й button, но первые пять отображаются серым цветом, значит возможно они не учитываются. Написал Button 1 — заработало. Много ли пользователей будут этот путь проходить? Обычно же как: справку прочёл, сделал как написано, если не работает, то прости-прощай.

Loopback wrote:
В 10.51.

Да, я тоже в нём.

Loopback wrote:
Меньше всего на свете хочется тратить время на все эти диалоги.

Хорошо.
Code:
SetHotkeyAction /K:C /K:S /H:N SendCommand cm_Config

В 32-бит работает до N раза. Нажимаю — открывает окно Конфигурация, как и должен. И так до 5 раз. На 6й раз открывает диалог Соединение ftp (т.е. тот, который в TC на Ctrl+Shift+N по умолчанию) и после этого Конфигурацию уже не открывает ни разу. И так до перезагрузки TC. Иной раз на 5й раз слетает, иной раз на 6й, иной — на 10й. В 64-бит всё работает чётко. И ещё, из справки:
Quote:
Внутренняя команда Autorun. Если не задана, то никакого действия выполняться не будет, а имеющееся действие данного сочетания будет заблокировано.

Т.е. при записи «SetHotkeyAction /K:C /K:S /H:N» ничего не должно происходить, в том числе и «имеющееся действие», т.е. умолчательное в TC — открытие диалога ftp. Так? Но у меня ftp открывается.

#1796:  Author: Loopback PostPosted: Sat Oct 01, 2022 18:40
    —
yozhik wrote:
Много ли пользователей будут этот путь проходить? Обычно же как: справку прочёл, сделал как написано, если не работает, то прости-прощай.

Да, поведение разумеется ненормальное, но у меня пока нет идей, почему так может быть, и нет времени, чтобы с этим разбираться.
yozhik wrote:
В 32-бит работает до N раза.

В своей текущей версии не смог повторить, много раз тыкал. Так что возможно уже исправлено. Если в следующей бете сохранится проблема, тогда будем смотреть.
yozhik wrote:
Т.е. при записи «SetHotkeyAction /K:C /K:S /H:N» ничего не должно происходить

Знаю про этот баг, уже исправлено.

#1797:  Author: jentoso PostPosted: Sat Oct 01, 2022 20:17
    —
yozhik wrote:
скрипт ChmKeyword.js

В самом скрипте зашито место размещения справки?

#1798:  Author: yozhik PostPosted: Sat Oct 01, 2022 21:53
    —
jentoso
Нет, параметром -File= передаётся вместе с расширением. В архиве выше я запаковал пример. Вот ещё другой вариант/пример, с подгрузкой из внешнего файла. Если об этом продолжать, то давайте, пожалуйста, лучше в тему Akel'я на руборде переедем или в ПМ, а то влетит обоим за офтоп)).

Loopback
Loopback wrote:
нет времени, чтобы с этим разбираться

Добро, добро. Я то в целом всем доволен. Ждём новую бету.

#1799:  Author: Loopback PostPosted: Mon Oct 03, 2022 14:41
    —
Версия 2.2.8 beta

+ прописаны ключевые слова для индекса в справке
* дополнены и документированы неявные преобразования типов в условиях
- исправлено падение ТК при установке плагина через интерфейс в опциях
+ Tweaks: дополнительные опции выравнивания меню для ShowPopupMenu
- Tweaks: пустая команда в SetHotkeyAction не блокировала заданную комбинацию клавиш
- Tweaks: исправлена работа модификатора Alt в SetHotkeyAction
- исправлено падение ТК x64 при попытке чтения файлов (например, в LngRead), если переданное имя было каталогом
- определение факта отсутствия закрывающих блоков (EndIf, EndFunc и т.д.)

#1800:  Author: imig73Location: г. Иркутск PostPosted: Mon Oct 03, 2022 18:56
    —
Loopback
Всё по делу, всё клёво и очень впечатляет что плагин развивается. Просто респект и уважуха. Тока ссылка на закачку в полном игноре у программы Dounload Manager, качаем браузером.



Total Commander -> Плагины Total Commander


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

Goto page Previous  1, 2, 3 ... 119, 120, 121 ... 133, 134, 135  Next  :| |:
Page 120 of 135

Powered by phpBB © 2001, 2005 phpBB Group