mprinfo Posté(e) le 12 février 2015 Signaler Partager Posté(e) le 12 février 2015 Je voudrais crée un tableau plusieurs entré en lua Je saurai le faire en BASIC mais si quelqu'un pourrai me traduire cela en lua ex : ID = 0 For I=0 to 10 ID(i)=ID(i)+1 I=I+1 Next resultat ID1=1, ID2=2 ID3=3 etc... se voudrais savoir si il est aussi possible de faire une truc du genre ID(I,J) 2 questions si je rentre dans une variable Local ID = 1, 10, 25 ,40 comment fait on pour récuperer cela sous cette forme ID1 = 1 ID2 = 10 ID3 = 25 ID4 = 40 Merci d'avance pour votre aide Lien vers le commentaire Partager sur d’autres sites More sharing options...
Berale64 Posté(e) le 12 février 2015 Signaler Partager Posté(e) le 12 février 2015 Local ID = {1, 10, 25 ,40}; ID[2] donne 10 ID[4] donne 40 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 12 février 2015 Auteur Signaler Partager Posté(e) le 12 février 2015 ok merci par contre si je veux remplacer le chiffre [2] par une variable je mets ? pour la boucle je peux utilisé for to Next ou je dois utilisé un do while ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Berale64 Posté(e) le 12 février 2015 Signaler Partager Posté(e) le 12 février 2015 for i = 1,4 do ID end il y a de très bon tuto sur le net. https://www.google.fr/search?q=lua&ie=utf-8&oe=utf-8&gws_rd=cr&ei=a-LcVPuiDMatUbuCgvAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 12 février 2015 Auteur Signaler Partager Posté(e) le 12 février 2015 merci ça fait un moment que j'ai pas fais de programmation j'ai arreté a dbase 4 j'arrive a comprendre en parti un script en lua mais al syntaxe ??? je viens de trouver aussi cela. http://www.ozone3d.net/tutorials/lua_coding.php#intro et avec ton exemple ça roule Merci beaucoup je suis entrain de faire une télécommande pour mes volets je les regroupes par zone et je n' aime pas avoir pleins de ligne qui sont identique avec seulement un id qui change de plus si je ré inclus un module il faut tout modifié je préfére avoir un variable globale avec mes id c'est plus souple Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 12 février 2015 Auteur Signaler Partager Posté(e) le 12 février 2015 je viens de tester cela mais ca ne fonctionne pas local Id = {5, 7, 9}; local IdValue = {0, 0, 0}; for j = 1,3 do local IdValue[j] = fibaro:getValue(Id[j], 'value' ) end Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 13 février 2015 Auteur Signaler Partager Posté(e) le 13 février 2015 j'ai une erreur a ce niveau local IdValue[j] = fibaro:getValue(Id[j], 'value' ) je n'arrive pas a transférer la valeur de ID[j] dans IdValue[j] Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lionel57 Posté(e) le 13 février 2015 Signaler Partager Posté(e) le 13 février 2015 Il faut enlever le "local" dans ta boucle, la variable a déjàété déclarée Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 13 février 2015 Auteur Signaler Partager Posté(e) le 13 février 2015 super merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 13 février 2015 Auteur Signaler Partager Posté(e) le 13 février 2015 Voici le code enfin fonctionnel si ca peut servir a quelqu'un local V_Status = 99 -- Valeur 0=Fermer - 99 = Ouvert local V_Id = {5, 7, 9}; -- Id modules Volets local N_Modules = 3 -- Nombres de modules local V_IdValue = {}; -- Initialisation de la table fibaro:debug("Nombres Modules = " ..N_Modules) for i = 1,N_Modules do fibaro:call(V_Id[i], "setValue", V_Status ); -- Commande Module V_IdValue[i] = fibaro:getValue(V_Id[i], 'value' ); -- recuperation de la valeur du module fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblRDC.value", V_IdValue[i] .." %") fibaro:debug( V_IdValue[i] .." " .. i ) end 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Berale64 Posté(e) le 13 février 2015 Signaler Partager Posté(e) le 13 février 2015 Tu n'as pas besoin de "local N_Modules = 3" tu peux écrire #V_Id qui représente le nombre d'éléments de la table V_Id. Comme ça, si tu rajoute des éléments, ton code est toujours valable. 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 13 février 2015 Auteur Signaler Partager Posté(e) le 13 février 2015 Merci berale24 c'est ce que je voulais faire dans ma prochaine version mais je ne connaissais pas la commande Je vais aussi crée des variables globale pour grouper les id de mes volets par zone ca par contre je sais faire Merci pour votre aide Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 14 février 2015 Auteur Signaler Partager Posté(e) le 14 février 2015 petite question j'ai été obliger de faire une variable prédéfinie car la variable globale ne fonctionne pas pour mettre plusieurs id j'ai fais comme cela Zone1=5,7,9 Zone2=19,23,25 Zone3=29,27,17 -- traitement de la varialble globale Merci Steven function split(text, sep) local sep, fields = sep or ":", {} local pattern = string.format("([^%s]+)", sep) text:gsub(pattern, function(c) fields[#fields+1] = c end) return fields end local mon_tableau = fibaro:getGlobal('V_Zone1'); local V_Id = split(mon_tableau, ",") je récupere les id via le code que steven a fais je voudrais savoir si il n'est pas possible de faire une seule variable prédéfinie Zone et d'y mettre plusieurs parametre je ne sais pas comment récupérer le paramètre dont j'ai besoin variable prédéfinie = zone paramètre 1 valeur=5,7,9 paramètre 2 valeur=19,23,25 paramètre 3 valeur=29,27,17 Lien vers le commentaire Partager sur d’autres sites More sharing options...
trainkill666 Posté(e) le 14 février 2015 Signaler Partager Posté(e) le 14 février 2015 Cette méthode à l'air de fonctionner : local zone ={} local nbparametre, id1 = 1,1 zone["parametre" .. nbparametre.. ":" .. id1] = 5 fibaro:debug(zone["parametre1:1"]) à toi de créer les boucles pour nbparametre et id1 afin de remplir ou lire la table. 2ème méthode : créer un tableau à plusieurs dimensions : http://wxlua.free.fr/Tutoriel_Lua/Tuto/Tables/tables3.php Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 14 février 2015 Auteur Signaler Partager Posté(e) le 14 février 2015 je me suis mal exprimé J'arrive a récuperer les valeurs quand il n'y a qu'une ligne mais comment faire pour récupérer les valeurs de la ligne de mon choix merci pour ta réponse et le lien que tu m'as donné Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 22 février 2015 Auteur Signaler Partager Posté(e) le 22 février 2015 Quelqu'un peu m'aider ???? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés