Jump to content

Stringkombination in LUA


Empfohlene Beiträge

Hallo Gemeinde,

ich möchte ein Gleisbildstellpult abhängig von den Gleisbelegungen in einfacher Weise programmieren.

Zu diesem Zweck besitzen die Bausteine des GBS den Namen des Gleises, das angezeigt werden soll.

Z.B. Gleis „BHF 1“   --> GBS: „GBS0 BHF1“

Wenn nun ein Zug ein beliebiges Gleis betritt, möchte ich aus dem String „GBS0“ und dem Gleisnamen eine Variable erzeugen, mit der ich das GBS-Modul schalten kann. Etwa in dieser Art in LUA:

$("Gleisbelegung").variables["GBS-Baustein"] = "GBS0 " .. $("Gleisbelegung").variables["Neues Gleis"]

Leider funktioniert die Zusammensetzung der Strings nicht, obwohl jeder einzeln für sich funktioniert.

 

Gibt es dafür eine Lösung?

Vielen Dank im Voraus

Willi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Willi,

vor einer Stunde schrieb w-radel:

$("Gleisbelegung").variables["Neues Gleis"]

ist kein String, sondern eine Adresse. Die Objektadresse des Gleises, welches betreten wird.
Der Name des Objekts ist ein String.

Viele Grüße
Götz

Bearbeitet von Goetz
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Götz,

vielen Dank, das war hilfreich und so funktioniert es im Prinzip:

Gleis wird betreten:

 $("Gleisbelegung").variables["Neues Gleis"] = track.name
 $("Gleisbelegung").variables["GBS-Baustein"] = $("Gleisbelegung").variables["GBS0"] .. $("Gleisbelegung").variables["Neues Gleis"]
 layout:getEntityByName($("Gleisbelegung").variables["GBS-Baustein"]).state = 2

Gleis wird verlassen:

 $("Gleisbelegung").variables["Altes Gleis"] = track.name
 $("Gleisbelegung").variables["GBS-Baustein"] = $("Gleisbelegung").variables["GBS0"] .. $("Gleisbelegung").variables["Altes Gleis"]
 layout:getEntityByName($("Gleisbelegung").variables["GBS-Baustein"]).state = 0

Jetzt kann ich mit geringstem Aufwand ein "life-Bild" erstellen. Vielleicht kann es ja auch jemand brauchen.

Viele Grüße

Willi

 

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...