jloos Posted November 17, 2022 Posted November 17, 2022 Hallo, ich bitte die Lua-Experten noch mal um ein Tool. Mit der Zeit vermehren sich die Schlagwörter. Einige haben gar keine Funktion mehr. Über die Bauteilliste mit F3 könnte man sich die Verwendung jedes Schlagwortes anzeigen lassen. Kann man das auch als Liste bekommen, so daß man die nicht verwendeten Schlagwörter leichter finden kann? Ich würde mich darüber sehr freuen Danke schon mal, Jürgen
Goetz Posted November 17, 2022 Posted November 17, 2022 vor 1 Stunde schrieb jloos: Kann man das auch als Liste bekommen ..? Hallo Jürgen, Du kannst die F3 Liste nach Schlagwort filtern, sprich dir nur die Modelle anzeigen lassen, welche ein bestimmtes Schlagwort haben. Dafür ist die Lupe oben rechts in der Strukturansicht. Deine Schlagwörter findest du unter den Variablen: entspricht das dem, was du suchst? Götz
Goetz Posted November 18, 2022 Posted November 18, 2022 (edited) ergänzend: Du benötigst keine Lua Kenntnisse, um ein nicht mehr benötigtes Schlagwort mit einer einzigen Aktion aus allen Objekten auf der Anlage zu entfernen: Wenn du es gerne in Lua haben möchtest, würde ich folgende Schreibweise empfehlen: local Wort = "Beispiel" local Liste = layout:getEntitiesByKeyword(Wort) for i, Objekt in ipairs(Liste) do Objekt.variables[Wort] = nil end Viele Grüße Götz Edited November 18, 2022 by Goetz Skript hinzugefügt
Herman Posted November 18, 2022 Posted November 18, 2022 (edited) Hello, it should be nice if we can find all objects + keyword that have a keyword in a layout. Without knowing the name of the keywords. (*) Hallo, es wäre schön, wenn wir alle Objekte + Schlüsselwort finden könnten, die ein Schlagwort in einem Layout haben. Ohne den Namen der Schlagworter zu kennen. (*) (*) I found an easy solution for my problem that is sufficient. Ich habe eine einfache Lösung für mein Problem gefunden, die ausreichend ist. (*) Ich habe eine einfache Lösung für mein Problem gefunden, die ausreichend ist. This list is enough for me, to have a quick look at what keywords are already used in this layout. To keep new ones unique. Diese Liste reicht mir aus, um einen kurzen Blick darauf zu werfen, welche Schlagworter bereits in diesem Layout verwendet werden. Damit neue einzigartig bleiben. Regards, Herman Edited November 18, 2022 by Herman clarification
jloos Posted November 18, 2022 Author Posted November 18, 2022 vor 14 Stunden schrieb Goetz: entspricht das dem, was du suchst? Hallo Goetz, das ist nicht das, was ich mit vorstelle. Eine Liste aller Schlagwörter und das betreffende Objekt. Die Liste läßt sich dann mit einem Editor nach Belieben sortieren. Gruß Jürgen
Goetz Posted November 18, 2022 Posted November 18, 2022 vor 24 Minuten schrieb jloos: Eine Liste aller Schlagwörter und das betreffende Objekt. Da habe ich leider kein passendes Lua Rezept. Aber ich bin neugierig, was dir diese Liste gäbe, das du mit den aufgeführten Mitteln nicht erreichen kannst?
HaNNoveraNer Posted November 18, 2022 Posted November 18, 2022 Dazu müßte es eine Lua Funktion geben, die alle Variablen eines Objekts durchgeht. Und für die Schleife: "Für alle Objekte mit einem Schlagwort" müßte man "*" als Suchkriterium angeben können für das Schlagwort. Damit könnte man Variablen als Schlagwort identifizieren und in eine Liste schreiben. Vielleicht baut @Neo das mal irgendwann ein? Gruß Thomas
Neo Posted November 18, 2022 Posted November 18, 2022 vor 8 Minuten schrieb HaNNoveraNer: Dazu müßte es eine Lua Funktion geben, die alle Variablen eines Objekts durchgeht. Diese gibt es bereits: for k, v in pairs($("Objekt").variables) do if v == keyword then print(k) end end Viele Grüße, Neo
Herman Posted November 19, 2022 Posted November 19, 2022 (edited) Hello, I could not resist. Hallo, ich konnte nicht widerstehen. layout:enumEntities( function (AnObject) for k, v in pairs(AnObject.variables) do if v == keyword then print(AnObject.name) print("key : " .. k ) end end end ) or ( tipp from Hannoverner see next post) layout:enumEntities( function (AnObject) OldObj = nil for k, v in pairs(AnObject.variables) do if v == keyword then if AnObject == OldObj then else print(AnObject.name) end print("key : " .. k ) OldObj = AnObject end end end ) All objects in a layout with a keyword + keyword. Gives : Alle Objekte in einem Layout mit einem Schlagwort + Schlagwort Gibt : Example 2 objects have each two keywords here. Beispiel 2 Objekte haben hier jeweils zwei Schlüsselwörter. But not very practical, only an exercice, regards Herman Aber nicht sehr praktisch, nur eine Übung, Grüße Herman Edited November 20, 2022 by Herman Tipp from Hannoverner
HaNNoveraNer Posted November 19, 2022 Posted November 19, 2022 Print object Name only if it has changed.
jloos Posted November 20, 2022 Author Posted November 20, 2022 Danke für die Antworten. Ich bin erst heute Abend wieder zu Hause um das auszuprobieren. Ich melde mich dann. Gruß Jürgen
jloos Posted November 21, 2022 Author Posted November 21, 2022 Am 19.11.2022 um 19:36 schrieb Herman: Aber nicht sehr praktisch, nur eine Übung Hallo Herman, ja, das hat schon sehr viel schönes. Vor AnObject.name habe ich noch "Objekt : " eingefügt, die Reihenfolge geändert und in eine Reihe geschrieben. Meine Hoffnung, Objekt und Key in eine Reihe zu bringen hat sich dadurch nicht ergeben. layout:enumEntities( function (AnObject) for k, v in pairs(AnObject.variables) do if v == keyword then print("key : " .. k ) print("Objekt : " .. AnObject.name) end end end ) So sieht das bei mir aus: [08:51:19] Schalter wird betätigt -> Taster Schlagwörter auflisten, 1 [08:51:19] Schalter wird betätigt [08:51:19] key : Abstellgleise durchsuchen [08:51:19] Objekt : GTK-Brems-Rangierbahnhof 03 [08:51:19] key : Abstellgleis im Rangierbahnhof [08:51:19] Objekt : 9101 [08:51:19] key : Vorbremsen [08:51:19] Objekt : GKT Vorbremsen 04 [08:51:19] key : Vorbremsen [08:51:19] Objekt : GKT Vorbremsen 07 [08:51:19] key : FS Strecke [08:51:19] Objekt : GKT FS Strecke 01 [08:51:19] key : FS aus SB [08:51:19] Objekt : H/V Signal SB 18 [08:51:19] key : freies Gleis im SB2 finden [08:51:19] Objekt : GKT FS Strecke 02 [08:51:19] key : FS aus SB [08:51:19] Objekt : H/V Signal SB 04 [08:51:19] key : Signal [08:51:19] Objekt : H/V Signal Bahnhof rechts 01 Ich möchte damit eine Pivot Tabelle machen. Dementsprechend muß ich das noch ein bißchen bearbeiten. Vielen Dank erstmal 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