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

#1486:  Author: Loopback PostPosted: Tue Mar 17, 2020 00:14
    —
И снова здравствуйте :)

Наконец, новая версия:

Code:
2.0.8
+ добавлена команда StrPart
+ добавлена команда GetCpuInfo в плагин Sysinfo


Также выкладываю тестовую версию нового подплагина, позволяющего назначать на различные элементы главного окна тотала действия мышью. В процессе обновления своей сборки на 9.50 наткнулся на просторах на одну утилитку на Аutoit (rcmenuimg), предоставляющую похожий функционал. На функциональных кнопках она у меня так и не заработала, а там где заработала - работала как-то не очень устойчиво, да еще и лишний процесс в памяти. Но сама идея зацепила, особенно возможность назначить контекстные меню на незадействованные функциональные кнопки.

Предварительный синтасксис:

Code:
ControlSetMouseAction [switches] "" <индекс контрола> <CMD|EMCMD> <команда>


/R /L /M - соответствующие кнопки мыши, срабатывает на нажатие
/R:U /L:U /M:U - то же, но на отпускание
/R:D /L:D /M:D - даблклик

/W - колесо (в любую сторону)
/W:F - колесо вперед
/W:R - колесо назад

Для всех вариантов возможны модификаторы:
/K:C /K:S /K:A - Ctrl, Shift, Alt

Для колеса как модификаторы также можно использовать другие кнопки мыши
/K:R /K:L /K:M /K:X1 /K:X2
Теоретически, если верить Microsoft, их можно и как комбинацию для других кнопок мыши использовать, но я что-то с трудом такой вариант представляю.

Специальный параметр:
/B:1 - /B:7
Применяется для указания нужной кнопки на нижней панели.


<индекс контрола> - в тотале 9.0, оказывается, появилась возможность быстро, надежно и единообразно для любой битности получать хэндлы элементов окна через сообщение WM_USER+50. Список индексов, найден на ghisler.ch:

 Hidden text


Сначала начал делать "классическим" методом, Class+Instance, но потом обнаружил эту замечательную возможность. Старый метод буду убирать, все элементы главного окна доступны новым методом.

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

Примеры:

Code:
ControlSetMouseAction /R /B:7 "" 17 EMCMD em_tcutils_tcmenupopup %COMMANDER_PATH%\Config\Exit.mnu

Открывает меню через утилиту TcPopupMenu по правому клику на кнопке выхода в нижней панели.

Code:
ControlSetMouseAction /W:F /K:R "" 7 CMD 570
ControlSetMouseAction /W:R /K:R "" 7 CMD 571

Листает колесом историю каталогов при наведении на левую панель размера файлов и нажатой правой кнопке мыши (аналогично встроенной возможности листать историю колесом с зажатым Shift).

#1487:  Author: FlasherLocation: Москва PostPosted: Tue Mar 17, 2020 02:18
    —
Loopback
И снова приветствуем. )

Спасибо за запрошенные GetCpuInfo (7 лет, етить-колотить! Surprised) и StrPart! Проверку прошли на ура! Smile
ControlSetMouseAction — неплохая идея. Вероятно, поможет избавиться от парочки резидентных скриптов вроде этого. Может, и с прокруткой табов справится с учётом?
Жаль только что-то посложнее (1, 2) не сделать. Sad
С функц. клавишами, правда, не срастётся, панель у меня убрана за ненадобностью.
К слову, у WM_USER+50 темка имеется.

Мой вопрос видел? А от Avada?

Смотрю, последняя порция правок в help так и не внесена.
/С для 19 команд и /SW_SHOWNOACTIVATE также подвисли в ожидании.

#1488:  Author: Loopback PostPosted: Tue Mar 17, 2020 16:56
    —
Flasher wrote:

Спасибо за запрошенные GetCpuInfo (7 лет, етить-колотить! Surprised)

Сам не ожидал, думал эпопея в прошлом году началась, а оно аж с 13 года Very Happy
Flasher wrote:

Может, и с прокруткой табов справится с учётом?


Такая конструкция будет работать, но только для активного окна, так работают команды 3005/3006.
Code:
ControlSetMouseAction /W:F "" 26 CMD 3006
ControlSetMouseAction /W:R "" 26 CMD 3005
ControlSetMouseAction /W:F "" 27 CMD 3006
ControlSetMouseAction /W:R "" 27 CMD 3005


Flasher wrote:

Жаль только что-то посложнее

Ну оно и не планировалось как комбайн.

