Aller au contenu

Messages recommandés

Posté(e)

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

Posté(e)

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 ?

Posté(e)

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

Posté(e)

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
Posté(e)

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]

Posté(e)

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
  • Upvote 1
Posté(e)

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.

  • Upvote 1
Posté(e)

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 :D

Merci pour votre aide

Posté(e)

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

Posté(e)

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

Posté(e)

je me suis mal exprimé

 

post-374-0-31698100-1423933931_thumb.jpg

 

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é

×
×
  • Créer...