Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Autorun
Goto page Previous  1, 2, 3 ... 119, 120, 121 ... 130, 131, 132  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Fri Sep 30, 2022 02:19    Post subject: Reply with quote

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) можно и эту хотелку будет реализовать. Но не сейчас.
Back to top
View user's profile Send private message
ZZZAlexZZZ



Joined: 08 Mar 2014
Posts: 68

Post (Separately) Posted: Fri Sep 30, 2022 09:58    Post subject: Reply with quote

Loopback wrote:
Я ее в принципе и собирался выложить после релиза


yozhik , Loopback Просьба поделиться в двух вариантах подсветкой синтаксиса, очень не хватает.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2563

Post (Separately) Posted: Fri Sep 30, 2022 11:16    Post subject: Reply with quote

yozhik wrote:
чем тогда CommandExec отличается от SendCommand? Только тем, что во 2й внутренние команды TC можно передавать числами?

Есть ещё различие: в SendCommand имеется ограничение для параметра - только число.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Fri Sep 30, 2022 15:02    Post subject: Reply with quote

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

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

ZZZAlexZZZ
Он совсем сырой, я им практически не занимался. Ну если очень надо, то вот. Сделан на базе кодера от Autoit, так что могут остаться какие-то моменты от него.
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 178

Post (Separately) Posted: Sat Oct 01, 2022 00:01    Post subject: Reply with quote

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
Да не вопрос. В этом сообщении выше ссылка на архив с исправленной моей версией. А предыдущую я на предыдущей странице выкладывал.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2563

Post (Separately) Posted: Sat Oct 01, 2022 01:15    Post subject: Reply with quote

yozhik wrote:
что-то другое имели в виду

У меня не про команду, а про параметр:
help_ru.chm wrote:
параметр      Опциональный числовой параметр для поддерживающих параметры команд (cm_100Percent, cm_Select и т.д.) .
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Sat Oct 01, 2022 01:28    Post subject: Reply with quote

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.

Я вчера прикидывал, не думаю, что имеющихся функций хватит на реализацию такого...
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 178

Post (Separately) Posted: Sat Oct 01, 2022 02:27    Post subject: Reply with quote

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, как по идее должно было быть, а по счёту в дереве (не знаю, насколько внятно получилось описать). Это нормальная ситуация?
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Sat Oct 01, 2022 13:39    Post subject: Reply with quote

yozhik wrote:
При запуске 64-битного TC не работает MsgBox!

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

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

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

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

А что такое instance? Это и есть порядковый номер в дереве. С этим лазарусом, смотрю, постоянно какой-то бардак, то комбобоксы не растягиваются, теперь почему-то номера не совпадают. У меня, например, 4 и 1 другие контролы изменяют. Но и 9 с 6 тоже не работают. В 10.51. Не знаю в общем. Меньше всего на свете хочется тратить время на все эти диалоги.
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 178

Post (Separately) Posted: Sat Oct 01, 2022 14:57    Post subject: Reply with quote

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 открывается.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Sat Oct 01, 2022 18:40    Post subject: Reply with quote

yozhik wrote:
Много ли пользователей будут этот путь проходить? Обычно же как: справку прочёл, сделал как написано, если не работает, то прости-прощай.

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

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

Знаю про этот баг, уже исправлено.
Back to top
View user's profile Send private message
jentoso



Joined: 20 Dec 2007
Posts: 346

Post (Separately) Posted: Sat Oct 01, 2022 20:17    Post subject: Reply with quote

yozhik wrote:
скрипт ChmKeyword.js

В самом скрипте зашито место размещения справки?
_________________
TC 11.03 combo, Windows 10 x64
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 178

Post (Separately) Posted: Sat Oct 01, 2022 21:53    Post subject: Reply with quote

jentoso
Нет, параметром -File= передаётся вместе с расширением. В архиве выше я запаковал пример. Вот ещё другой вариант/пример, с подгрузкой из внешнего файла. Если об этом продолжать, то давайте, пожалуйста, лучше в тему Akel'я на руборде переедем или в ПМ, а то влетит обоим за офтоп)).

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

Добро, добро. Я то в целом всем доволен. Ждём новую бету.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Mon Oct 03, 2022 14:41    Post subject: Reply with quote

Версия 2.2.8 beta

+ прописаны ключевые слова для индекса в справке
* дополнены и документированы неявные преобразования типов в условиях
- исправлено падение ТК при установке плагина через интерфейс в опциях
+ Tweaks: дополнительные опции выравнивания меню для ShowPopupMenu
- Tweaks: пустая команда в SetHotkeyAction не блокировала заданную комбинацию клавиш
- Tweaks: исправлена работа модификатора Alt в SetHotkeyAction
- исправлено падение ТК x64 при попытке чтения файлов (например, в LngRead), если переданное имя было каталогом
- определение факта отсутствия закрывающих блоков (EndIf, EndFunc и т.д.)
Back to top
View user's profile Send private message
imig73



Joined: 18 Jun 2013
Posts: 279
Location: г. Иркутск

Post (Separately) Posted: Mon Oct 03, 2022 18:56    Post subject: Reply with quote

Loopback
Всё по делу, всё клёво и очень впечатляет что плагин развивается. Просто респект и уважуха. Тока ссылка на закачку в полном игноре у программы Dounload Manager, качаем браузером.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 119, 120, 121 ... 130, 131, 132  Next
Page 120 of 132

 
Jump to:  
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