Jump to content

reading the name of a locomotive?


Empfohlene Beiträge

When a Locomotive enters a track, how do I read it's name and place that name in a variable?  Can I then place that name into a condition on another event?

Wenn eine Lokomotive eine Spur kommt, wie lese ich seinen Namen und in einer Variablen diesen Namen setzen? Kann ich auf ein anderes Ereignis, diesen Namen in einen Zustand legen Sie dann?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hello Curt,
(deutsche Fassung am Ende)

I have updated the example above:

Loco identification 2.jpg

Loco identification 2.mbp

Now, you additionally find 2 variants of variable check:

Event control.png

The folder "Example Check 1" contains 2 variable check events which test whether the variable changes to a specific value (this can also be a reference to a variable ($VariableName)). But it is necessary, that a value is really specified in the value field. If you don't specify a value here (value field contains nothing), the "empty string" (containing not any character) is assumed as value.

To make the event activatable in any cases where the variable alters, independent of its real value, you must check the variable for its actual value ($VariableName of variable to be checked), where the test result is always true. Then, you can use the Conditions part of the event definition to check the variable for a specific value (or other variable content). This is realized in the folder "Example Check 2" of the present event definition package: The event reacts to any varable modification independent of the variable content, then checks the value in the Conditions part, and finally starts an action if the condition matches as well as an alternaive action if the condition doesn't match. 

Many greetings
BahnLand

Deutsche Fassung:
Das Ereignis "Variable wird gesetzt" erwartet immer einen konkreten Variablenwert, auf den die Variable verglichen werden kann. Bei der Abfrage nach Textinhalten kann hierbei nur auf Gleichheit abgefragt werden. Lässt man das Eingabefeld für den Wert leer, wird als Wert die "leere Zeichenkette" (kein Zeichen vorhanden) angenommen. Das Ereignis wird also nur dann ausgelöst, wenn die (Text-)Variable den in der Ereignisdefinition sspezifizierten Wert (kann auch eine Referenz auf eine Variable sein ($Variablen-Name)) besitzt.

Um das Ereignis bei jeder beliebigen Variablen-Änderung auszulösen, setzt man als Vergleichswert den aktuellen Inhalt der Variable ein (Beispiel: Name der Variablen = CheckVariable, Vergleichswert = $CheckVariable). Dieser Vergleich ist immer "wahr", sodass das Ereignis bei jeder Änderung der Variable ausgelöst wird, ohne dass man den Inhalt der Variable kennen muss. Den tatsächlichen Vergleich schiebt man dann in den Abschnitt "Bedingungen" der Ereignisdefinition und kann dann sowohl Aktionen für die Erfüllung der Bedingung als auch Alternativ-Aktionen für den Fall, dass die Bedingung nicht erfüllt ist, spezifizieren. Ein entsprechendes Beispiel befindet sich im Abschnitt "Example Check 2" der Ereignisdefinition des beigefügten Anlagen-Beispiels.

Viele Grüße
BahnLand

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...