User Tools

Site Tools


xmlscripting:course-de

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

xmlscripting:course-de [2018/11/12 08:56] (current)
Line 1: Line 1:
 +====== XmlScript-Kurzanleitung ======
 +[[:​german#​objekte|{{ ​ :​objects.png}}]][[:​german|{{ ​ :​rocrail-logo-35.png}}]]
 +[[:​german|Inhalt]] -> [[:​german#​Objekte|Objekte]] ->  **[[:​timed-actions-de|Aktionen]]** ​
 +  * [[:​actions-de|Aktionen definieren]] | [[:​actionctrl-de|Aktions-Steuerung]] | [[:​actioncond-de|Aktions-Bedingung]] | **[[:​xmlscripting-de|XML-Skripte]]** | [[:​action-example-de|Beispiele]] | [[:​level-crossing-de|Beispiel 2 Bahnübergang]]
 +    * **[[course-de|Kurzanleitung]]**
 + \\
 +=====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====
 +  * {{:​xmlscripting:​plan-1.xml.zip}}
 +{{:​xmlscripting:​xmlscript-course-img1.png}}\\
 +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.
 +{{:​xmlscripting:​xmlscript-course-img2.png}}\\
 +Nach Klick auf die **Edit**-Schaltfläche öffnet sich der XmlScript-Editor mit einem XmlScript-Gerüst:​\\
 +{{:​xmlscripting:​xmlscript-course-img3-de.png?​800}}\\
 +
 +  - 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.
 +{{:​xmlscripting:​xmlscript-course-img4.png}}\\
 +
 +====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.
 +{{:​xmlscripting:​xmlscript-course-img5.png}}\\
 +
 +====Test des XmlScripts==== ​
 +Jetzt ist alles für den letzten Test bereit. ​
 +  - Taster **b1** anklicken. ​
 +  - Farbe des Tasters **b1** wechselt Grün. ​
 +{{:​xmlscripting:​xmlscript-course-img6.png}}\\
 +
 +
 +
 +=====3: Eine Entscheidung fällen=====
 +In diesem Kapitel wird eine Entscheidung gefällt, die vom Inhalt des Textfeldes **t2** abhängig ist.\\
 +====Der Gleisplan====
 +  * {{:​xmlscripting:​plan-2.xml.zip}}
 +{{:​xmlscripting:​xmlscript-course-img7.png}}\\
 +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:
 +<code xml>
 +<?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>​
 +</​code>​
 +
 +
 +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.\\
 +
 +
 +
 + \\
 +
 +=====4: Nächste Schritte=====
 +  * Auf der __**[[:​xmlscripting-de|XmlScript]]**__-Seite nachschauen,​ welche Anweisungen und Befehle verfügbar sind.
 +  * Die __**[[:​xmlscripting-de#​trace|Trace]]**__-Zeilen verwenden, um zu sehen was im eigenen Script geschieht.
 +
 +
 +
 +
  
xmlscripting/course-de.txt · Last modified: 2018/11/12 08:56 (external edit)