Aide Lua
38 posts
• Page 1 of 4 • 1, 2, 3, 4
Aide Lua
Bien le bonjour.
Le programme que je bricole en Lua devra énormément interagir avec des programmes Basic.
Malgré ce que m'a dit Levak, je n'arrive pas encore à exécuter du code basic par le Lua.
Qu'est-ce qu'il cloche dans cet exemple ?
> Je définis un prog Basic :
Define test()=
Prgm
{}→ab
For n,1,100
n→ab[n]
EndFor
EndPrgm
> Je fais un prog Lua du genre :
function on.paint(gc)
...
math.eval("test()")
...
end
Je devrais pouvoir retrouver la liste ab={1,2,3,...,100} et n=101.
Mais rien. :/
Merci !
Le programme que je bricole en Lua devra énormément interagir avec des programmes Basic.
Malgré ce que m'a dit Levak, je n'arrive pas encore à exécuter du code basic par le Lua.
Qu'est-ce qu'il cloche dans cet exemple ?
> Je définis un prog Basic :
Define test()=
Prgm
{}→ab
For n,1,100
n→ab[n]
EndFor
EndPrgm
> Je fais un prog Lua du genre :
function on.paint(gc)
...
math.eval("test()")
...
end
Je devrais pouvoir retrouver la liste ab={1,2,3,...,100} et n=101.
Mais rien. :/
Merci !
Mes programmes => ici !
-
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)- Posts: 1985
- Images: 8
- Joined: 02 Aug 2009, 00:00
- Location: 54, près de Metz
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Ingé Logiciel chez Amazon
Re: Aide Lua
Apparemment, je me suis trompé. J'ai retesté l'appel à des programmes, mais rien n'y fait. Donc, concrètement, math.eval() == expr() à un détail près : il ne gère ni Request, ni RequestStr, ni Text, ni Disp, ni le lancement de programme.
Cependant, lancer des fonctions perso, ça ça marche, mais c'est sûr que ça limite.
Cependant, lancer des fonctions perso, ça ça marche, mais c'est sûr que ça limite.
-
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)- Posts: 6414
- Images: 22
- Joined: 27 Nov 2008, 00:00
- Location: 0x1AACC355
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: BAC+5: Epita (ING3)
Re: Aide Lua
Arf ok. Mais c'est pas tellement car il est vrai que toutes les instructions (sauf celles citées) semblent fonctionner !
Même les structures de contrôle genre If ... Then, les boucles, les Goto/Lbl, et même Try...Else...EndTry !
Ainsi, je pourrai faire du copier coller de bout de code Basic dans des math.eval.
Merci d'avoir étudié le problème.
Même les structures de contrôle genre If ... Then, les boucles, les Goto/Lbl, et même Try...Else...EndTry !
Ainsi, je pourrai faire du copier coller de bout de code Basic dans des math.eval.

Merci d'avoir étudié le problème.

Mes programmes => ici !
-
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)- Posts: 1985
- Images: 8
- Joined: 02 Aug 2009, 00:00
- Location: 54, près de Metz
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Ingé Logiciel chez Amazon
Re: Aide Lua
Math.eval() serait dangereux dans les time critical codes. Concrètement, tu te tapes la lenteur du BASIC et en plus le temps de parsing de l'expression.
Autant l'utiliser que pour stocker des variables un peu spéciales ou lancer une fonction spécifique. D'autant plus que si on ne peux pas lancer de programme ça limite encore plus son intérêt (pas de modification des variables globales).
edit : si tu participes au concours (le barème général va bientôt être publié), sache que ce genre de cas est noté. Autant sur l'optimisation que sur le principe. Ça serait dommage de perdre des points simplement par flémardise =)
Autant l'utiliser que pour stocker des variables un peu spéciales ou lancer une fonction spécifique. D'autant plus que si on ne peux pas lancer de programme ça limite encore plus son intérêt (pas de modification des variables globales).
edit : si tu participes au concours (le barème général va bientôt être publié), sache que ce genre de cas est noté. Autant sur l'optimisation que sur le principe. Ça serait dommage de perdre des points simplement par flémardise =)
-
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)- Posts: 6414
- Images: 22
- Joined: 27 Nov 2008, 00:00
- Location: 0x1AACC355
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: BAC+5: Epita (ING3)
-
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)- Posts: 1985
- Images: 8
- Joined: 02 Aug 2009, 00:00
- Location: 54, près de Metz
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Ingé Logiciel chez Amazon
Re: Aide Lua
-- à mettre dans le 'on.paint(gc)'
gc:setColorRGB(255,255,255)
gc:fillRect(0,0,platform.window:width(),platform.window:height())
gc:setColorRGB(255,255,255)
gc:fillRect(0,0,platform.window:width(),platform.window:height())
Mes programmes en Lua pour TI-Nspire : Snake, Space invaders, Bobby Carrot, Minesweeper, Mazes 3D, nSpaint, FreeCell, Tiny3D-Viewer, CubeField
-
ChockostaPremium
Niveau 10: GR (Guide de Référence)- Posts: 213
- Joined: 24 Feb 2011, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Math sup
Re: Aide Lua
Oui j'avais pensé à un truc du genre.. ^^
Mais en fait, à chaque fois que on.paint(gc) est appelé, il faut tout redessiner. Donc en fait ça "efface" ce que tu ne redessines pas. Bref merci quand même a+ !
Mais en fait, à chaque fois que on.paint(gc) est appelé, il faut tout redessiner. Donc en fait ça "efface" ce que tu ne redessines pas. Bref merci quand même a+ !

Mes programmes => ici !
-
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)- Posts: 1985
- Images: 8
- Joined: 02 Aug 2009, 00:00
- Location: 54, près de Metz
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Ingé Logiciel chez Amazon
Re: Aide Lua
En fait, on peut ne redessiner q'une partie de l'écran en faisant :
platform.window:invalidate(x,y,width,height)
platform.window:invalidate(x,y,width,height)
Mes programmes en Lua pour TI-Nspire : Snake, Space invaders, Bobby Carrot, Minesweeper, Mazes 3D, nSpaint, FreeCell, Tiny3D-Viewer, CubeField
-
ChockostaPremium
Niveau 10: GR (Guide de Référence)- Posts: 213
- Joined: 24 Feb 2011, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Math sup
-
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)- Posts: 1985
- Images: 8
- Joined: 02 Aug 2009, 00:00
- Location: 54, près de Metz
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Ingé Logiciel chez Amazon
Re: Aide Lua
Comment éviter le rafraîchissement de l'écran dû au mouvement du pointeur ? Merci. 
Celui-ci appelle on.paint(gc) même pendant un timer je crois.

Celui-ci appelle on.paint(gc) même pendant un timer je crois.
Mes programmes => ici !
-
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)- Posts: 1985
- Images: 8
- Joined: 02 Aug 2009, 00:00
- Location: 54, près de Metz
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Ingé Logiciel chez Amazon
38 posts
• Page 1 of 4 • 1, 2, 3, 4
Who is online
Users browsing this forum: ClaudeBot [spider] and 4 guests