Table of Contents

Direktes Anfahren eines Drehscheiben-Gleisabgangs durch Anklicken eines zugeordneten Objekts

Bei dieser Variante muss für jeden Gleisabgang ein eigenes Objekt angelegt werden.
Im Prinzip sind unterschiedliche Rocrail-Objekte dafür denkbar, da nur die Objektkennung ausgewertet wird.
Am besten geeignet sind allerdings Textfelder, da man hier einen aussagekräftigen Text hinterlegen kann.
Weiters benötigt man dazu noch eine Aktion, die in jedes dieser Textfelder eingetragen werden muss, sowie eine Variable und ein kurzes xml-Script.

Schritt 1: Aktion anlegen und definieren

:!: Info: Die Aktion wird benötigt um das xml-Script aufzurufen

Schritt 1a: Aktion anlegen

Schritt 1b: Aktion definieren

Schritt 2: Textfelder anlegen

Schritt 2a: Textfeld im Gleisplan einzeichnen

Schritt 2b: Eigenschaften des Textfeldes einstellen

Schritt 2c: Dem Textfeld die Aktion zuordnen


:!: Hinweis: Schritte 2a bis 2c für alle Gleisabgänge wiederholen, die durch Anklicken eines entsprechenden Textfeldes angefahren werden sollen

Schritt 3: Variable anlegen

:!: Info: Die Variable wird für das xml-Script benötigt

Schritt 4: xml-Script anlegen

:!: Anmerkung 1: Es hat sich bewährt, eigene xml-Scripts in einem eigenen Ordner des Arbeitsbereichs abzulegen. Der Pfad zu diesem Ordner muss in den Rocrail Eigenschaften im Tab Allgemein korrekt eingestellt werden, damit die Scripts auch gefunden werden
:!: Anmerkung 2: Auf Windows-PCs hat sich der freie Texteditor Notepad++ zum Erstellen von xml-Scripts bewährt. Der in Windows integrierte Editor sollte aus Kompatibilitätsgründen dazu nicht verwendet werden

  <?xml version="1.0" encoding="UTF-8"?>
  <xmlscript desc="Direktes Anfahren eines Gleisabgangs durch Klick auf ein zugeordnetes Textfeld">
 
  <!-- Kennung des Textfeldes auswerten und zwischenspeichern -->
    <vr id="ZwSp_ttButton" text="%callerid%" start="6" length="2" generated="true"/>
    <vr id="ZwSp_ttButton" value="##0ZwSp_ttButton"/>
 
  <!-- Drehscheibe auf Position drehen -->
    <tt id="999" cmd="#ZwSp_ttButton"/>
  </xmlscript>

Fertig. :-)