jjacques68 Posté(e) le 8 août 2017 Signaler Posté(e) le 8 août 2017 (modifié) Bonjour à tous, J'ai un algorithme casse-tête : Je souhaite dans une scène, qui peut être déclenchée par plusieurs VG, exécuter une fonction. La fonction à exécuter est différente suivant le nom de la VG qui fait le déclenchement... Voilà ce que j'ai fait, ça marche mais je trouve ça hyper compliqué !!!!! pour ce que c'est... y a pas moyen de simplifier ?? --[[ %% properties %% events %% globals VG1 VG2 --]] local Trigger=fibaro:getSourceTrigger() --variable Objet contenant les fonctions local Objet = { VG1 = function (self) print("Fonction pour la VG1") end, VG2 = function (self) print("Fonction pour la VG2") end, } --variable contenant les Trigger et les actions associées local VGTrigger = { ["VG1"] = Objet:VG1(), ["VG2"] = Objet:VG2(), } --execution de la fonction pcall(VGTrigger[Trigger.varName]) merci à vous !!! Modifié le 8 août 2017 par jjacques68 plantage dans le copier/coller
PdB Posté(e) le 9 août 2017 Signaler Posté(e) le 9 août 2017 Bonjour, Pas simple en effet!!! Voici ce que j'utilise pour le même résultat: --[[ %% properties %% events %% globals VG1 VG2 --]] local Trigger=fibaro:getSourceTrigger() if Trigger["varName"] == "VG1" then print("action pour la VG1") end if Trigger["varName"] == "VG2" then print("action pour la VG2") end
jjacques68 Posté(e) le 9 août 2017 Auteur Signaler Posté(e) le 9 août 2017 Ah ok vu comme ça je restais bloqué sur des fonctions je sais pas pourquoi Envoyé de mon iPhone en utilisant Tapatalk Pro
pepite Posté(e) le 9 août 2017 Signaler Posté(e) le 9 août 2017 Bonjour, Le résultat est le même Mais ta solution fait : WAOUW le developpeur ;-)
Messages recommandés