971jmd Posté(e) le 23 avril 2020 Auteur Signaler Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 23 avril 2020 Signaler Partager Posté(e) le 23 avril 2020 Pas de guillemets t = {"lundi", "mardi"} print(t[1]) Envoyé de mon BLA-L29 en utilisant Tapatalk Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 23 avril 2020 Signaler Partager Posté(e) le 23 avril 2020 print(t[1]) Le chiffre 1 est en nombre ! il ne doit pas être entre guillemet ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 23 avril 2020 Signaler Partager Posté(e) le 23 avril 2020 oups sorry @mprinfo, j'avais pas vu ta réponse 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 23 avril 2020 Signaler Partager Posté(e) le 23 avril 2020 oui le chiffre indique la place de l'objet (index) dans la table Lien vers le commentaire Partager sur d’autres sites More sharing options...
971jmd Posté(e) le 23 avril 2020 Auteur Signaler Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 23 avril 2020 Signaler Partager Posté(e) le 23 avril 2020 jamais utilisé, je pense pas... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krikroff Posté(e) le 23 avril 2020 Signaler Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
971jmd Posté(e) le 24 avril 2020 Auteur Signaler Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
971jmd Posté(e) le 24 avril 2020 Auteur Signaler Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 24 avril 2020 Signaler Partager 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. Lien vers le commentaire Partager sur d’autres sites More sharing options...
971jmd Posté(e) le 24 avril 2020 Auteur Signaler Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 24 avril 2020 Signaler Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
971jmd Posté(e) le 24 avril 2020 Auteur Signaler Partager Posté(e) le 24 avril 2020 Ok merci je comprend mieux j’ai pas encore essayé, est-il possible de mettre break sous condition Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 24 avril 2020 Signaler Partager Posté(e) le 24 avril 2020 ben c'est le cas dans mon exemple, si i >= 20, il stop. Lien vers le commentaire Partager sur d’autres sites More sharing options...
971jmd Posté(e) le 24 avril 2020 Auteur Signaler Partager Posté(e) le 24 avril 2020 A bin oui, question bête Lien vers le commentaire Partager sur d’autres sites More sharing options...
971jmd Posté(e) le 24 avril 2020 Auteur Signaler Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 25 avril 2020 Signaler Partager Posté(e) le 25 avril 2020 affiche voir le code où tu appelles la fonction ... 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
971jmd Posté(e) le 25 avril 2020 Auteur Signaler Partager 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) Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 25 avril 2020 Signaler Partager Posté(e) le 25 avril 2020 c'est quoi "dessine_carre" ? tu veux afficher le résultat de qu'elle fonction ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
971jmd Posté(e) le 25 avril 2020 Auteur Signaler Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
971jmd Posté(e) le 25 avril 2020 Auteur Signaler Partager Posté(e) le 25 avril 2020 pour le moment je teste avec zerobrane studio, Exit-il un éditeur plus pédagogique ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 25 avril 2020 Signaler Partager 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()) Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 25 avril 2020 Signaler Partager 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... Lien vers le commentaire Partager sur d’autres sites More sharing options...
971jmd Posté(e) le 25 avril 2020 Auteur Signaler Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés