View previous topic :: View next topic |
Author |
Message |
Loopback
Joined: 07 Sep 2009 Posts: 1316
|
(Separately) Posted: Tue Mar 08, 2022 23:20 Post subject: |
|
|
Kirr
Возможность присвоить переменной пустое значение было сделано специально, поскольку ТК где-то примерно с 9 версии поддерживает такие переменные, а их использование весьма удобно для разных целей, например, для неявного построения путей к программам в 32/64 битных системах. Поэтому смысла копировать стандартное поведение с удалением переменной я не вижу.
Если найдется сценарий, когда наличие или отсутствие переменной критично, наверно, можно будет добавить переключатель или отдельную функцию для удаления переменной. Но пока, как вы сами заметили, результат идентичен в обоих случаях. |
|
Back to top |
|
|
Kirr
Joined: 17 Jun 2014 Posts: 3
|
(Separately) Posted: Fri Mar 11, 2022 00:41 Post subject: |
|
|
Loopback, спасибо за отклик!
Ок. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1316
|
(Separately) Posted: Fri Sep 16, 2022 19:54 Post subject: |
|
|
Версия 2.2.5 beta
Незаметно прошло два года с последней версии... Надеюсь, что всё же скоро будет логическое завершение, во всяком случае на данный момент всё что хотелось добавить в движок - добавлено, все найденные косяки - исправлены. Осталось сделать английскую версию справки.
+ добавлена функция SetError для пользовательских функций
- макрос ERROR был полностью неработоспособен в бета-версиях
* проверены, оптимизированы и почищены сообщения об ошибках
+ Sysinfo: добавлена поддержка новых ОС в переменной SYSINFO_OSVERSION
- исправлена и дополнена обработка ошибок в Args
+ можно использовать aucfg в качестве возможного расширения для файла конфигурации
+ ShowPopupMenu теперь доступна как отдельная функция
+ Tweaks: добавлена команда SetMessageAction
- функции StrPos и StrReplace неправильно обрабатывали пустые параметры
* Tweaks: ControlSetMouseAction выполнение команд вынесено в отдельный поток
* изменена логика загрузки перевода: при отсутствии Pragma AutorunLanguage будет загружен язык, установленный в ТК
+ добавлено условие Switch..Case..EndSwitch
- исправлена проблема с появлением случайных ошибок в процессе бесконечного рабочего цикла
+ доработан парсер, загрузка теперь не продолжается после обнаружения фатальной ошибки синтаксиса в выражении
* парсинг скрипта перенесен в поток для устранения проблем с отображением сообщений об ошибках
- при вызове функции из ControlSetMouseAction и использовании Sleep основное окно ТК больше не подвешивается
+ добавлен плагин Runtime
- при добавлении функции из плагина была возможность добавления дубликата
+ формальная проверка корректности записи чисел при парсинге
+ поддержка чисел в hex-формате, например: 0xFF, 0x45AB и т.д. (только в функциональной записи)
+ API: дополнительные коды фатальных ошибок и их обработка
+ добавлена подсветка синтакисиса кода в онлайн и оффлайн версиях справки
+ новая справка (пока только русская)
+ разрешено использование строчных комментариев в конце выражений
+ поддержка переменных в параметре CommandExec
+ предотвращение ситуаций с существованием глобальной переменной и переменной окружения с одним именем
+ добавлены функции Chr, Asc, StrCompare, адаптированы StrPos, StrReplace, StrPart
- исправлен древний баг, когда Autorun не мог загрузить свои субплагины при открытом в ТК каталоге Autorun
+ добавлены специальные константы auCRLF, auCR, auLF, auTAB
+ Tweaks: добавлена команда SetHotkeyAction
+ Tweaks: динамические меню
+ Tweaks: добавлены опции выравнивания меню |
|
Back to top |
|
|
gogoshar
Joined: 29 Sep 2020 Posts: 3
|
(Separately) Posted: Sat Sep 17, 2022 12:59 Post subject: |
|
|
Версия 2.2.5 beta
При установке TC10.51 падает |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1316
|
(Separately) Posted: Sat Sep 17, 2022 14:08 Post subject: |
|
|
gogoshar
Очень информативно
Я тестирую на том же 10.51 и ничего не падает.
Как минимум:
Новая установка или уже была предыдущая версия?
Если новая - конфиг создан?
Если старая, то что-то менялось в конфиге?
Если менялось - надо попробовать отключить последовательно команды в конфиге и посмотреть, что может давать такой эффект.
Какая ошибка в конце-концов. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1316
|
(Separately) Posted: Sun Sep 18, 2022 13:35 Post subject: |
|
|
Версия 2.2.6 beta
- исправлена обработка последнего параметра при вызове функций из Runtime
- исправлена функция Sleep для значений не кратных 10
+ дополнена функция ItemAtCursor
- исправлена функция RequestInfo
- исправлена ошибка неправильного типа с оператором not
- исправлена ошибка с унарным минусом в выражениях c операторами сравнения
- исправлена неработоспособность директивы LegacyExpression |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2597
|
(Separately) Posted: Wed Sep 21, 2022 12:11 Post subject: |
|
|
Loopback
Спасибо за развитие плагина!
Loopback wrote: | + Tweaks: добавлена команда SetHotkeyAction |
Quote: | Основное преимущество данной команды над стандартным функционалом горячих клавиш в Total Commander в том, что установленные сочетания также работают в командной строке, а не только в панелях. |
Хотел уточнить. Попробовал в TC из командной строки комбинацию Ctrl+B – работает (с автоматическим переходом в панель). Или имеются ввиду клавиши вроде "Home", "End"? |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1316
|
(Separately) Posted: Wed Sep 21, 2022 14:54 Post subject: |
|
|
sa
В принципе можно переопределить любые хоткеи, можно и "Home", "End", но все же думаю ломать себе стандартный функционал никто не захочет. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2597
|
(Separately) Posted: Wed Sep 21, 2022 15:00 Post subject: |
|
|
Loopback
Я имел ввиду, что Ctrl+B работает из командной строки и в стандартном функционале (без плагина). Или не так? |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1316
|
(Separately) Posted: Wed Sep 21, 2022 16:02 Post subject: |
|
|
sa
А, ну это да. Имелись в виду пользовательские сочетания, которые не работают в командной строке. А некоторые сочетания (например Win+C), у меня вообще нигде не работали, даже в панелях. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2597
|
(Separately) Posted: Wed Sep 21, 2022 16:57 Post subject: |
|
|
Loopback wrote: | например Win+C |
Понятно, спасибо! |
|
Back to top |
|
|
jentoso
Joined: 20 Dec 2007 Posts: 355
|
(Separately) Posted: Sun Sep 25, 2022 16:26 Post subject: |
|
|
Как "заставить" вносить в реестр значение в виде пути до файла, а не отдельными разделами реестра?
Code: | RegWrite "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" "d:\\TESTING\\hwmonitor\\HWMonitor_x64.exe" REG_SZ "RUNASINVOKER" |
Code: | d:\\TESTING\\hwmonitor\\HWMonitor_x64.exe |
В итоге создается не значение, а отдельные разделы (\ или \\ не влияет на результат). _________________ TC 11.03 combo, Windows 10 x64 |
|
Back to top |
|
|
yozhik
Joined: 04 May 2014 Posts: 212 Location: Электросталь
|
(Separately) Posted: Mon Sep 26, 2022 00:21 Post subject: |
|
|
Loopback, доброго здоровья!
Прошу заранее пардону, если туплю, но что-то я запутался. Вот у меня запущена программа "c:\totalcmd\utils\Everything64.exe". В консоли (comspec) по команде TASKLIST процесс выглядит как "Everything64.exe". Процесс работает, т.о. ф-ция ProcessExist() плагина должна возвращать 1, если я правильно её вызвал. У меня 1 возвращает одна только единственная запись (регистронезависимо):
Code: | MsgBox(ProcessExist("Everything64.exe")) |
Остальные варианты возвращают 0 (хотя должно быть 1, ведь процесс то есть):
Code: | MsgBox(ProcessExist("~/F", "c:\totalcmd\utils\Everything64.exe"))
MsgBox(ProcessExist("/F", "c:\totalcmd\utils\Everything64.exe"))
MsgBox(ProcessExist("c:\totalcmd\utils\Everything64.exe"))
MsgBox(ProcessExist("Everything"))
MsgBox(ProcessExist(%EVERYTHING%)) |
Если «Имя процесса», как написано в справке, это строго имя процесса, без пути (как в TASKLIST, и как в AutoIt), то зачем тогда ключ "/F"? Подскажите, пожалуйста, может я чего недодумал. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1316
|
(Separately) Posted: Mon Sep 26, 2022 00:29 Post subject: |
|
|
jentoso
Даа, мощный косяк всплыл. Проблема в том, что для работы с реестром я брал какую-то готовую библиотеку, а ее автор почему-то решил передавать ключ и имя параметра одной строкой. Соответственно, придется изрядно переделать библиотеку, чтобы разделить их и реализовать поддержку ключей с такими именами.
yozhik
Quote: | Остальные варианты возвращают 0 (хотя должно быть 1, ведь процесс то есть): |
Не смог подтвердить. Предполагая, что переменная EVERYTHING содержит полный путь, работает изначально вариант 1. Вариант 2 неправильный, 3, 4, 5 разумеется не будет т.к. полный путь без /F.
4 и 5 правильно будет так:
MsgBox(ProcessExist("~/F", Everything))
MsgBox(ProcessExist("~/F", %EVERYTHING%)) |
|
Back to top |
|
|
yozhik
Joined: 04 May 2014 Posts: 212 Location: Электросталь
|
(Separately) Posted: Mon Sep 26, 2022 16:21 Post subject: |
|
|
Loopback wrote: | работает изначально вариант 1 |
Да, я из этого исходил. Но поскольку вчера этот вариант упорно возвращал 0, я стал тыкать «на авось» в другие всевозможные комбинации. Сегодня этот же самый вариант возвращает 1. Сижу теперь, отгоняю настойчивые мистические толкования произошедшего.
Назрела хотелка. Поскольку благодаря Tweaks на функциональные кнопки (клавиши) теперь можно навесить много всего полезного (и это помимо стандартных возможностей TC), становится насущной необходимость во всплывающей для них подсказке, где можно наглядно перечислить что конкретно на каждую навешено. Я вот себе смастерил костыль на AutoIt, но он именно что костыль, потому что вызывается по Alt+ПКМ через ControlSetMouseAction (а не по наведении), ну и вообще самодеятельный, хотя и работает:
Можно ли придумать что-то в этом роде? Только очень желательно, чтобы в таких подсказках было доступно простейшее форматирование при помощи табов и переводов строки. |
|
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
|