API - Funtionen
Folgende API-Funktionen stehen Ihnen in JavaScript zur Verfügung:
mainInterface.getProperty(property)
mainInterface.setProperty(property, value)
mainInterface.getVariable(variable)
mainInterface.setVariable(variable, value)
mainInterface.setVariableSync(variable, value)
mainInterface.log(logtype, tag, message)
mainInterface.playAudio(filename)
mainInterface.openView(viewname)
mainInterface.getProperty(property)
Diese Funktion gibt den Wert einer Eigenschaft einer Komponente zurück.
Parameter
- Property
Der Parameter property gibt den Namen einer Eigenschaft an.
Ein Eigenschaftsname muss immer einer der folgenden Syntaxen entsprechen:
- Seitenname.Komponentenname.Eigenschaftsname
- SeitenID.KomponentenID.Eigenschaftsname
Um also beispielsweise den Text einer Textbox mit dem Namen edit1 auf der Seite Hauptseite auszulesen, muss als Parameter übergeben werden: „Hauptseite.edit1.Text“
Die Syntax, welche die IDs der Seite und Komponente enthält, ist lediglich interessant in Verbindung mit dem oben genannten args-Parameter, da dieser nur die IDs liefert,
sollte die Komponente keinen Namen haben.
mainInterface.setProperty(property, value)
Diese Funktion setzt den Wert einer Eigenschaft einer Komponente auf einen bestimmten Wert. Um einen Wert zu setzen, muss die Komponente einen Namen haben.
Parameter
- property
Der der Eigenschaft, die gesetzt werden soll. (Siehe Funktion getProperty)
- value
Der Wert, den die Eigenschaft bekommen soll
mainInterface.getVariable(variable)
Diese Funktion gibt den Wert einer Variablen als String zurück.
Also auch Variablen von Typen wie Boolean oder Int geben Ihren Wert immer als Stringrepräsentation zurück.
Dies ist beim weiteren Arbeiten mit zurückgegebenen Werten zu beachten.
Parameter
- variable
Der Name, mit der die Variable angelegt wurde.
Sollte der Variablenname in mehreren Datenquellen vorhanden sein, muss zwingend der Datenquellenname vorweg angegeben werden.
Beispiel: DatenquellenName.VariablenName
mainInterface.setVariable(variable, value)
Funktion zum asynchronen Schreiben einer Variable.
Dieser Prozess läuft asynchron ab. Das heißt ein Abrufen der Variable mit „getVariable“ im folgenden Code muss nicht zwangsweise bereits den aktualisierten Wert zurückgeben.
Beste Lösung hierfür ist, den Wert vorher in einer lokalen Variable zwischenzuspeichern, um diese nicht erneut abfragen zu müssen.
Muss der Wert zwangsweise im Anschluss unmittelbar zur Verfügung stehen kann die Funktion „setVariableSync“ verwendet werden. Hiervon wird aber abgeraten da dieser
Funktionsaufruf für einen kurzen Zeitraum die Oberfläche blockiert. Bei einmaligem Aufruf ist dies nicht zu bemerken. Wird diese Funktion aber in einem Intervall oder oft nacheinander
aufgerufen wird dies die Oberfläche spürbar beeinflussen.
Parameter
- variable
Der Name, mit der die Variable angelegt wurde.
Sollte der Variablenname in mehreren Datenquellen vorhanden sein, muss zwingend der Datenquellenname vorweg angegeben werden.
Beispiel: DatenquellenName.VariablenName
- value
Der Wert, den die Variable bekommen soll
mainInterface.setVariableSync(variable, value)
Funktion zum synchronen Schreiben einer Variable.
Parameter
- variable
Der Name, mit der die Variable angelegt wurde.
Sollte der Variablenname in mehreren Datenquellen vorhanden sein, muss zwingend der Datenquellenname vorweg angegeben werden.
Beispiel: DatenquellenName.VariablenName
- value Der Wert, den die Variable bekommen soll
mainInterface.log(logtype, tag, message)
Diese Funktion schreibt einen Logeintrag. Das Log kann im Desktop-Viewer & Web-Viewer über den - Button geöffnet werden.
Parameter
- logtype
Als Logtype stehen die Konstanten „I“ für Information, „W“ für Warning und „E“ für Error zur Verfügung. Diese werden im Log unterschiedlich farblich dargestellt.
- tag
Gibt den Ursprung des Logeintrags an
- message
Die Nachricht, die geloggt werden soll
mainInterface.playAudio(filename)
Diese Funktion gibt eine Audiodatei im Viewer wieder.
Parameter
- filename
Der Name der Audio-Datei (inkl. Dateiendung) die zuvor im QuickHMI Editor importiert wurde.
mainInterface.openView(viewname)
Diese Funktion öffnet eine Seite oder eine Sicht.
Parameter
- viewname
Der Name einer Seite oder eines Views.
Soll eine Sicht (ein kleinerer Teil einer Seite) angezeigt werden, so ist die Syntax dafür wie folgt: Seitenname.Viewname