Goetz Geschrieben 14. August 2019 Geschrieben 14. August 2019 (bearbeitet) Am 12.08.2019 um 18:29 schrieb metallix: Ich wuerde es begruessen wenn unter Bedingungen auch das vorhandensein eines schlagwortes als option gewaehlt werden koennte. Dank Neo habe ich dazu jetzt einen Vorschlag. Mittels Lua kann man alle Elemente, die ein bestimmtes Schlagwort (engl: keyword) haben, als Tabelle bekommen. Der Funktion dazu heißt: layout:getEntitiesByKeyword() und sie benötigt als Argument das Schlagwort. Da das Wort ein String ist, muss es den Lua Regeln folgend in Anführungsstrichen stehen. Die Funktion liefert eine Tabelle zurück. In der angehängten Beispielanlage habe ich 12 Schalter abwechselnd mit dem Schlagwort "ungerade" und "gerade" versehen. Mit den folgenden zwei Zeilen Lua gebe ich diesen beiden Gruppen die Namen GruppeA und GruppeB GruppeA = layout:getEntitiesByKeyword("ungerade") GruppeB = layout:getEntitiesByKeyword("gerade") Wird der Kippschalter betätigt, dann wird ein kleines Skript aufgerufen. Die Stellung 0 des Kippschalters dient dabei als Bedingung. Ist sie erfüllt, dann sieht das Skript so aus: local an, aus = 1, 0 for k, v in ipairs(GruppeA) do v.state = an end for k, v in ipairs(GruppeB) do v.state = aus end in ipairs liefert für die for-Schleife nacheinander alle Elemente der Tabelle, die in den Klammern genannt wird. Das Element steht in der Variablen v, der Index des Elements in k. Ich verwende im Beispiel nur v. Den Index benötige ich nicht. Ist die Bedingung "Kippschalter Stellung = 0" nicht erfüllt, dann wird ein nahezu identisches Skript ausgeführt. Nur die Zuweisung von "an" und "aus" ist vertauscht. Die Stellung des Kippschalters als Bedingung und die daraus resultierenden zwei nahezu identischen Skripte wären nicht nötig. Das kann man noch einfacher gestalten. Ich dachte nur, dass die Zusammenhänge so vielleicht deutlicher werden. Aus demselben Grund habe ich auch die Stellungen 0 und 1 sowie die Tabellen, welche layout:getEntitiesByKeyword() liefert, mit Namen versehen. Viel Spaß beim Ausprobieren Götz Auswahl per Schlagwort 01.mbp Bearbeitet 14. August 2019 von Goetz Schreibfehler korrigiert
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