сообщение из сценария
-
Вопрос "чайника", уж извините ежли что...
Как можно вывести сообщение из сценария в виджет?
Имеется в виду текстовое сообщение или расчетное значение?
-
@alesle, вы о чем? В какой виджет вам надо что-то вывести? Опишите конкретную задачу.
В частности, я делал виджет из "Актюатор аналоговый универсальный" тут.
-
Да да, именно это ( как у Вас) и нужно было.
Т.е технология (как я понял) такова:
Берем устройство - "Актуатор универсальный аналоговый", вставляем его в виджет, и с помощью Device.SetValue() устанавливаем его значение, которое, соответственно, выводится в виджет.
Пробую....
Попробовал,
Ну конечно, все гениальное - просто!
Спасибо!!!
-
@alesle, вы бы темы не плодили), лучше спросить об этом в Сценарии - новая версия API
-
Ваш форум - ваши правила.....
Просто тема "новая версия API"- очень широка и по названию предполагала описание некого отличия от предыдущей версии..
А у чайников, вроде меня , возникает много вопросов по элементарным вещам .
Вот и задал там, где показалось уместным.
-
все же можно я не буду засирать умную тему про новый API своими, возможно идиотскими вопросами, и спрошу здесь,
Итак, создал девайс для вывода (ACTORA1) -проверил работает. Нужно было в скрипте передать часть действий в функцию. и тут у меня случился затык.
Скрипт после дикого упрощения:/** * @name проба * @desc * @version 4 */ const dev = Device("ACTORA1"); function str2(dd) { if (dd < 10 ) return "меньше 10"; if (dd >= 10) return "больше 9"; } script({ start() { let mes=str2(2); dev.setValue(mes) ; } });
Не работает....
Блин, что не так (ну, кроме моей головы)?UPD: после некоторых "танцев с бубном" выяснено, что функция просто не вызывается и вставка любой ссылки на функцию , будь то
let mes=str2(2);
или просто str2() приводит к неработоспособности сценария.
Что я делаю не так?
-
@alesle, вначале прочитайте про синтаксис сценариев - тут. Надеюсь, что после этого у Вас отпадет значительная часть вопросов. Также очень полезно знать систему команд - сам до сих пор пользуюсь этой страничкой).
-
Спасибо за указанное направление!
Заработало, когда:- Код функции помещен в раздел script ( что логично);
- вызвать функцию использовав
this.str2();
конструкция let mes=this.str2(2); позволяет вернуть значения по return в функции str().
Вывод: Командный язык в скриптах - это не совсем классический JS и написать скрипт тупо глядя в учебник не всегда получится.
Читайте документацию !