Flasher wrote:

Мой вопрос видел? А от Avada?

Видел. Просто урезать нельзя. Нечто отдаленно похожее организуется работой с регионами (пример на Autoit), но результат выглядит крайне коряво.

Да и вообще, я уже писал, что у меня давно нет интереса к курочению окон тотала. Последняя версия плагина делалась с расчетом, чтобы больше мне к нему не возвращаться, функционал я считаю исчерпывающим. Вот только не надо было оставлять "простой" режим Confused А режим NARROW теперь совсем всё, можно его убирать.

Для 32 битной версии 9.50 сейчас стандартным можно считать такой вариант:

Code:

AddCondition /VISIBLE:1 "TButton" 2
AddControl /X:17 /Y:-74 /W:-20 "TButton" 2
AddControl /X:109 "TButton" 1
AddControl /X:109 "TButton" 3
AddControl /X:109 "TButton" 4
AddControl /X:109 "TButton" 5

AddDialog DIALOG_COPYMOVE_PINNED
AddControl /X:109 "TButton" 1
AddControl /X:109 "TButton" 3
AddControl /X:109 "TButton" 4
AddControl /X:109 "TButton" 5


С 64 всё стало сложнее. Тов. Гислер почему-то передумал прятать кнопку "Опции" при открытии прикрепленного окна. Он теперь ее уводит за пределы окна. Соответственно, условие перестало работать. Придется где-то допиливать.
Нет, это кажется в другом месте ошибка: плагин не понимает RedirectSection. В любом случае надо исправить.

Flasher wrote:

Смотрю, последняя порция правок в help так и не внесена.

Вижу только 2 правки от 30 октября, из них одна учтена. Вторая: /QUEUEBTN давно упразднён и не работает в коде.

Flasher wrote:

/С для 19 команд и /SW_SHOWNOACTIVATE также подвисли в ожидании.

SW_SHOWNOACTIVATE сделал, в след. версии.

А вот /C потому и подвисли, что "19" команд... куча работы. Да и при ближайшем рассмотрении всё не так просто и очевидно, как может показаться.

Если в команде присутствует числовое значение (StrLeft, StrMid и т.д.) - его при наличии ключа /С можно смело вычислять. В принципе это логично и может сократить лишние Set-ы. Хотя для Sleep и SendCommand - это называется сделать только ради того, чтобы было.

А вот целесообразность использования в командах со строчными значениями (например IniRead, MsgBox, а особенно GetUptime) мне неочевидна. Блок вычисления не работает со строками, т.е. при использовании вычисления теряется возможность конкатенации. Т.е. при любых вычислениях на выходе будет число или True/False.

Тут еще возникает проблема в случае, когда в команде более одного параметра. Какое из них вычислять? Вычислять все будет неправильно. Пример: строка "Button-1" без вычисления вернет "Button-1", а с вычислением "-1", т.к. для арифметической операции строка "Button" воспринимается как 0. Следовательно, придется городить еще какой-то механизм задания вычисляемых параметров.

#1489:  Author: FlasherLocation: Москва PostPosted: Tue Mar 17, 2020 19:13
    —
Loopback wrote:
Такая конструкция будет работать, но только для активного окна
У меня на TC 9.51 RC5 x32 не завелось. Отключение ScrollTC не помогает.
Loopback wrote:
Ну оно и не планировалось как комбайн.
Но вообще ты подумай над самой фичей с Esc. Может, и без плагина удастся добавить.

Loopback wrote:
Видел. Просто урезать нельзя.
Жаль.

Loopback wrote:
А режим NARROW теперь совсем всё, можно его убирать.
О как. )

Loopback wrote:
Вижу только 2 правки от 30 октября, из них одна учтена.
См. 3 сообщения от 20 и 26 июля.

Loopback wrote:
всё не так просто и очевидно, как может показаться.
А казалось именно так. Smile
Loopback wrote:
Хотя для Sleep и SendCommand - это называется сделать только ради того, чтобы было.
В слипе может быть множитель (коэффициент) для предусловий выполнений без ожидания.
А в SendCommand — сложение и вычитание для сопряжённых (левая/правая либо активная/пассивная панель) индексов команд. В приведённом скрипте с Esc для SendMessage это можно наблюдать. WM_USER+50 тут как раз кстати. Как пример — первые пару условий для Select Case.

