Table of Contents
XmlScript-Kurzanleitung
- Aktionen definieren | Aktions-Steuerung | Aktions-Bedingung | XML-Skripte | Beispiele | Beispiel 2 Bahnübergang
1: Einführung
Diese kleine Anleitung wird versuchen Kenntnisse zu vermitteln, wie XmlScript-Aktionen in Rocrail verwendet werden.
Voraussetzungen
- Wissen, wie Aktionen angelegt werden.
- Wissen, wie Aktionen mit Objekten verknüpft werden.
- Kenntnisse einiger XML-Grundlagen.
- Eine Rocrail-Installation mit Revision 10289+.
2: Hello World
Dieses Kapitel wird in wenigen Schritten zeigen, wie ein XmlScript verwendet werden kann.
Der Gleisplan
Der Gleisplan ist sehr einfach und enthält nur einen Taster b1 und ein Textfeld t1
Ziel ist, mit dem Taster ein XmlScript auszulösen, das "Hello world!" im Textfeld anzeigt.
Erzeugen des Scripts
- Erzeugen einer Aktion mit der Kennung script1.
- In das Befehl-Datei-Feld script1.xml schreiben.
- Auf die Edit-Schaltfläche klicken.
Nach Klick auf die Edit-Schaltfläche öffnet sich der XmlScript-Editor mit einem XmlScript-Gerüst:
- Den Cursor im XmlScript-Editor irgendwo zwischen <xmlscript> und </xmlscript> platzieren.
- In der Anweisung-Box text auswählen.
- In der Kennung-Box t1 auswählen.
- In der Befehl-Box format auswählen.
- In die Parameter-Box Hello world! schreiben.
- Die Einfügen-Schaltfläche anklicken.
- Die neue Zeile wird angezeigt.
- Die Speichern-Schaltfläche anklicken.
Aktion mit dem Taster verknüpfen
Nun muss die Verknüpfung mit dem Taster b1 definiert werden.
- Registerkarte Eigenschaften des Tasters b1 öffnen.
- Aktionen…-Schaltfläche anklicken.
- Aktions-Kennung script1 auswählen.
- Status on auswählen.
- Hinzufügen-Schaltfläche anklicken.
- OK-Schaltfläche anklicken.
Test des XmlScripts
Jetzt ist alles für den letzten Test bereit.
- Taster b1 anklicken.
- Farbe des Tasters b1 wechselt Grün.
3: Eine Entscheidung fällen
In diesem Kapitel wird eine Entscheidung gefällt, die vom Inhalt des Textfeldes t2 abhängig ist.
Der Gleisplan
Der Gleisplan ist um das Textfeld t2 erweitert.
Der Inhalt dieses neuen Textfeldes wird für die XmlScript-Entscheidung verwendet.
Das Textfeld t2 hat die Eingabefeld-Option, um das Ändern des enthaltenen Textes zu erleichtern.
Erweiterung des Scripts
Das Ziel ist, den neuen Text für das Textfeld t1 vom Inhalt des Textfeldes t2 abhängig zu machen.
- Aktions-Dialog öffnen, auf die Aktion script1 doppelklicken, um den XmlScript-Editor zu öffen.
- Das existierende XmlScript wie folgt erweitern:
<?xml version="1.0" encoding="UTF-8"?> <xmlscript> <if condition="$t2 # 4711"> <then> <tx id="t1" format="t2 is 4711 :)"/> </then> <else> <tx id="t1" format="t2 is not 4711 but $t2 :("/> </else> </if> </xmlscript>
Mit der <if>-Anweisung kann eine Auswahl durchgeführt werden. Diese Auswahl muss in der condition-Eigenschaft (Bedingung) der <if>-Zeile definiert werden.
In diesem Beispiel ist Bedingung (condition) wie folgt definiert:
Der Inhalt des Textfeldes t2, $t2 wird textlich verglichen # mit dem Wert 4711. |
Wenn die Bedingung "wahr" ist, werden alle Befehle zwischen <then> und </then> ausgeführt.
Wenn sie "nicht wahr" ist und es einen <else>-Knoten gibt, werden alle Befehle zwischen <else> und </else> ausgeführt.
Weil Textfeld t2 als ein Eingabefeld definiert ist, kann man mit ändern des t2-Inhalts und Taster b1 herumspielen.