Aller au contenu

Comment Crée Un Tableau En Lua


mprinfo

Messages recommandés

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

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

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
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

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

×
×
  • Créer...