Loopback wrote:
А вот целесообразность использования в командах со строчными значениями (например IniRead, MsgBox, а особенно GetUptime) мне неочевидна.
Для IniRead в отличии от IniWrite не столь важно.
MsgBox нужен для отладки. Там смысл расчётов при получении нужного числа для потенциальной вставки формулы в другую команду вполне очевиден.
Аналогично и в отношении получения санти/децисекунд для GetUptime.
Loopback wrote:
Блок вычисления не работает со строками
Я надеюсь, пока не работает. )
Loopback wrote:
Какое из них вычислять?
То, которое после возвращения значений переменных будет иметь только цифры и вычислительные знаки. Или можно придумать какой-то экранный знак (~@$*ℱ) или обёртку из пары знаков (угловые/фигурные скобки, к примеру).

#1490:  Author: Loopback PostPosted: Tue Mar 17, 2020 21:28
    —
Flasher wrote:
У меня на TC 9.51 RC5 x32 не завелось.

Странно, на той же версии работает.

Flasher wrote:
О как. )

Зачем нужен вариант, который сейчас заведомо не работает корректно в любом варианте? В принципе его можно оставить с пояснением, что только для версий 9.2х, но для новой версии его надо убирать.

Наверно все же лучше сделать для команды ключи типа /920 /950 и т.д., со своими наборами дефолтных настроек, чтобы не возникло неоднозначности.

Flasher wrote:

См. 3 сообщения от 20 и 26 июля.

Да, нашел, там прилично, оказывается. Пример на тот момент был неактуален, не было StrPart. Сейчас всё добавил.

Flasher wrote:
В слипе может быть множитель (коэффициент) для предусловий выполнений без ожидания.
А в SendCommand — сложение и вычитание для сопряжённых (левая/правая либо активная/пассивная панель) индексов команд. В приведённом скрипте с Esc для SendMessage это можно наблюдать. WM_USER+50 тут как раз кстати. Как пример — первые пару условий для Select Case.

С натяжкой, но допустим.

Flasher wrote:
Для IniRead в отличии от IniWrite не столь важно.
MsgBox нужен для отладки. Там смысл расчётов при получении нужного числа для потенциальной вставки формулы в другую команду вполне очевиден.
Аналогично и в отношении получения санти/децисекунд для GetUptime.

MsgBox ок.
GetUptime не принимает никаких параметров, тогда был просто разговор, что можно будет добавить, если понадобится. Но вроде и не понадобилось.
Flasher wrote:
Я надеюсь, пока не работает. )

Flasher wrote:
То, которое после возвращения значений переменных будет иметь только цифры и вычислительные знаки. Или можно придумать какой-то экранный знак (~@$*ℱ) или обёртку из пары знаков (угловые/фигурные скобки, к примеру).

Сомнительно, что в обозримом будущем оно будет работать со строками. А пока не будет, нет и смысла изгаляться с текстовыми параметрами. Вычисления в условиях - это уже прикрученный костыль, прикручивать его еще и ко всем параметрам... Ну не предполагался плагин для полноценных вычислений Smile Следующий шаг - только полноценный скриптовый язык, но будет ли он удобен именно для целей автозапуска - ещё вопрос, навскидку, как минимум придется сделать обязательными кавычки для строк и вводить разделитель параметров в командах (запятую).

В общем склоняюсь к тому, чтобы сделать для всех команд с числовыми значениями (Sleep, StrLeft, StrRight, StrMid, StrPart), причем надо подумать, возможно, даже и ключ в таких случаях не нужен - сломаться ничего не должно. Также MsgBox, SetEnv, SendCommand - тут с ключом. Остальное пока нет.

#1491:  Author: FlasherLocation: Москва PostPosted: Wed Mar 18, 2020 00:26
    —
Loopback wrote:
Странно, на той же версии работает.
Не знаю. У меня просто файловая панель прокручивается, и всё. /K:C или /K:A не помогли. /K:R как модификатор вроде как не годится, т. к. по-любому меню выскочит.
/X1 и /X2 не упомянуты. Поддерживаются?
Loopback wrote:
Наверно все же лучше сделать для команды ключи типа /920 /950 и т.д., со своими наборами дефолтных настроек, чтобы не возникло неоднозначности.
Не, не надо. Вдруг Гислеру приспичит в новой версии опять что-то поменять и сдвинуть, как процессе бет он двигал кнопки. Пусть будет кастомный вариант.
Loopback wrote:
Но вроде и не понадобилось.
Мне подумалось, что логировать будет удобней в более комфортных единицах. В т. ч. в double для секунд.
Loopback wrote:
В общем склоняюсь к тому, чтобы сделать для всех команд с числовыми значениями (Sleep, StrLeft, StrRight, StrMid, StrPart)
StrPos ещё.
Loopback wrote:
Остальное пока нет.
А как же IniWrite, RegWrite и уж точно AddControl, где сплошные числа?

