Thomas_103 Geschrieben gestern um 09:58 Uhr Geschrieben gestern um 09:58 Uhr Hallo an die Spezialisten, wie kann ich die ausgegebene Liste eines Depot so hinbekommen damit die neue Zeile darunter erscheint und die erste Zeile in der angegebenen Position bleibt? LG Thomas Depots.mbp
Goetz Geschrieben vor 23 Stunden Geschrieben vor 23 Stunden Hallo @Thomas_103, weil die Textfelder vertikal immer zentriert positioniert werden, musst du für eine konstante Zeilenzahl sorgen. Die Anzahl Zeilen legst du einmal fest. Und dann füllst du jeden Text vor der Ausgabe mit Leerzeilen auf. Zu deiner EV: Weil du für jedes Schlagwort ein eigenes Ereignis angelegt hast, siehst du eine Fehlermeldung, wenn du dein Beispiel mit geöffnetem Protokollfenster betrachtest. Sobald der Zug nämlich im Depot ist, steht er für die weiteren Ereignisse nicht mehr zur Verfügung. Aber beim Betreten des einen Kontakts werden alle ihm zugewiesenen Ereignisse getriggert. Deshalb heißt es dann irgendwann: "Fahrzeug? Kenn ich nicht. Hier ist kein Fahrzeug ...", denn das ist schon durch eins der anderen Ereignisse ins Depot gewandert. Du musst bitte in einem einzelnen Ereignis alle Züge unterscheiden und jeden auf seinen Platz schicken. Und statt zig Schlagwörter einzeln abzufragen, speichere doch im Zug das zu ihm gehörige Depot. Das ist der Sinn von Objektvariablen. Schlagwörter sind hier meines erachtens das falsche Mittel. Viele Grüße Götz
Thomas_103 Geschrieben vor 23 Stunden Autor Geschrieben vor 23 Stunden (bearbeitet) Danke für deine Antwort @Goetz Wie teile ich dem Zug / Lok dass Depot zu? Und wie geht das mit den Textfeldern? LG Thomas Nachtrag: Die Züge sollen aber in zwei Depots (West und Ost) jeweils in die entsprechende Kategorie einfahren. Also TGV, Regional Bahn usw. Bearbeitet vor 23 Stunden von Thomas_103
RoniHB Geschrieben vor 22 Stunden Geschrieben vor 22 Stunden Hallo @Thomas_103, zum füllen der Liste habe ich, basierend auf @Roter Brummers Beispiel, ein benutzerdefiniertes Ereignis erstellt. function DepotInhalt(Depot) local Anzahl = Depot.count if Anzahl > 0 then local Textmuster_Zeile = "%2d %-16s %-20s" local Textmuster_Zusatz = " und %d weitere Züge" local Zugname = Depot.entries[0].name local Zuggattung = Depot.entries[0].variables["Zugtyp"] or " " local Liste = {Textmuster_Zeile:format(1, Zugname, Zuggattung)} local Leerzeile =" " local lfdNr = 1 for k, v in ipairs(Depot.entries) do if Anzahl > 10 and k >= 9 then Liste[10] = Textmuster_Zusatz:format(Anzahl-9) break else Zugname = v.name Zuggattung = v.variables["Zugtyp"] or " " table.insert(Liste, Textmuster_Zeile:format(k+1, Zugname, Zuggattung)) lfdNr = k+1 end end if Anzahl <= 10 then for i = lfdNr+1, 10, 1 do Liste[i] = string.format("%2d",i) end end return table.concat(Liste, "\n") else return " Depot ist leer" end end Zusätzlich wird die Objektvariable Zugtyp ausgegeben. Aufgerufen wird das Script beim betreten oder verlassen des Depots. Das Depot und die Textliste wird als Variable übergeben. $("Liste Depot 1").text = DepotInhalt($("Depot1")) In der graphischen EV sieht das so aus: In der Anlage stellt es sich so dar: Rechts sind die Taster zum starten der entsprechenden Züge. LG Ronald
Thomas_103 Geschrieben vor 21 Stunden Autor Geschrieben vor 21 Stunden Hallo Roland @RoniHB Könntest du mir die Anlage bzw. nur eine Anlage mit den Depots und der EV zur Verfügung stellen? Welche Eintragungen hast du in den Loks gemacht? Und wieviel Züge passen denn in ein Depot rein? LG Thomas
Goetz Geschrieben vor 21 Stunden Geschrieben vor 21 Stunden (bearbeitet) vor 1 Stunde schrieb Thomas_103: Wie teile ich dem Zug / Lok das Depot zu? Dort, wo du ein Schlagwort vergibst, kannst du stattdessen auch eine Variable vom Typ "Objekt" anlegen. Dieser Variablen gibst du in jedem Zug denselben Namen: "Depot Ost" (und später bekommt jeder Zug eine zweite Variable "Depot West") In der Variablen speicherst du das Ost Depot für diesen Zug (= ICE, EC, NightJet etc.) Und im Ereignis für den Kontaktpunkt gibst du dann das Depot als erweiterte Variable an. Objekt = Auslöser fahrzeug, Name = Depot Ost Depotlisten Vorschlag für Thomas.mbp Viele Grüße Götz Bearbeitet vor 21 Stunden von Goetz Schreibfehler korrigiert
Roter Brummer Geschrieben vor 21 Stunden Geschrieben vor 21 Stunden vor 7 Minuten schrieb Thomas_103: Könntest du mir die Anlage bzw. nur eine Anlage mit den Depots und der EV zur Verfügung stellen? Demo Depotlisten.mbp HG Brummi
Thomas_103 Geschrieben vor 21 Stunden Autor Geschrieben vor 21 Stunden Viel Dank @Goetz und @Roter Brummer
RoniHB Geschrieben vor 21 Stunden Geschrieben vor 21 Stunden vor 15 Minuten schrieb Thomas_103: Könntest du mir die Anlage bzw. nur eine Anlage mit den Depots und der EV zur Verfügung stellen? Hat @Roter Brummer und @Goetz bereits getan. vor 17 Minuten schrieb Thomas_103: Welche Eintragungen hast du in den Loks gemacht? Die Loks haben eine Textvariable, wo ich den Zugtyp oder eine andere zusätzliche Info eintragen und dann in der Liste anzeigen kann. Name: Zugtyp, Typ: Text, Wert: Güterzug vor 18 Minuten schrieb Thomas_103: Und wieviel Züge passen denn in ein Depot rein? Das weiss ich jetzt garnicht. Ich in meiner Liste zeige die ersten 10 Züge und die Anzahl der restlichen Züge an.
Thomas_103 Geschrieben vor 20 Stunden Autor Geschrieben vor 20 Stunden Kann man den Inhalt von drei Depots auf einem Textfeld ausgeben lassen? Wie trage ich das in das Skript ein? Mit LUA kenne ich mich Null aus. LG Thomas
Phrontistes Geschrieben vor 19 Stunden Geschrieben vor 19 Stunden vor 1 Stunde schrieb Thomas_103: Kann man den Inhalt von drei Depots auf einem Textfeld ausgeben lassen? Du verkettest die Ergebnisse, die das Skript DepotInhalt liefert (hier: für zwei Depots): $("Beschriftung Depot Ost").text = DepotInhalt($("Depot Einfahrt Ost")) .. "\n" .. DepotInhalt($("Depot Einfahrt West"))
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