User Tools

Site Tools


xmlscripting:course-de
no way to compare when less than two revisions

Differences

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


xmlscripting:course-de [2018/11/12 08:56] (current) – created - external edit 127.0.0.1
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 by 127.0.0.1