#1492:  Author: Loopback PostPosted: Wed Mar 18, 2020 13:01
    —
Flasher wrote:
Не знаю. У меня просто файловая панель прокручивается, и всё. /K:C или /K:A не помогли. /K:R как модификатор вроде как не годится, т. к. по-любому меню выскочит.
/X1 и /X2 не упомянуты. Поддерживаются?

При наведении на табы - прокручивается панель?
/X1 и /X2 только в виде модификаторов. Можно и как основные добавить, просто мне их проверять не на чем.
Flasher wrote:
Не, не надо. Вдруг Гислеру приспичит в новой версии опять что-то поменять и сдвинуть, как процессе бет он двигал кнопки. Пусть будет кастомный вариант.

Поздно Smile Кастомный вариант в любом случае никуда не денется. Но было необходимо избавиться от /NARROW, который не применим к новым версиям.
Flasher wrote:
StrPos ещё.

В нем нет числовых значений.
Flasher wrote:
А как же IniWrite, RegWrite

Code:
<секция> <ключ> [<текст>]
<ключ> <параметр> <тип> <значение> [<значение2>..<значениеN>]

Хм, и где здесь числа?
Flasher wrote:
AddControl, где сплошные числа?

В параметрах плагинов нет возможности вычислений. Пока во всяком случае. А в параметрах со слешами вообще не получится использовать вычисления.

#1493:  Author: LonerDLocation: Донецк PostPosted: Wed Mar 18, 2020 14:55
    —
Loopback wrote:
Такая конструкция будет работать, но только для активного окна, так работают команды 3005/3006.

Работает, но прокручивается только активная панель. Последовательно cmd команды выполнять можно? Наподобие такого:
Code:
ControlSetMouseAction /W:F "" 26 CMD 4001,3006
ControlSetMouseAction /W:R "" 26 CMD 4001,3005
ControlSetMouseAction /W:F "" 27 CMD 4002,3006
ControlSetMouseAction /W:R "" 27 CMD 4002,3005


Было бы неплохо иметь возможность временно отключать-включать функционал после запуска тотала.
Например, присвоить вышеуказанной секции какое-то имя и сделать возможность назначать пользовательские команды наподобие:
Autorun_Misc.dll имя_секции ON
Autorun_Misc.dll имя_секции OFF

#1494:  Author: FlasherLocation: Москва PostPosted: Wed Mar 18, 2020 15:37
    —
Loopback wrote:
При наведении на табы - прокручивается панель?
Ага. Вообще при наведении в окно ТС.
Loopback wrote:
/X1 и /X2 только в виде модификаторов.
/K:X1 и /K:X2 я видел, но это про другое.
Loopback wrote:
Можно и как основные добавить, просто мне их проверять не на чем.
Нужно. Я тебе первой ссылкой пример, которым пользуюсь, скинул.
Loopback wrote:
В нем нет числовых значений.
А в переменную нельзя сделать запись с вычислением?
Loopback wrote:
Хм, и где здесь числа?
Так куча значений/параметров ключей записывается в числовом виде.
Loopback wrote:
А в параметрах со слешами вообще не получится использовать вычисления.
Ясно.

#1495:  Author: Loopback PostPosted: Wed Mar 18, 2020 16:39
    —
LonerD wrote:
Работает, но прокручивается только активная панель.

Ну да, я же про это и писал.
LonerD wrote:
Последовательно cmd команды выполнять можно? Наподобие такого:

Нет, но можно подумать.
LonerD wrote:
Было бы неплохо иметь возможность временно отключать-включать функционал после запуска тотала.

Вот с этим проблематично. Autorun как бы вообще не предназначался для таких сценариев.

Во-первых, это dll, и в таком варианте ее придется вызывать через exe-враппер (например, тот же rundll32). Во-вторых, естественно, команду нужно как-то передавать в процесс, где загружена рабочая версия dll. Нельзя сказать, что это невозможно, но простых путей тут нет.
Flasher wrote:
Нужно. Я тебе первой ссылкой пример, которым пользуюсь, скинул.

Ну, я не углублялся Smile Ок, поддержку допкнопок добавлю.
Flasher wrote:
А в переменную нельзя сделать запись с вычислением?

В смысле? Разве Set не для этого?
Flasher wrote:
Так куча значений/параметров ключей записывается в числовом виде.

Тем не менее это не делает сами параметры числовыми.

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

#1496:  Author: FlasherLocation: Москва PostPosted: Wed Mar 18, 2020 16:58
    —
Loopback wrote:
Ну да, я же про это и писал.
Т.е. "не работает". Как если бы строк в конфиге не было.
Loopback wrote:
Ок, поддержку допкнопок добавлю.
Гуд. Только бы ещё завелось это всё.
Кстати, а хэндлы ты получаешь только при запуске плагина? После скрытия/показа компонентов окна ТС они обновятся — и привет.
Loopback wrote:
В смысле? Разве Set не для этого?
Имеется в виду StrPos Name+1 ...
Loopback wrote:
Тем не менее это не делает сами параметры числовыми.
Я о нужде больше.

#1497:  Author: Loopback PostPosted: Fri Mar 20, 2020 19:07
    —
Бета-версия.

2.0.9 beta
+ в выражениях добавлена поддержка ключевых слов "not", "true", "false"
+ более детальная обработка ошибок в выражениях
+ в выражениях добавлен ключевой символ "&" для конкатенации
+ добавлена возможность вычислений в любом неименованном параметре путем добавления спецсимвола % перед кавычками
+ добавлен новый плагин Tweaks с некоторыми небольшими дополнениями для TC
* ModifyDialogs: удален переключатель /NANRROW для новых версий, в версии TC 9.20-9.21 можно использовать /VER:920N
+ ModifyDialogs: настройки "простого" режима адаптированы под новые диалоги в версии 9.50
- ModifyDialogs: исправлено чтение ShowCopyOptions из секции, перенаправленной с RedirectSection
+ В ShellExec добавлен флаг SW_SHOWNOACTIVATE

В общем, чем лепить кучу /С где надо и где не надо, проще оказалось сделать "вычисляемость" единообразно для всех параметров (не переключателей!). Вычисления производятся при указании % непосредственно перед кавычками. Т.е. вычисления обязательно должны быть в кавычках (внутри для строк можно использовать другие кавычки). Строки внутри вычисляемой строки сейчас нестрогие, т.е. если строка не содержит зарезервированных символов и не является ключевым словом, ее можно не брать в кавычки, хотя это и не очень правильно. Возможно, все же правильнее будет сделать строгие строки.

Для обычных параметров ничего сломаться было не должно, но поскольку возможности выражений теперь расширены, могут быть проблемы в условиях.

Справка пока не обновлялась, т.к. возможны изменения.

Flasher wrote:
Т.е. "не работает". Как если бы строк в конфиге не было.

Ну не знаю, без этого кода у меня вкладки колесом не переключаются, а с ним да.

Flasher wrote:
Гуд. Только бы ещё завелось это всё.
Кстати, а хэндлы ты получаешь только при запуске плагина? После скрытия/показа компонентов окна ТС они обновятся — и привет.

Добавил дополнительные кнопки, можешь попробовать (он теперь Tweaks называется). В справке описание (сырое) есть.

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

#1498:  Author: FlasherLocation: Москва PostPosted: Sat Mar 21, 2020 00:22
    —
Loopback wrote:
+ в выражениях добавлена поддержка ключевых слов "not", "true", "false"
+ более детальная обработка ошибок в выражениях
+ в выражениях добавлен ключевой символ "&" для конкатенации
А можно по примерчику? Not же ты давно добавил.

Loopback wrote:
проще оказалось сделать "вычисляемость" единообразно для всех параметров (не переключателей!). Вычисления производятся при указании % непосредственно перед кавычками.
Т. е. предложение поизгаляться и прикрутить "костыль" силу таки возымело. Smile
Loopback wrote:
т.е. если строка не содержит зарезервированных символов и не является ключевым словом, ее можно не брать в кавычки
Можно конкретизировать по символам и ключевым словам?
Loopback wrote:
Справка пока не обновлялась, т.к. возможны изменения.
И тем не менее новая порция в ЛС от меня последовала (по новинкам — в меньшей степени). Smile
Loopback wrote:
Ну не знаю, без этого кода у меня вкладки колесом не переключаются, а с ним да.
Ещё бы они без этого кода переключались. Ты бы какой отладчик выслал что ли. Rolling Eyes

