w-radel Geschrieben 19. Juli 2021 Geschrieben 19. Juli 2021 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
Goetz Geschrieben 19. Juli 2021 Geschrieben 19. Juli 2021 (bearbeitet) 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 19. Juli 2021 von Goetz
w-radel Geschrieben 21. Juli 2021 Autor Geschrieben 21. Juli 2021 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
Empfohlene Beiträge
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 erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden