jloos Posted July 3 Posted July 3 (edited) Guten Morgen, Ich verwende eine Tabelle um die Fahrstraßen den Loks positionsabhängig zuzuweisen. Die Tabelle heißt Fahrstraße und enthält z.Zt. 50 Tabelleneinträge, die die Abfragestellen, also die Position auf der Anlage enthält. Zu jeder Abfragestelle kann ein Zugtyp also die Art des Zuges zugeordnet werden. Die Kombination aus Abfragestelle und ZugTyp ergibt dann die Fahrstraße. Bei 50 Tabelleneinträgen ist die Sache allerdings sehr unübersichtlich. Ich möchte nun die Tabelle in eine Exceltabelle übernehmen. Dafür möchte ich Euch bitten, mir ein Script zu schreiben, das mir die Einträge über das Ereignisprotokoll in der Reihenfolge " Abfragestelle ; ZugTyp ; Fahrstraße " ausgibt. Ein Bild der Tabelle hänge ich an. Danke schon mal für Eure Bemühungen. Gruß Jürgen Edited July 3 by jloos Rechtschreibfehler
Goetz Posted July 3 Posted July 3 Hallo Jürgen, magst du deine Anlage bitte veröffentlichen? Dann kann ich deine Tabellen für die Prüfung meines Ansatzes nutzen. Ich müsste sonst zuerst selbst ein Tabelle mit allen Inhalten erstellen. Dabei bestünde die Gefahr, dass ich Besonderheiten in deiner Tabelle (wie z.B. Zugtyp 10A) nicht berücksichtige. Solche Namen sind für das Vorhaben nämlich echte Fallstricke. Viele Grüße Götz
jloos Posted July 3 Author Posted July 3 Hallo @Goetz, ich kann meine Anlage nur exportieren, weil ich sehr viele eigene Weichenkonstruktionen verwende. Ich entschuldige mich schon mal, wenn bei schwachen Rechnern die FPS ziemlich runter geht. Wer Lust hat, kann mir helfen. Die Anlage läuft lange Zeit sauber, doch dann passiert es, das ein Zug nicht abfährt oder er keine neue Fahrstraße bekommt, oder er fährt in Fahrstraßen, die ihm nicht zugeordnet wurden. Ihr findet sicherlich Fehler. Ich freue mich auf Verbesserungsvorschläge und Fehleranalysen. Die Fahrstraßentabelle möchte ich in Excel sortieren, um Fehler aufzuspüren. Gruß Jürgen 240702_FS.mbp
Goetz Posted July 3 Posted July 3 (edited) Hallo Jürgen, mit folgendem Skript gelingt mir eine formatierte Ausgabe des Tabelleninhalts: local Text = "" local Muster = "%s\n%s;%s;%s" local t = $("Ereignisse").variables["Fahrstraße"] for i = 1, 50 do local Ort = string.format("%02d", i) if t[Ort] then for j = 1, 10 do local ZugTyp = string.format("%02d", j) if t[Ort][ZugTyp] then local Name = t[Ort][ZugTyp].name Text = Muster:format(Text, Ort, ZugTyp, Name) end ZugTyp = ZugTyp.."A" if t[Ort][ZugTyp] then local Name = t[Ort][ZugTyp].name Text = Muster:format(Text, Ort, ZugTyp, Name) end end end end $("Textfeld für Ausgabe").text = Text Die eigentliche Ausgabe habe ich in ein Textfeld geleitet, dem ich den Namen "Textfeld für Ausgabe" gegeben habe. Dafür dient die letzte Zeile im Skript. Von dort kann man sie relativ leicht aus den Eigenschaften per Copy entnehmen und in eine separate Textdatei übertragen. Das Skript selbst ist unschön und unleserlich. Das liegt unter anderem daran, dass deine einzelnen Zellen nicht nummeriert sind, sondern Zahlen in Form von Strings als Bezeichner haben. Ich hoffe, dass es für deinen Zweck genügt. Und falls du nur den Text benötigst (um ihn auf eventuelle Fehler abzuklopfen): 02;04;Strecke 001 02;07;Strecke 001 03;03;Strecke 041 03;04;Strecke 041 03;07;Strecke 041 04;01;Strecke 002 04;02;Strecke 002 04;07;Strecke 002 07;01;Strecke 012 07;02;Strecke 012 08;03;Strecke 019 08;04;Strecke 023 08;05;Strecke 019 08;07;Strecke 023 08;10;Strecke 023 08;10A;Strecke 098 11;03;Strecke 033 11;04;Strecke 076 11;05;Strecke 033 11;07;Strecke 076 11;10;Strecke 033 12;03;Strecke 004 12;10;Strecke 051 13;03;Strecke 015 13;05;Strecke 032 13;10;Strecke 052 15;04;Strecke 050 15;05;Strecke 050 15;07;Strecke 050 15;10;Strecke 100 16;04;Strecke 058 16;05;Strecke 074 16;07;Strecke 058 16;10;Strecke 074 18;04;Strecke 049 18;05;Strecke 029 18;07;Strecke 049 18;10;Strecke 049 19;10;Strecke 099 20;03;Strecke 016 20;10;Strecke 030 23;04;Strecke 070 23;07;Strecke 070 23;10;Strecke 070 25;03;Strecke 037 25;05;Strecke 037 25;10;Strecke 037 27;03;Strecke 020 27;05;Strecke 020 28;10;Strecke 096 30;03;Strecke 044 30;05;Strecke 044 30;10;Strecke 044 32;03;Strecke 095 32;05;Strecke 095 32;10;Strecke 095 34;03;Strecke 021 34;05;Strecke 021 34;10;Strecke 021 37;03;Strecke 035 37;05;Strecke 080 37;10;Strecke 035 39;01;Strecke 005 39;02;Strecke 005 39;03;Strecke 006 39;04;Strecke 006 39;05;Strecke 006 39;07;Strecke 006 39;10;Strecke 006 40;06;Strecke 043 40;09;Strecke 085 41;01;Strecke 009 41;02;Strecke 009 41;03;Strecke 010 41;04;Strecke 010 41;05;Strecke 010 41;07;Strecke 010 41;10;Strecke 010 42;03;Strecke 055 42;05;Strecke 093 42;10;Strecke 055 43;03;Strecke 066 43;05;Strecke 066 44;03;Strecke 036 44;05;Strecke 036 46;04;Strecke 077 46;07;Strecke 077 46;10;Strecke 071 49;03;Strecke 094 49;05;Strecke 094 50;03;Strecke 034 50;05;Strecke 034 Viele Grüße Götz Edited July 3 by Goetz Variablennamen geändert
Goetz Posted July 3 Posted July 3 Gern geschehen, Jürgen. Ich habe oben ein paar Variablen-Namen abgeändert in der Hoffnung, dass es dadurch ein wenig lesbarer wird.
jloos Posted July 4 Author Posted July 4 vor 13 Stunden schrieb Goetz: Die eigentliche Ausgabe habe ich in ein Textfeld geleitet, dem ich den Namen "Textfeld für Ausgabe" gegeben habe. Ergänzend für andere Interessierte noch eine Anmerkung: Die Ausgabe auf dem Textfeld endet bei mir mit 26 Zeilen. Aber der Tabelleninhalt kann in den Textfeld-Eigenschaften komplett kopiert werden Gruß Jürgen
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now