@Fox said in Ошибка при запуске функции Main в веб интерфейсе:
Переместите все действия из функции Main в любую созданную вами функцию и всё
Да, так и сделал. Просто меня это чуть обескуражило. Спасибо
На странице сайта может быть один из ~100 элементов (перечень возможных вариантов). В зависимости от того, какой именно элемент присутствует, то нужно запустить соответствующую функцию.
Пытался решить задачу следующим способом:
if [[Переменная]] == "Функция 1"
Вызов функции "Функция 1"
else
if [[Переменная]] == "Функция 2"
Вызов функции "Функция 2"
else
if [[Переменная]] == "Функция 3"
Вызов функции "Функция 3"
else
и т.д.
В итоге задача на данный момент следующая:
Есть переменная, которая может иметь 100 различных значений (пусть это будут "function1", "function2", "function3" и т.д).
Как в зависимости от применяемого значения переменной запустить функцию "function1", "function2", "function3" и т.д.?
PS Попытка прописать вызов функции с подстановкой переменной в "Выполнить код" не привела к успеху
@GameBot said in Вызов определенной функции:
На странице сайта может быть один из ~100 элементов (перечень возможных вариантов). В зависимости от того, какой именно элемент присутствует, то нужно запустить соответствующую функцию.
Пытался решить задачу следующим способом:
- Описать ~100 функций
- Получить элемент на странице, записать ее в переменную
- Дальше непонятно, как вызвать определенную функцию. В BAS невозможно установить в качестве названия запускаемой функции переменную.
3.1) Был вариант со сверкой элемента с названиями всех функций (структура в коде), но не подошло по причине долгой работы скриптаif [[Переменная]] == "Функция 1" Вызов функции "Функция 1" else if [[Переменная]] == "Функция 2" Вызов функции "Функция 2" else if [[Переменная]] == "Функция 3" Вызов функции "Функция 3" else и т.д.В итоге задача на данный момент следующая:
Есть переменная, которая может иметь 100 различных значений (пусть это будут "function1", "function2", "function3" и т.д).
Как в зависимости от применяемого значения переменной запустить функцию "function1", "function2", "function3" и т.д.?PS Попытка прописать вызов функции с подстановкой переменной в "Выполнить код" не привела к успеху
Условия должны сработать мгновенно, даже если их сотня, почему это решение не подошло?
https://community.bablosoft.com/topic/8847/вызов-функции-из-ресурса-или-переменной
@Fox said in Вызов определенной функции:
Условия должны сработать мгновенно, даже если их сотня, почему это решение не подошло?
https://community.bablosoft.com/topic/8847/вызов-функции-из-ресурса-или-переменной
Скрипт проверял элемент, вызывал определенную функцию (которая также содержала несколько проверок условий if) и если условие в функции не выполнялось, то переходили к следующему элементу и опять проверка по 100 функциям и вложенным условиям. Всего проверка по 5 таким элементам.
Выполнение цикла в режиме запуска занимало более 30 секунд. Предварительно перед данными проверками скрипт еще получает 6 значений через "Получить текст" и переводит их в числовые переменные, но это точно не должно занимать много времени.
PS Скрипт был стерт при компиляции (похоже из-за неверно выставленных галочек), поэтому проверить правки не получится (Ошибка "script not found" вроде). Придется заново все записать и хотелось бы предварительно выяснить как лучше реализовать
@GameBot said in Вызов определенной функции:
Скрипт проверял элемент, вызывал определенную функцию (которая также содержала несколько проверок условий if) и если условие в функции не выполнялось, то переходили к следующему элементу и опять проверка по 100 функциям и вложенным условиям. Всего проверка по 5 таким элементам.
Выполнение цикла в режиме запуска занимало более 30 секунд. Предварительно перед данными проверками скрипт еще получает 6 значений через "Получить текст" и переводит их в числовые переменные, но это точно не должно занимать много времени.
Проще сразу получить все необходимые данные со страницы для всех вариантов функций. Например один раз получить код страницы и уже потом его парсить. В таком случае скрипт обратится к странице один раз, а остальные действия будут выполнятся мгновенно.
PS Скрипт был стерт при компиляции (похоже из-за неверно выставленных галочек), поэтому проверить правки не получится (Ошибка "script not found" вроде).
Чегось? Как может скрипт быть стёрт из за "неверно выставленных галочек" ?