π
<-

Aide Lua

Pour TI-Nspire OS 3.0 ou ultérieur.

Aide Lua

Unread postby Loulou 54 » 06 Jul 2011, 13:24

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 !
Mes programmes => ici !
User avatar
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 1.6%
 
Posts: 1985
Images: 8
Joined: 02 Aug 2009, 00:00
Location: 54, près de Metz
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingé Logiciel chez Amazon

Re: Aide Lua

Unread postby Levak » 06 Jul 2011, 17:40

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.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: Aide Lua

Unread postby Loulou 54 » 06 Jul 2011, 20:19

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. ;)
Mes programmes => ici !
User avatar
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 1.6%
 
Posts: 1985
Images: 8
Joined: 02 Aug 2009, 00:00
Location: 54, près de Metz
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingé Logiciel chez Amazon

Re: Aide Lua

Unread postby Levak » 06 Jul 2011, 21:03

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 =)
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: Aide Lua

Unread postby Loulou 54 » 07 Jul 2011, 13:15

Pour effacer l'écran, quelle commande ? ^^
Mes programmes => ici !
User avatar
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 1.6%
 
Posts: 1985
Images: 8
Joined: 02 Aug 2009, 00:00
Location: 54, près de Metz
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingé Logiciel chez Amazon

Re: Aide Lua

Unread postby Chockosta » 07 Jul 2011, 13:47

-- à mettre dans le 'on.paint(gc)'
gc:setColorRGB(255,255,255)
gc:fillRect(0,0,platform.window:width(),platform.window:height())
User avatar
ChockostaPremium
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 2.2%
 
Posts: 213
Joined: 24 Feb 2011, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Math sup

Re: Aide Lua

Unread postby Loulou 54 » 07 Jul 2011, 14:07

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+ ! :)
Mes programmes => ici !
User avatar
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 1.6%
 
Posts: 1985
Images: 8
Joined: 02 Aug 2009, 00:00
Location: 54, près de Metz
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingé Logiciel chez Amazon

Re: Aide Lua

Unread postby Chockosta » 07 Jul 2011, 14:19

En fait, on peut ne redessiner q'une partie de l'écran en faisant :
platform.window:invalidate(x,y,width,height)
User avatar
ChockostaPremium
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 2.2%
 
Posts: 213
Joined: 24 Feb 2011, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Math sup

Re: Aide Lua

Unread postby Loulou 54 » 07 Jul 2011, 15:10

Ah oui ? Intéressant ça. Merci. :)
Mes programmes => ici !
User avatar
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 1.6%
 
Posts: 1985
Images: 8
Joined: 02 Aug 2009, 00:00
Location: 54, près de Metz
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingé Logiciel chez Amazon

Re: Aide Lua

Unread postby Loulou 54 » 07 Jul 2011, 18:00

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.
Mes programmes => ici !
User avatar
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 1.6%
 
Posts: 1985
Images: 8
Joined: 02 Aug 2009, 00:00
Location: 54, près de Metz
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingé Logiciel chez Amazon

Next

Return to Nspire-Lua

Who is online

Users browsing this forum: ClaudeBot [spider] and 4 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1367 utilisateurs:
>1329 invités
>33 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)