Loopback wrote:
Добавил дополнительные кнопки, можешь попробовать
Не, ни в какую плагин не хочет заводиться. Сперва на сортировке проверял:
Code:
ControlSetMouseAction /X1 "" 3 CMD 321
ControlSetMouseAction /X2 "" 3 CMD 322
Win 7 x32 виртуальная у тебя есть вроде. Посмотри там.
Loopback wrote:
если окно полученное ранее не существует.
Ранее — это на момент запуска плагина? Я же пишу про switch-команды в процессе работы ТС. Нужно всегда получать, конечно.

#1499:  Author: Loopback PostPosted: Sat Mar 21, 2020 01:53
    —
Flasher wrote:
А можно по примерчику? Not же ты давно добавил.

Not был, но допустим был только в начале выражения, фактически,он обрабатывался отдельно. Сейчас можно в выражении использовать.

Пример... ну поэкспериментируй с разной арифметикой и выражениями, для чего-то ты же хотел эту возможность? Very Happy Например, такое должно работать:
Code:

%'"Pa&ram_" & (%aaa%+1)'   --> Pa&ram_2 (при %aaa% = 1)
---
if (%aaa% = 1) and not (%bbb% > 10) then
---
Set num 1
StrPos %"var&(%num%-1)" "abcdefgh" "d"
MsgBox %var0% --> 4


Flasher wrote:
Т. е. предложение поизгаляться и прикрутить "костыль" силу таки возымело.

Ну да, я уже начал было копипастить код для поддержки /C, но быстро стало понятно, что это мазохизм и вообще криво. В любом случае это куда меньший костыль получился. А в этом синтаксисе лучше все равно не получится.

Flasher wrote:
Можно конкретизировать по символам и ключевым словам?

+-/*=()&<> разделители
and,or,not, true,false - зарезервированные ключевые слова
Flasher wrote:
И тем не менее новая порция в ЛС от меня последовала (по новинкам — в меньшей степени).

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

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

Прошу прощения, забыл здесь упомянуть (в справке уже есть), что синтаксис немного поменялся, неиспользуемый "" убрал. Теперь так:
ControlSetMouseAction /X1 3 CMD 321
Но кстати говоря, именно 3 и 4 скорее всего не заработают, потому что:
Flasher wrote:
Ранее — это на момент запуска плагина? Я же пишу про switch-команды в процессе работы ТС. Нужно всегда получать, конечно.

Да. Плагин его получает заново, если хэндл, сохраненный при запуске, не существует. Но именно для индексов 3 и 4 (они по-сути виртуальные) так работать не будет. Надо поправить.

#1500:  Author: FlasherLocation: Москва PostPosted: Sat Mar 21, 2020 03:32
    —
Loopback wrote:
Пример... ну поэкспериментируй с разной арифметикой и выражениями
Вот если бы ты не показал, я бы и не понял, что это именно так должно выглядеть.
Loopback wrote:
для чего-то ты же хотел эту возможность? Very Happy
Какую? Я ни про &, ни про true/false, ни про детальную обработку ошибок ничего не писал.
Code:
%'"Pa&ram_" & (%aaa%+1)'   --> Pa&ram_2 (при %aaa% = 1)
А, ты меня не так понял. StrPos Name+1 ... — хотелось не Name1 как новое имя переменной, а %Name% далее должно вернуть <значение позиции + 1>. Smile
Loopback wrote:
но быстро стало понятно, что это мазохизм и вообще криво.
С самого начала так подумал, поэтому удивился твоей реакции. )

Loopback wrote:
что синтаксис немного поменялся, неиспользуемый "" убрал.
Сам не понял, зачем тут лишний пустой параметр.

Loopback wrote:
Но кстати говоря, именно 3 и 4 скорее всего не заработают, потому что:
Цитата — это и есть пояснение? Или ты что-то забыл дописать?
Попробовал на тулбар натравить — результат тот же:
Code:
ControlSetMouseAction /X1 28 CMD 321
ControlSetMouseAction /X2 28 CMD 322
И тут сразу напрашивается 0 на главное (всё) окно ТС. Сделаешь?
А с учётом появления вычислений в переменных, будет кстати появление динамической переменной с индексом 1000 (WM_USER+50) для выяснения, какой является активная панель (1/2). Пару примеров в скриптах уже приводил. Актуально и для случая с прокруткой табов только в соотв. расположению указателя панели: 28-%var% = 26/27.

По остальному ясно.



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


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

Goto page Previous  1, 2, 3 ... 99, 100, 101 ... 133, 134, 135  Next  :| |:
Page 100 of 135

Powered by phpBB © 2001, 2005 phpBB Group