Jump to content
Zum Start hinzufügen

Weitere Informationen

3D-Modellbahn Studio

Eine Vollbild-App auf Ihrem Startbildschirm mit Push-Benachrichtigungen und mehr.

So installieren Sie diese App auf iOS und iPadOS
  1. Tippen Sie auf das Teilen-Symbol in Safari
  2. Scrollen Sie durch das Menü und tippen Sie auf Zum Startbildschirm hinzufügen.
  3. Tippen Sie oben rechts auf Hinzufügen.
So installieren Sie diese App auf Android
  1. Tippen Sie auf das 3-Punkte-Menü (⋮) in der oberen rechten Ecke des Browsers.
  2. Tippen Sie auf Zum Startbildschirm hinzufügen oder App installieren.
  3. Bestätigen Sie durch Tippen auf Installieren.

Empfohlene Beiträge

Geschrieben

Hallo,

gibt es keinen Zugriff auf die Variablen im Depot ?

   if $("Depot").count>0 then
        local tblFahrzeuge = $("Depot").entries
        print(tblFahrzeuge[0].name)                               (1)
        print(tblFahrzeuge[0].variables.einfahrt)            (2)
   end

(1) funktioniert noch

(2) funktioniert nicht

Ich möchte ein Fzg nur aus dem Depot holen, wenn seine vorgesehene Fahrstrasse frei ist

Grüße vom Liftboy

 

 

 

Geschrieben

Hallo @liftboy ,

Es gibt keinen Zugriff auf die Variablen von Fahrzeugen im Depot.

Vielleicht hilft Dir meine Beispielanlage "Depot mit Bedienpanel" (ID 26881CED-3751-4420-9C3C-2E228BBA6801 ) weiter. Dort werden in einer Liste die Zugnamen und der Rang gespeichert. Es wäre einfach, für einen Zugeintrag eine weitere Informationen in die Liste aufzunehmen. Siehe besonders die Ereignisse "Zug eintragen" und "Zug austragen".

Schau's Dir an und wenn Du Fragen hast ...

Viele Grüße,
    Wolfgang

 

Bearbeitet von prinz
ID nachgetragen

Geschrieben

Hallo @liftboy,

ergänzend zum Beitrag von @prinz.

vor 33 Minuten schrieb liftboy:

print(tblFahrzeuge[0].variables.einfahrt) 

Diese Anweisung um auf Variablen zuzugreifen, müsste bei Fahrzeugen, die sich nicht in einem Depot befinden,

lauten xxx.variables[“einfahrt“]  (Bei Text oder Zahlenvariablen)

Und wenn die Variable „Einfahrt“ ein Objekt oder eine Fahrstraße ist, dann xxx.variables[“einfahrt“].name

Und die Variable darf keine Listen oder Tabelle sein, sonst must du noch den Listenplatz angeben.

VG,

Hawkeye

Geschrieben
  • Autor

danke @prinz

hallo @Hawkeye

sorry die Lua Syntax läßt schon folgende im Ergebnis immer gleiche Schreibweisen zu:

test = { test1= {test2=10} }
Lok = {name="Köf",variables={name="Köf",test=true}}

print(Lok.name)
print(Lok.variables.name)
print(Lok.variables.test)

print(test.test1.test2)
print(test["test1"].test2)
print(test.test1["test2"])
print(test["test1"]["test2"])

es wird

Köf
Köf
true
10
10
10
10

ausgegeben

Gruß vom Liftboy

 

Geschrieben

Hallo @liftboy

if $("Depot").count>0 then
  local tblFahrzeuge = $("Depot").entries
  print(tblFahrzeuge[0].name)               -- (1)
  print(tblFahrzeuge[0].variables.einfahrt) -- (2) 
end 

(1) geht nicht, weil Dein Zugriff nicht stimmt.
local tblFahrzeuge = $("Depot").entries liefert keine Liste zurück! sondern .entries ist ein Direktzugriff auf den Eintrag.

if $("Depot").count>0 then
  print($("Depot").entries[0].name)  -- (1)
end 

... dann wird der Name auch ausgegeben.

Gruß
EASY

Geschrieben
  • Autor

sorry, @EASY

(1) funktioniert, aber (2) nicht

meine Schreibweise und Deine Schreibweise sind identisch !

Gruß vom Liftboy

 

Geschrieben
  • Autor

wahrscheinlich ist der Depot-Eintrag serialisiert damit ist das Objekt komprimiert und auch leicht transportierbar, und aus dem Umfeld verschwunden

aber das müßte @Neo beantworten

 

Bearbeitet von liftboy
ergänzt

Geschrieben
  • Autor
vor 2 Stunden schrieb prinz:

Hallo liftboy ,

Es gibt keinen Zugriff auf die Variablen von Fahrzeugen im Depot.

Vielleicht hilft Dir meine Beispielanlage "Depot mit Bedienpanel" (ID 26881CED-3751-4420-9C3C-2E228BBA6801 ) weiter. Dort werden in einer Liste die Zugnamen und der Rang gespeichert. Es wäre einfach, für einen Zugeintrag eine weitere Informationen in die Liste aufzunehmen. Siehe besonders die Ereignisse "Zug eintragen" und "Zug austragen".

Schau's Dir an und wenn Du Fragen hast ...

Viele Grüße,
    Wolfgang

 

Hallo @prinz

Deine Anlage ist total interessant, da finde ich bestimmt Anregungen, danke !

Geschrieben

Hallo liftboy,

aktuell unterstützt ein Depot-Eintrag nicht den Zugriff auf die Variablen. Das hat etwas damit zu tun, dass die Objekte in den Depots keine echten Objektinstanzen mehr sind. Es wäre zwar möglich, einen Zugriff auf die Variablen zu ermöglichen, allerdings wäre das dann auf Lua beschränkt. Das Ereignis "Variable wurde geändert" funktioniert damit nicht, und auch kann eine solche Variable nicht per grafischer EV adressiert werden. Weil das alles nicht richtig konsistent ist, gibt es aktuell diesen Variablenzugriff noch nicht.

Viele Grüße,

Neo

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Push-Benachrichtigungen konfigurieren

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.