Loopback
|
Posted: Fri Sep 12, 2025 13:17 Post subject: |
|
|
Orion9 wrote: | Попробовал попутно "CP:". Вот такое использование крашит плагин: |
Ага, действительно. Это не связано непосредственно с указанием кодировки в виде CP, к примеру, c "ANSI" будет то же самое. Проблема с преобразованием в однобайтные кодировки строк длиной в 1 символ. В данном примере, когда доходит до первого такого значения (поле "ID") - на нём и крашится.
Пока хотфикс делать не буду, просто выложу исправленную версию.
Версия от 11.09.2025
yozhik wrote: | не работает — записывает в файл литерально "%VAR%" вместо содержимого. Хотя StrReplace при точно такой же записи работает исправно. |
Да, подавляющее большинство функций в командной записи не поддерживают разворачивание переменных непосредственно в параметрах. Те что поддерживают - это ограниченный набор "старых" функций из ранних версий Autorun (строчные, ini и еще некоторые). Я бы с радостью убрал эту функциональность и из них, поскольку это довольно корявый навесной механизм, который необходимо применять отдельно к каждому параметру. Останавливает лишь вопрос совместимости со старым кодом. В новых функциях, конечно, этого уже не делается.
А для использования значения переменной в командной записи в этой и любой другой функции без встроенного разворачивания, есть простой универсальный способ - вычисляемые строки:
Code: | RegExpReplace VAR %"VAR" "a" "b" |
Но я всё же призываю для таких функций использовать функциональную запись. По-моему, для них она просто более естественна. |
|