Как отображать пользовательские переменные с помощью настраиваемого плагина синтаксического анализа в ярком скрипте?

Я хочу использовать пользовательские переменные в настраиваемом плагине, написанном на Bright-Script. Эти переменные определяются в Bright-Author в процессе создания презентации. Я попытался ввести их в сценарий, используя ассоциативный массив переменных пользователя, но это не сработало.

Вот фрагмент кода, который я пытаюсь использовать:

Sub data2(xmlFileName as String, itemsByIndex as object, itemsByTitle as Object, userVariables As Object)
  print userVariables["uservariablename"]
end Sub

person Lovepreet Jassal    schedule 04.08.2016    source источник


Ответы (2)


Попробуй это:

print userVariables.Lookup("uservariablename").GetCurrentValue()
person Udi    schedule 24.10.2016
comment
Большое спасибо! Это сработало! - person Lovepreet Jassal; 14.09.2017

Ответ Уди действительно сработает. Однако, если кто-то еще это видит и хочет получить немного больше информации о пользовательских переменных, вот оно ...

Аргумент userVariables для функций плагина скрипта действительно является ассоциативным массивом, а значения членов этого массива (с ключом по имени пользовательской переменной) являются объектами, которые содержат текущее значение пользовательской переменной (строка), значение по умолчанию, доступ пользователя разрешение (общее или частное) и некоторая другая информация для специальных пользовательских переменных.

Объект также содержит функции GetCurrentValue, SetCurrentValue, Increment и Reset. Вы должны использовать эти функции для управления содержимым переменной (как это сделал Уди для его чтения).

Функция Reset сбрасывает переменную до значения по умолчанию, а Increment увеличивает его, но только если строку можно преобразовать в число.

person jims    schedule 02.02.2017
comment
Спасибо за дополнительную информацию! Есть ли документация по этим функциям? - person Lovepreet Jassal; 14.09.2017
comment
К сожалению нет. Плагины скриптов - это расширенная функция. Текущая документация для плагинов находится здесь: docs.brightsign.biz/display/ DOC /. В этой документации объект userVariables на самом деле не указан. Этот объект определен и поддерживается в основном сценарии автозапуска, и мой ответ здесь был призван пролить свет на то, как он настроен. Я посмотрю, сможем ли мы добавить это описание в официальную документацию. Поскольку плагины могут использоваться для расширения стандартного автозапуска (который немного меняется с каждым выпуском), довольно сложно задокументировать. - person jims; 17.09.2017
comment
Думаю, я мог бы добавить немного: GetCurrentValue () всегда возвращает строковое значение. SetCurrentValue (значение как объект, postMsg как логическое) устанавливает значение, где значение должно быть строкой или целым числом - целые числа преобразуются в строку. Если postMsg истинно, генерируется событие USER_VARIABLE_CHANGE. Increment () пытается преобразовать в целое число, увеличивает его и преобразует обратно в строку. Reset () сбрасывает переменную до значения по умолчанию. - person jims; 17.09.2017