2016-08-04 8 views
0

Ich möchte Benutzervariablen in einem benutzerdefinierten Plugin in Bright-Script geschrieben verwenden. Diese Variablen werden während der Erstellung einer Präsentation in Bright-Author definiert. Ich habe versucht, diejenigen in das Skript zu bringen, indem Sie die Benutzer-Variablen assoziative Array, aber es hat nicht funktioniert. HierWie Benutzervariablen mit einem benutzerdefinierten Parsing-Plugin in Bright-Script angezeigt werden?

ist das Stück Code, das ich zu verwenden Ich versuche:

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

Antwort

0

Try this:

print userVariables.Lookup("uservariablename").GetCurrentValue() 
+0

Vielen Dank! Es funktionierte! –

0

Udi Antwort wird in der Tat arbeiten. Wenn jedoch jemand anderes dies sieht und ein wenig mehr Informationen über Benutzervariablen wünscht, ist es hier ...

Das 'userVariables'-Argument für Skript-Plugin-Funktionen ist in der Tat ein assoziatives Array und die Member-Werte dieses Arrays (Nach Benutzervariablenname eingegeben) sind Objekte, die den aktuellen Wert der Benutzervariablen (eine Zeichenfolge), den Standardwert, Benutzerzugriffsberechtigung (gemeinsam oder privat) und einige andere Informationen für spezielle Benutzervariablen enthalten.

Das Objekt enthält auch die Funktionen GetCurrentValue, SetCurrentValue, Increment und Reset. Sie sollten diese Funktionen verwenden, um den Variableninhalt zu manipulieren (wie es Udi tat, um es zu lesen).

Die Reset-Funktion setzt die Variable auf ihren Standardwert zurück, und Increment erhöht sie, aber nur, wenn die Zeichenfolge in a analysiert werden kann Nummer.

+0

Danke für die zusätzliche Information! Gibt es eine Dokumentation für diese Funktionen? –

+0

Leider nein. Skript-Plugins sind eine erweiterte Funktion. Die aktuelle Dokumentation für Plugins finden Sie hier: http://docs.brightsign.biz/display/DOC/BrightAuthor+Plugins+and+Parsers. In dieser Dokumentation ist das Objekt userVariables nicht wirklich angegeben. Dieses Objekt ist im Hauptautorun-Skript definiert und gepflegt, und meine Antwort hier sollte etwas Licht in die Einrichtung bringen. Ich werde sehen, ob wir diese Beschreibung der offiziellen Dokumentation hinzufügen können. Da Plugins dazu verwendet werden können, das Standard-Autorun zu erweitern (was sich mit jeder Version ein wenig ändert), ist es ziemlich schwierig zu dokumentieren. – jims

+0

Ich denke, ich könnte ein bisschen hinzufügen: GetCurrentValue() gibt immer einen String-Wert zurück. SetCurrentValue (Wert als Objekt, postMsg als boolescher Wert) legt den Wert fest, wobei Wert eine Zeichenfolge oder eine Ganzzahl sein soll - Ganzzahlen werden in eine Zeichenfolge konvertiert. Wenn postMsg wahr ist, wird ein "USER_VARIABLE_CHANGE" -Ereignis ausgegeben. Increment() versucht, in eine Ganzzahl zu konvertieren, erhöht sie und konvertiert sie zurück in eine Zeichenfolge. Reset() setzt die Variable auf den Standardwert zurück. – jims