Что нового

Номер строки скрипта при срабатывании горячей клавиши

Oki

Продвинутый
Сообщения
452
Репутация
62
Существует ли возможность получить номер строки скрипта, выполнение которой отложено по причине нажатия горячей клавиши, установленной функцией HotKeySet? Или последней выполненной перед нажатием? Или прерванной, если такое прерывание возможно? Как известно, обычная макрокоманда @ScriptLineNumber возвращает номер строки скрипта, выполняемой в момент обращения к этой макрокоманде. Если, например, вызов горячей клавиши прописан в файле, добавленном командой #include, то эта макрокоманда вернёт номер даже не согласно нумерации строк скрипта, выполнение которого прервано горячей клавишей, а согласно нумерации строк во включённом include'ом файле.
 
Последнее редактирование:

Eugen_pcad_ru

Новичок
Сообщения
5
Репутация
0
Существует ли возможность получить номер строки скрипта, выполнение которой отложено по причине нажатия горячей клавиши, установленной функцией HotKeySet? Или последней выполненной перед нажатием? Или прерванной, если такое прерывание возможно? Как известно, обычная макрокоманда @ScriptLineNumber возвращает номер строки скрипта, выполняемой в момент обращения к этой макрокоманде. Если, например, вызов горячей клавиши прописан в файле, добавленном командой #include, то эта макрокоманда вернёт номер даже не согласно нумерации строк скрипта, выполнение которого прервано горячей клавишей, а согласно нумерации строк во включённом include'ом файле.
Ведите лог-файл. Последняя запись в логе соответствует последней выполненной команде.
 
Автор
Oki

Oki

Продвинутый
Сообщения
452
Репутация
62
Ведите лог-файл. Последняя запись в логе соответствует последней выполненной команде.
С таким подходом и сама макрокоманда @ScriptLineNumber не нужна была бы. Но это неоправданно нагружало бы код, увеличивая количество строк в два раза на ровном месте. Кстати, можно создать простенький скрипт, который по любому заданному файлу скрипта создаёт такое "удвоение" с логированием в каждой чётной строке, а затем полученный скрипт запускает, чтобы хотя бы избежать написания этих нагромождений вручную. Несколько неудобно, но на худой конец сгодится, если обсуждаемую возможность AutoIt не предоставляет. А ещё лучше даже не вести ненужный лог (в случаях, когда сомнительна его польза для других целей), а присваивать глобальной переменной соответствующие значения в каждой чётной строке такого удвоенного по длине строк скрипта. Посмотрим, не предложат ли гуру какое-то более изящное решение.
 
Последнее редактирование:
Верх