1

Тема: AHK: Передача скрипту кода к исполнению

Здравствуйте.

Существует ли возможность передать работающему скрипту к исполнению какой-то произвольный код из переменной или поля ввода, кроме как через создание и запуск нового скрипта?
Смутно припоминаю, тема вроде уже где-то обсуждалась, но найти не смог.

2

Re: AHK: Передача скрипту кода к исполнению

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

3

Re: AHK: Передача скрипту кода к исполнению

Тут речь идет о преобразовании ответов оборудования. Сценарии бывают разные, всего не предусмотришь и подпрограмм не напасешься. Думал, как поизящнее подкинуть требуемый сценарий через UI. Но раз напрямую нельзя, будем делать отдельные скрипты.

Спасибо.

4

Re: AHK: Передача скрипту кода к исполнению

equipment66, а какой конкретно алгоритм вы бы хотели реализовать?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: Передача скрипту кода к исполнению

teadrinker, заранее не известно. Там есть стандартные сценарии, и в 99% случаев их достаточно. Но иногда нет, и требуется дополнительное преобразование. Обычно это небольшая по объему произвольная математическая формула, иногда совмещенная с текстовыми преобразованиями в произволом порядке. Хочу иметь возможность по-быстрому сделать заплатку в полевых условиях, через UI, а не текстовый редактор.
Как решить технически, я знаю. Просто думал, может есть какой изящный способ передать код для исполнения работающему скрипту.

6

Re: AHK: Передача скрипту кода к исполнению

Если это строка с математическими вычислениями, можно через javascript, но нужно знать, как они там производятся.

expr := "var x = 10, y = 3; return Math.pow(x, y)"
MsgBox, % GetJS().("(function() { " . expr . " })()")

GetJS() {
   static doc := ComObjCreate("htmlfile")
      , _ := doc.write("<meta http-equiv=""X-UA-Compatible"" content=""IE=9"">")
      , JS := ObjBindMethod(doc.parentWindow, "eval")
   Return JS
}
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7

Re: AHK: Передача скрипту кода к исполнению

Teadrinker, stealzy, спасибо за подсказки. Буду разбираться.