971jmd Posté(e) le 23 avril 2020 Auteur Signaler Posté(e) le 23 avril 2020 il y a une heure, jjacques68 a dit : moi c'était un MO5 de thomson, branché sur la télé avec un stylet où on pouvait cliquer sur l'écran. dommage je l'ai plus ... moi c'est MO5 1985 et en suite Atari ST il m'arrive de jouer encore sur des jeux MO5 avec un émulateur MO5 sur pc 1
mprinfo Posté(e) le 23 avril 2020 Signaler Posté(e) le 23 avril 2020 Pas de guillemets t = {"lundi", "mardi"} print(t[1]) Envoyé de mon BLA-L29 en utilisant Tapatalk
jjacques68 Posté(e) le 23 avril 2020 Signaler Posté(e) le 23 avril 2020 print(t[1]) Le chiffre 1 est en nombre ! il ne doit pas être entre guillemet !
jjacques68 Posté(e) le 23 avril 2020 Signaler Posté(e) le 23 avril 2020 oups sorry @mprinfo, j'avais pas vu ta réponse 1
mprinfo Posté(e) le 23 avril 2020 Signaler Posté(e) le 23 avril 2020 oui le chiffre indique la place de l'objet (index) dans la table
971jmd Posté(e) le 23 avril 2020 Auteur Signaler Posté(e) le 23 avril 2020 est-il possible de réalisée un code contenant io.read avec le debug de fibaro ? en gros répondre a une question du style: voulez-vous allumez la lampe ? 1=ON 0=OFF
jjacques68 Posté(e) le 23 avril 2020 Signaler Posté(e) le 23 avril 2020 jamais utilisé, je pense pas...
Krikroff Posté(e) le 23 avril 2020 Signaler Posté(e) le 23 avril 2020 La librairie io n’est pas disponible et ne le sera je pense jamais pour des raisons de sécurité.Envoyé de mon iPhone en utilisant Tapatalk
971jmd Posté(e) le 24 avril 2020 Auteur Signaler Posté(e) le 24 avril 2020 (modifié) salut j'ai réalisée ce petit code avec la boucle while true do, mai il me semble pas très stable. quand je dépasse la barre de 50% la luminosité ce place à 49% jusque-la ça va mai j'ai le message "vous etre pas autorisée réglée la lampe à plus 50%" qui serépète 2 ou 3 fois dans le debug, après avoir dépassé la valeur de 50% --[[ %% properties 33 value %% events %% globals --]] local lp1 = tonumber(fibaro:getValue(33, "value")) print("Valeur du Module = "..lp1.. " %") -- On démarre une boucle while true do -- si a est supérieur à 50% alors retour de la lampe à 48% if (lp1 >= 50) then print("vous etre pas autorisée réglée la lampe à plus 50%") fibaro:call(33, "setValue", "49") fibaro:abort() end -- si a est inférieur à 50, la lecture du script continue lp1 = lp1 +1 -- on attend 1 seconde fibaro:sleep(1000) end [DEBUG] 22:30:24: Valeur du Module = 70 % [DEBUG] 22:30:24: vous etre pas autorisée réglée la lampe à plus 50% [DEBUG] 22:30:24: Valeur du Module = 49 % [DEBUG] 22:30:25: vous etre pas autorisée réglée la lampe à plus 50% Modifié le 24 avril 2020 par 971jmd
971jmd Posté(e) le 24 avril 2020 Auteur Signaler Posté(e) le 24 avril 2020 j'ai trouver plus simple, mai rien n'avoir avec :while true surement que je n'ais pas encore bien compris l'utilité de while true enfin le petit code test fonctionne local a = tonumber(fibaro:getValue(33, "value"))-- 'a' représente la fonction qui récupère (get) la valeur (Value) de l'intensité (value) du spot 107 print ("la valeur de la lampe est:" ..a.. " %") if tonumber(a) >= 50 then -- si la valeur récupérée (ramenée en valeur numérique grâce à tonumber) est supérieure à 1 (allumé), alors print ('vous etre pas autorisée réglée la lampe à plus 50%') fibaro:call(33, "setValue", "49") end
jjacques68 Posté(e) le 24 avril 2020 Signaler Posté(e) le 24 avril 2020 je pense que le module démarre la scène à chaque changement de sa valeur. 1,2,3...,48,49,50... donc donc dans ce cas, pas besoin de boucle while true do. ça se prend les pieds dans le tapis... Surtout que sur la HC2, tu peux avoir plusieurs instance de scène qui se lancent simultanément... Ton second bout de code est ce qu'il faut faire.
971jmd Posté(e) le 24 avril 2020 Auteur Signaler Posté(e) le 24 avril 2020 (modifié) salut je revient au base de la fonction WHILE que je commence a bien comprendre le fonctionnement. mai il reste quelle que interrogative. t'en que je suis sous la barre de 20 pas d’exécution si je comprend bien mai si je souhait une exécution du style print("attention vous avez dépassées la barre de 20%") ou dois je la placée dans le code ? et autre chose quel est la fonction de DO local i =10 if (i <= 20) then print("--------------------------------------------------") print("OK vous est sous la barre de 20%") print("--------------------------------------------------") end while i <= 20 do -- tant que i reste inférieur ou égal à 20 i = i + 1 -- on incrémente i end Modifié le 24 avril 2020 par 971jmd
jjacques68 Posté(e) le 24 avril 2020 Signaler Posté(e) le 24 avril 2020 le "do" fait partie de la fonction while. c'est : while condition is true do. c'est comme ça. ben dans la boucle while, tu places : while i <= 50 do -- tant que i reste inférieur ou égal à 50 i = i + 1 -- on incrémente i print(i) if i >= 20 then print("attention vous avez dépassées la barre de 20%") break end end j'ai mis volontairement 50 pour la condition du while, sinon ça sert à rien. le "break" permet de sortir de la boucle, donc de ne pas continuer d'incrémenter 1
971jmd Posté(e) le 24 avril 2020 Auteur Signaler Posté(e) le 24 avril 2020 Ok merci je comprend mieux j’ai pas encore essayé, est-il possible de mettre break sous condition
jjacques68 Posté(e) le 24 avril 2020 Signaler Posté(e) le 24 avril 2020 ben c'est le cas dans mon exemple, si i >= 20, il stop.
971jmd Posté(e) le 24 avril 2020 Auteur Signaler Posté(e) le 24 avril 2020 (modifié) Je cherche comment affichée par un PRINT la valeur finale que renvoi le RETURN calcul function mafonction() local a = 10 local b = 200 local c = 5 local calcul = false if (a < b) then calcul = (c < a) end return calcul end Modifié le 24 avril 2020 par 971jmd
jjacques68 Posté(e) le 25 avril 2020 Signaler Posté(e) le 25 avril 2020 affiche voir le code où tu appelles la fonction ... 1
971jmd Posté(e) le 25 avril 2020 Auteur Signaler Posté(e) le 25 avril 2020 J'ai testé comme ça et quel que soit le résultat j'ai nil function mafonction() local a = 1 local b = 200 local c = 0 local calcul = false if (a < b) then calcul = (c < a) end end function resultat(taille) mafonction(taille)end print(dessine_carre)
jjacques68 Posté(e) le 25 avril 2020 Signaler Posté(e) le 25 avril 2020 c'est quoi "dessine_carre" ? tu veux afficher le résultat de qu'elle fonction ?
971jmd Posté(e) le 25 avril 2020 Auteur Signaler Posté(e) le 25 avril 2020 aii je n'ai pas collé le bon code function mafonction() local a = 10 local b = 200 local c =5 local calcul = false if (a < b) then calcul = (c < a) end print(calcul) end function resultat(ok) mafonction(ok)end print(resultat) Désolé je découvre la chose En gros je cherche à afficher TRUE ou FALSE selon le résultat
971jmd Posté(e) le 25 avril 2020 Auteur Signaler Posté(e) le 25 avril 2020 pour le moment je teste avec zerobrane studio, Exit-il un éditeur plus pédagogique ?
jjacques68 Posté(e) le 25 avril 2020 Signaler Posté(e) le 25 avril 2020 c'est quoi le "ok" que tu passes comme argument aux fonctions ? il n'y en a pas l'utilité !! fait les enlever ! pour le print de la fonction résultat : print(resultat())
jjacques68 Posté(e) le 25 avril 2020 Signaler Posté(e) le 25 avril 2020 il y a 2 minutes, 971jmd a dit : pour le moment je teste avec zerobrane studio, nan je n'en connais pas. je code directement dans la box...
971jmd Posté(e) le 25 avril 2020 Auteur Signaler Posté(e) le 25 avril 2020 ok Ça fonctionne avec print(resultat()) L'idée de mon script est créée une 1ère fonction mafonction et une 2emme resultat qui récupère le résultat du 1er C'est une grande premier pour moi et j'apprécies vivement ton aide
Messages recommandés