LUA Scripting sur V2.1.x
+4
JimboFarrar
Eric84AMC
Kilrah
Heisenberg
8 participants
Page 4 sur 7
Page 4 sur 7 • 1, 2, 3, 4, 5, 6, 7
Re: LUA Scripting sur V2.1.x
Merci de vos conseils,
BtRx, c'est la tension de l'accu de réception, ce que je cherche à retrouver, c'est l'accu d'émission. A la détection des capteurs, je n'ai rien qui ressemble à Batt ou TxBatt ou qqchose du genre.
A+
Jimbo
BtRx, c'est la tension de l'accu de réception, ce que je cherche à retrouver, c'est l'accu d'émission. A la détection des capteurs, je n'ai rien qui ressemble à Batt ou TxBatt ou qqchose du genre.
A+
Jimbo
JimboFarrar- Messages : 22
Date d'inscription : 17/12/2014
Age : 64
Localisation : Bordeaux
Re: LUA Scripting sur V2.1.x
Oui, je viens de voir ca. un test a faire :
Utiliser cette fonction :
l'appeler comme ca :
local mytxbatt= getValue(getTelemetryId("tx-voltage"))
Si on as -1 c'est que ce label n'est plus valide,ça donnera déjà une piste
G
Utiliser cette fonction :
- Code:
local function getTelemetryId(name)
field = getFieldInfo(name)
if field then
return field.id
else
return -1
end
end
l'appeler comme ca :
local mytxbatt= getValue(getTelemetryId("tx-voltage"))
Si on as -1 c'est que ce label n'est plus valide,ça donnera déjà une piste
G
Invité- Invité
Re: LUA Scripting sur V2.1.x
A voir les sources de la 2.1.3, "tx-voltage" devrait être toujours disponible (ligne 1924 de myeeprom.h) néanmoins, dans les écrans de télémétrie, pour obtenir cette valeur, il faut utiliser "Batt", est-ce nom nom qu'il faut utiliser, je n'ai pas approndi la chose.
Un chose est sûr, "tx-voltage", "clock", "timer1", "timer2" et "timer3" n'apparaissent pas dans les capteurs trouvés mais ils devraient être en principe disponibles dans LUA.
Un chose est sûr, "tx-voltage", "clock", "timer1", "timer2" et "timer3" n'apparaissent pas dans les capteurs trouvés mais ils devraient être en principe disponibles dans LUA.
Sacre100- Messages : 1889
Date d'inscription : 30/11/2013
Age : 67
Localisation : Blonay - Suisse
Cels
Le petit bout de script suivant fonctionne sous Companion mais bug sur ma radio (écran blanc).
J'ai fait une erreur quelque-part ou est-ce un réel bug ?
local function run(event)
lcd.lock()
lcd.clear()
local batt_cels = getValue("Cels")
lcd.drawNumber (100, 25, batt_cels, XXLSIZE + LEFT)
end
return { run = run }
Pareil pour ça, essayé au cas où...
local function run(event)
lcd.lock()
lcd.clear()
local batt_cels = getValue("Cels")
local test = (batt_cels* 3)
lcd.drawNumber (100, 25, test, XXLSIZE + LEFT)
end
return { run = run }
Impossible de récupérer la valeur Cels, si j'utilise VFAS à la place, le script ne pose aucun problème.
J'ai fait une erreur quelque-part ou est-ce un réel bug ?
local function run(event)
lcd.lock()
lcd.clear()
local batt_cels = getValue("Cels")
lcd.drawNumber (100, 25, batt_cels, XXLSIZE + LEFT)
end
return { run = run }
Pareil pour ça, essayé au cas où...
local function run(event)
lcd.lock()
lcd.clear()
local batt_cels = getValue("Cels")
local test = (batt_cels* 3)
lcd.drawNumber (100, 25, test, XXLSIZE + LEFT)
end
return { run = run }
Impossible de récupérer la valeur Cels, si j'utilise VFAS à la place, le script ne pose aucun problème.
Re: LUA Scripting sur V2.1.x
Utilise la fonction que j'ai donné 2 postes plus haut, ça te permet déjà de vérifier la validé des noms.
Sinon j'ai eu aussi un soucis qui semblait affecter le flvss et pas vfas, et comme dit plus haut, j'ai crée un second capteur qui reprend la valeur de cels (j'ai fait un calculé , add, et juste cels comme source), mais sans l'unité et la ça refonctionne. A tester
G
Sinon j'ai eu aussi un soucis qui semblait affecter le flvss et pas vfas, et comme dit plus haut, j'ai crée un second capteur qui reprend la valeur de cels (j'ai fait un calculé , add, et juste cels comme source), mais sans l'unité et la ça refonctionne. A tester
G
Invité- Invité
Re: LUA Scripting sur V2.1.x
Gandalf a écrit:.../...j'ai crée un second capteur qui reprend la valeur de cels (j'ai fait un calculé , add, et juste cels comme source), mais sans l'unité et la ça refonctionne. A testerG
Et ça marche très bien comme ça ! Merci pour l'astuce.
Les valeurs de Cels manipulés par la radio sont toutes dispo comme Cmin, Cmax etc...
Par contre, le script Lua ne peut pas utiliser directement Cels directement, c'est curieux.
Le fautif est le capteur défectueux ou OpenTX ?
Re: LUA Scripting sur V2.1.x
Sauf erreur quand tu getValue("Cels") ça te retourne un tableau avec les tensions de chaque élément, pas le total.
Kilrah- Messages : 2181
Date d'inscription : 28/01/2014
Localisation : Suisse
Re: LUA Scripting sur V2.1.x
Vu comme ça, c'est logique, mais un peu illogique que la radio ou qu'un Lua dans companion seulement puisse l'afficher comme un total, ça induit en erreur.Kilrah a écrit:Sauf erreur quand tu getValue("Cels") ça te retourne un tableau avec les tensions de chaque élément, pas le total.
Re: LUA Scripting sur V2.1.x
C'est juste souvient-toi, on en avait déjà parlé de getValue("Cels") : https://frskytaranis.forumactif.org/t2666p30-lua-scripting-sur-v2-1-x#31254
Pourquoi ça marche sur le simulateur et pas sur la radio, je n'ai pas d'explication et cela me surprend, peut-être un problème de casting, je ne sais pas.
En tout cas, en cas de problème comme ça, ne pas hésiter à regarder le type de la valeur retournée par getValue(...) :
- "nil" indiquerait plutôt une valeur inexistante
- "table" indique que getValue retourne plusieurs valeurs dans une table (cas "Cells" et "GPS" et ... je ne sais pas s'il y en a d'autre)
- "number", une valeur utilisable dans drawNumber
- "number", "string" ou "boolean" (je ne sais pas si le cas existe), une valeur utilisable dans drawText
- "function", "thread" ou "userdata", ça ne devrait pas ne produire en principe.
Pourquoi ça marche sur le simulateur et pas sur la radio, je n'ai pas d'explication et cela me surprend, peut-être un problème de casting, je ne sais pas.
En tout cas, en cas de problème comme ça, ne pas hésiter à regarder le type de la valeur retournée par getValue(...) :
- "nil" indiquerait plutôt une valeur inexistante
- "table" indique que getValue retourne plusieurs valeurs dans une table (cas "Cells" et "GPS" et ... je ne sais pas s'il y en a d'autre)
- "number", une valeur utilisable dans drawNumber
- "number", "string" ou "boolean" (je ne sais pas si le cas existe), une valeur utilisable dans drawText
- "function", "thread" ou "userdata", ça ne devrait pas ne produire en principe.
Sacre100- Messages : 1889
Date d'inscription : 30/11/2013
Age : 67
Localisation : Blonay - Suisse
Re: LUA Scripting sur V2.1.x
Je me souviens bien, mais je n'ai pas fait le rapprochement, j'avais compris une lecture de table mais n'avais pas compris que ça renvoyait en forme de table à l'appel de Cels.Sacre100 a écrit:C'est juste souvient-toi, on en avait déjà parlé de getValue("Cels") : https://frskytaranis.forumactif.org/t2666p30-lua-scripting-sur-v2-1-x#31254
Il m'a fallu un moment pour trouver l'erreur, le script marchant très bien sur Companion, je n'ai pas été cherché sur ce domaine.Sacre100 a écrit:Pourquoi ça marche sur le simulateur et pas sur la radio, je n'ai pas d'explication et cela me surprend, peut-être un problème de casting, je ne sais pas.
Pour connaître ce type, c'est avec les quelques lignes postées par Gandalf ?Sacre100 a écrit:En tout cas, en cas de problème comme ça, ne pas hésiter à regarder le type de la valeur retournée par getValue(...) :.../...
Je n'ai pas encore essayé car ne suis pas à la maison pour le moment, sinon, quelle est la formule magique pour connaître le "type" ?
Re: LUA Scripting sur V2.1.x
Heisenberg a écrit:...
Pour connaître ce type, c'est avec les quelques lignes postées par Gandalf ?
Je n'ai pas encore essayé car ne suis pas à la maison pour le moment, sinon, quelle est la formule magique pour connaître le "type" ?
type(...) est une fonction de LUA, son usage est décrit ici : http://www.lua.org/manual/5.2/manual.html#pdf-type
Dans ton code, pour éviter d'avoir un écran blanc et comprendre le problème, tu peux écrire provisoirement quelque chose du genre :
- Code:
local maValeur = getValue("maValeur")
local sonType = type(maValeur)
if sonType == "number" then
lcd.drawNumber(x, y, maValeur)
elseif sonType == "string"
lcd.drawText(x, y, maValeur)
else
lcd.drawtext(x, y, sonType)
end
Sacre100- Messages : 1889
Date d'inscription : 30/11/2013
Age : 67
Localisation : Blonay - Suisse
Re: LUA Scripting sur V2.1.x
Ouuuh, mais c'est encore très interressant pour débugger mes petits pépins ça !!
Je ne connaissais pas.
Merci de cette info précieuse.
Je ne connaissais pas.
Merci de cette info précieuse.
Re: LUA Scripting sur V2.1.x
Bien que le sujet a été déjà traité par Sacre100, j'en rajoute une couche en présentant le script de dsbeach, le dev qui a introduit les tableaux dans LUA pour les capteurs multiples.
Il teste lui aussi le type "table" et montre une autre façon de le lire : for i, v in ipairs(cellResult) do
Cette boucle à l'avantage de parcourir le tableau en entier, on peut donc lire une nombre de cellules de lipo quelconque.
Puis comment concaténer une chaine de caractères : cellValue = cellValue .. i .. ": " .. v .. " "
Enfin il utilise également une fonction background qui fait la lecture du capteur en plus du run qui affiche.
Par contre, je n'arrive pas à afficher la latitude et la longitude du GPS, le tableaux est bien détecté mais lcd.drawText n'affiche rien à part le titre; ça résiste.
Il teste lui aussi le type "table" et montre une autre façon de le lire : for i, v in ipairs(cellResult) do
Cette boucle à l'avantage de parcourir le tableau en entier, on peut donc lire une nombre de cellules de lipo quelconque.
Puis comment concaténer une chaine de caractères : cellValue = cellValue .. i .. ": " .. v .. " "
Enfin il utilise également une fonction background qui fait la lecture du capteur en plus du run qui affiche.
- Code:
local cellValue = "unknown"
local cellResult = nil
local cellID = nil
local function rnd(v,d)
if d then
return math.floor((v*10^d)+0.5)/(10^d)
else
return math.floor(v+0.5)
end
end
local function getTelemetryId(name)
field = getFieldInfo(name)
if field then
return field.id
else
return -1
end
end
local function init()
cellId = getTelemetryId("Cels")
end
local function background()
cellResult = getValue(cellId)
if (type(cellResult) == "table") then
cellValue = ""
for i, v in ipairs(cellResult) do
cellValue = cellValue .. i .. ": " .. v .. " "
end
else
cellValue = "telemetry not available"
end
end
local function run(e)
lcd.clear()
lcd.drawText(1,1,"OpenTx 2.1.3 testing",0)
lcd.drawText(1,11,"Cels:", 0)
lcd.drawText(lcd.getLastPos()+2,11,cellValue,0)
lcd.drawText(1, 56, "Mem:", 0)
lcd.drawText(lcd.getLastPos() + 4, 56, rnd(collectgarbage("count"), 4), 0)
end
return{init=init,run=run,background=background}
Par contre, je n'arrive pas à afficher la latitude et la longitude du GPS, le tableaux est bien détecté mais lcd.drawText n'affiche rien à part le titre; ça résiste.
Edit a écrit:C'est surement en rapport avec #2921
dev.fred- Messages : 760
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)
Re: LUA Scripting sur V2.1.x
J'avance bien même si je n'ai pas encore terminé et je pense avoir compris pourquoi les annonces étaient saccadées lorsque l'écran de mon Lua est affiché.
Ça ne me paraît pas être une surcharge de calculs mais trop d’accès à la carte SD.
J'utilise quelques icônes BMP qui sont rappelées lors de chaque cycles, ce qui fait que la carte est très sollicitée en accès lecture.
Sur cette capture, il y-a 1 contour de jauge de fuel, 1 jauge RSSI, 6 icônes de mesures, 1 icône d'horloge, et un cadenas, ça fait 10 BMP rappelés à chaque boucle sans compter d'autres icônes qui s'affichent ou pas en fonction des évènements, sans compter les cachées qui s'affichent lors du basculement d'un inter.
1 cycle = 1 lcd.clear() et un nouveau remplissage de l'écran avec 10 BMP.
Positionner mes icônes avant la boucle ne sert à rien justement à cause du lcd.clear(), quels conseils auriez-vous pour pallier à ce petit problème ?
Je pensais à changer la SD pour une plus rapide et éviter le lcd.clear() et remplir chacune de mes lignes de texte par des caractères blancs en début de boucle, je n'ai pas encore essayé mais il est probable que ça donne un effet de scintillement. Suis-je passé à côté d'une solution plus simple ou mon raisonnement n'est-t-il pas bon ?
Ça ne me paraît pas être une surcharge de calculs mais trop d’accès à la carte SD.
J'utilise quelques icônes BMP qui sont rappelées lors de chaque cycles, ce qui fait que la carte est très sollicitée en accès lecture.
Sur cette capture, il y-a 1 contour de jauge de fuel, 1 jauge RSSI, 6 icônes de mesures, 1 icône d'horloge, et un cadenas, ça fait 10 BMP rappelés à chaque boucle sans compter d'autres icônes qui s'affichent ou pas en fonction des évènements, sans compter les cachées qui s'affichent lors du basculement d'un inter.
1 cycle = 1 lcd.clear() et un nouveau remplissage de l'écran avec 10 BMP.
Positionner mes icônes avant la boucle ne sert à rien justement à cause du lcd.clear(), quels conseils auriez-vous pour pallier à ce petit problème ?
Je pensais à changer la SD pour une plus rapide et éviter le lcd.clear() et remplir chacune de mes lignes de texte par des caractères blancs en début de boucle, je n'ai pas encore essayé mais il est probable que ça donne un effet de scintillement. Suis-je passé à côté d'une solution plus simple ou mon raisonnement n'est-t-il pas bon ?
Re: LUA Scripting sur V2.1.x
Problème classique, trop d'accès à la SD (bitmap ou son), il faut repenser tout ton affichage si tu veux obtenir quelque chose de correct. Exemple, mon horizon artificiel où je n'utilise pas une seule bitmap.
Sacre100- Messages : 1889
Date d'inscription : 30/11/2013
Age : 67
Localisation : Blonay - Suisse
Re: LUA Scripting sur V2.1.x
C'est rassurant, j'ai au moins identifié correctement le problème.
Je vais essayer avec une map de mes icônes déjà placées sur un format 212X64, ça va déjà alléger de 7 bitmaps, j'ai bon espoir d'y gagner un peu en truandant un peu partout le code.
Il est très beau ton écran d'horizon artificiel !!
La partie gauche, je comprends dans les gdes lignes comment tu as fait, ça doit d'ailleurs faire un bon paquet de lignes de code et de mise au point.
Par contre, quelle est ton astuce pour le cercle de droite ?
drawCircle n'existant pas, c'est du point par point ?
Je vais essayer avec une map de mes icônes déjà placées sur un format 212X64, ça va déjà alléger de 7 bitmaps, j'ai bon espoir d'y gagner un peu en truandant un peu partout le code.
Il est très beau ton écran d'horizon artificiel !!
La partie gauche, je comprends dans les gdes lignes comment tu as fait, ça doit d'ailleurs faire un bon paquet de lignes de code et de mise au point.
Par contre, quelle est ton astuce pour le cercle de droite ?
drawCircle n'existant pas, c'est du point par point ?
Re: LUA Scripting sur V2.1.x
Jette un coup d'oeil dans le script, il n'est pas énorme, même pas 500 lignes : http://quetzal.homepage.bluewin.ch/ArduIMU_SPort.zip
Le cercle est dessiné par la fonction drawEllipse, une dizaine de lignes pas plus, c'est tout simple.
Par contre la partie de gauche, c'était nettement plus "touchy" même s'il ne faut pas tant de lignes pour arriver au résultat.
Le cercle est dessiné par la fonction drawEllipse, une dizaine de lignes pas plus, c'est tout simple.
Par contre la partie de gauche, c'était nettement plus "touchy" même s'il ne faut pas tant de lignes pour arriver au résultat.
Sacre100- Messages : 1889
Date d'inscription : 30/11/2013
Age : 67
Localisation : Blonay - Suisse
Re: LUA Scripting sur V2.1.x
Je compte regarder ça dans la semaine.
J'ai essayé une autre astuce pour récupérer ma valeur Cels...
Les chiffres permettraient paraît il de récupérer les tensions de chaque éléments en allant directement piocher dans la table.
local batt_cel1 = getValue("Cels",1)
local batt_cel2 = getValue("Cels",2)
etc...
pour obtenir à la fin :
local batt_total = (batt_cel1 + batt_cel2 + batt_cel3 + batt_cel4 + batt_cel5 + batt_cel6)
L'idée me semblait simple et facile.
Sous companion avec l'utilitaire de Dev.Fred, bizarrement, chaque cellule affiche la totalité de la tension du pack.
Et dans la radio, ça bug, encore un écran blanc.
[EDIT] Erreur de ma part, ça pourrait être dispo dans les prochaines versions mais pas encore maintenant [/EDIT]
J'ai essayé une autre astuce pour récupérer ma valeur Cels...
Les chiffres permettraient paraît il de récupérer les tensions de chaque éléments en allant directement piocher dans la table.
local batt_cel1 = getValue("Cels",1)
local batt_cel2 = getValue("Cels",2)
etc...
pour obtenir à la fin :
local batt_total = (batt_cel1 + batt_cel2 + batt_cel3 + batt_cel4 + batt_cel5 + batt_cel6)
L'idée me semblait simple et facile.
Sous companion avec l'utilitaire de Dev.Fred, bizarrement, chaque cellule affiche la totalité de la tension du pack.
Et dans la radio, ça bug, encore un écran blanc.
[EDIT] Erreur de ma part, ça pourrait être dispo dans les prochaines versions mais pas encore maintenant [/EDIT]
Re: LUA Scripting sur V2.1.x
Un bout de code comme ça (pas testé), ça devrait faire l'affaire me semble-t-il.
- Code:
local batt_total = 0
local batt_cells = getValue("Cels")
if type(batt_cells) == "table" then
for , item in batt_cells do
batt_total = batt_total + item
end
end
Sacre100- Messages : 1889
Date d'inscription : 30/11/2013
Age : 67
Localisation : Blonay - Suisse
Re: LUA Scripting sur V2.1.x
Merci Sacre100.
Je vais essayer en fin de journée.
A vue d'oeil, la ligne ci-dessous doit causer une erreur (?)
Je vais essayer en fin de journée.
A vue d'oeil, la ligne ci-dessous doit causer une erreur (?)
- Code:
for , item in batt_cells do
Re: LUA Scripting sur V2.1.x
J'ai un peu modifié ton script.
Et il me dit que Cels n'est pas une table, c'est curieux.
Et il me dit que Cels n'est pas une table, c'est curieux.
- Code:
local batt_total = 0
local batt_cells = getValue("Cels")
if (type(batt_cells) == "table") then
lcd.drawText(82, 40, "Le type est une table", SMLSIZE)
for item in batt_cells do
batt_total = batt_total + item
end
else
lcd.drawText(82, 40, "Le type n'est pas une table", SMLSIZE)
end
lcd.drawNumber(82, 48, batt_total, PREC2 + SMLSIZE + LEFT)
Re: LUA Scripting sur V2.1.x
Heisenberg a écrit:... A vue d'oeil, la ligne ci-dessous doit causer une erreur (?)
- Code:
for , item in batt_cells do
Pas si sur, la syntaxe complète devrait être la suivante :
- Code:
for index, item in pairs(batt_cells) do
ou
- Code:
for index, item in ipairs(batt_cells) do
Mais sauf erreur, on peut ignorer index tout en laissant la virgule et le pairs(...) (ou ipairs(...)) peut l'être aussi. A vérifier
Heisenberg a écrit:J'ai un peu modifié ton script.
Et il me dit que Cels n'est pas une table, c'est curieux.
Pour ce qui est de Cels qui ne retourne pas une table, je suspecte que le problème vient de la manière dont Cels est déclaré dans la télémétrie, j'avais constaté la chose et j'en parlais ici : https://frskytaranis.forumactif.org/t2666p30-lua-scripting-sur-v2-1-x#31294
En fait, lorsque Cels est détecté automatiquement, OpenTx crée le capteur spécial qui retourne bien une table. Si Cels est créé manuellement avec l'Id de Cels, c'est un capteur normal qui donne sauf erreur la totalité de la tension du pack.
Vérifie que ton Cels est bien ce capteur un peu spécial et non un capteur prédéfini usuel.
Sacre100- Messages : 1889
Date d'inscription : 30/11/2013
Age : 67
Localisation : Blonay - Suisse
Re: LUA Scripting sur V2.1.x
Ton horizon artificiel fait des émules, 2em post de la page : http://forum.taulabs.org/viewtopic.php?f=17&t=797
dev.fred- Messages : 760
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)
Re: LUA Scripting sur V2.1.x
dev.fred a écrit:Ton horizon artificiel fait des émules, 2em post de la page : http://forum.taulabs.org/viewtopic.php?f=17&t=797
Sur le cul le Marco, excellent, il faut que je regarde ça en détail, ça me fait super plaisir, merci pour le lien.
Sacre100- Messages : 1889
Date d'inscription : 30/11/2013
Age : 67
Localisation : Blonay - Suisse
Re: LUA Scripting sur V2.1.x
Sacre100 a écrit:.../...Vérifie que ton Cels est bien ce capteur un peu spécial et non un capteur prédéfini usuel.
Tu as eu du nez, je n'aurais jamais trouvé, c'était bien la source de l'erreur, c'est vicieux cette détection automatique.
Finalement, ça fonctionne avec un peu de modifs perso et autres sources que j'ai rassemblées d'un autre forum que tu fréquentes.
- Code:
local batt_sum = 0
cellResult = getValue("Cels")
if (type(cellResult) == "table") then
cellValue = ""
for i, v in ipairs(cellResult) do
cellValue = cellValue .. i .. ": " .. v .. " "
batt_sum = batt_sum + v
end
else
cellValue = "telemetry not available"
end
Avec ça, je récupère ma valeur de batterie totale et j'ai aussi un string dans lequel est affiché la valeur de chaque élément individuel.
Jusque là tout va bien sauf que j'aimerais pouvoir récupérer le nombre d'éléments et la valeur de chacun éléments pour les manipuler ensuite. En gros, le string cellValue, c'est bien mais je ne parviens pas à le disséquer proprement.
Dans un autre langage de prog, ce serait cellValue[1], cellValue[2] etc... mais pas en Lua.
Avec ce qui suit, ça marche mais je ne trouve pas cette méthode très propre.
De plus ça m'a l'air bien gourmand en ressources car je dois supprimer pas mal de lignes qui suivent pour le faire tourner sur la radio sinon ça plante.
Y-a t'il une autre méthode pour le même résultat ?
- Code:
local batt_sum = 0
cellResult = getValue("Cels")
if (type(cellResult) == "table") then
cellValue = ""
for i, v in ipairs(cellResult) do
cellValue = cellValue .. i .. ": " .. v .. " "
batt_sum = batt_sum + v
if i == 1 then
cell01 = v -- Tension de l'élément 1
battype = 1 -- Nombre d'éléments du pack
elseif i == 2 then
cell02 = v
battype = 2
elseif i == 3 then
cell03 = v
battype = 3
elseif i == 4 then
cell04 = v
battype = 4
elseif i == 5 then
cell05 = v
battype = 5
elseif i == 6 then
cell06 = v
battype = 6
end
else
cellValue = "telemetry not available"
end
[Edit] pour connaître le nombre d'élément, je viens de réagir que je l'ai sous les yeux, c'est tout simplement "i" une fois sorti de ce bout de code.
Mais pour avoir Cell01, Cell02 et la suite, je ne trouve pas. [/Edit]
Page 4 sur 7 • 1, 2, 3, 4, 5, 6, 7
Page 4 sur 7
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum