π
<-

Le prg fonctionne dans student software pas sur l'unité

Pour TI-Nspire OS 3.0 ou ultérieur.

Le prg fonctionne dans student software pas sur l'unité

Unread postby wChris » 27 Oct 2013, 08:49

Bonjour,
Novice en Lua, j'ai télécharger l'application en Lua intitulée : Crée tes propres menus sans limite ! sur le site Inspired Lua.
L'application fonctionne correctement dans Student Software, la couleur de fond change bien en fonction du choix effectué dans le menu. Par contre dans l'unité c'est la couleur du premier plan qui change !...
D'autre part j'ai fait un petit menu et je gère les événements on.keyUp() et onKeyDown(). L'application fonctionne parfaitement dans Student Sofware mais pas sur la calculatrice. Lorsque j'actionne le pavé multidirectionnel il ne se passe rien !... Alors que si je le fais à l'aide du clavier dans l'émulateur l'application fonctionne. ..
Est-ce que quelqu'un pourrait m'aider à comprendre l'origine du problème ?
En vous remerciant d'avance pour votre aide.

Notes : Version OS calculatrice : 3.2.4.1237
Version Student Software : 3.2.0.1219
Version code boot1 : 3.0.0.99
Version code boot2 : 3.2.4.7
User avatar
wChris
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 66.7%
 
Posts: 7
Joined: 23 Oct 2013, 09:46
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Le prg fonctionne dans student software pas sur l'unité

Unread postby AnToX98 » 27 Oct 2013, 09:20

Je crois pouvoir t'aider.
Bizarrement, le TNSS rafraichit automatiquement l'ecran alors que sur la calculatrice, il faut forcer ceci, comment ?
Juste après toute modification de variable ou à la fin d'un évènement, il faut ajouter un :

Code: Select all
platform.window:invalidate()


Donc dans ton cas, à la fin de ton on.keyUp ou Down, ajoute ce code ci dessus.
User avatar
AnToX98Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 75.5%
 
Posts: 1022
Images: 15
Joined: 19 May 2013, 16:54
Location: Paris, France
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ere S

Re: Le prg fonctionne dans student software pas sur l'unité

Unread postby wChris » 27 Oct 2013, 12:41

Ok, merci beaucoup, mon code fonctionne correctement, sur la calculatrice, à présent. Reste le problème du setColorRGB qui dans Student Software modifie la couleur de fond et sur la calculatrice la couleur de premier plan... Pourquoi cette différence de fonctionnement pour une même instruction ? En vous remerciant d'avance pour votre aide...
User avatar
wChris
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 66.7%
 
Posts: 7
Joined: 23 Oct 2013, 09:46
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Le prg fonctionne dans student software pas sur l'unité

Unread postby Adriweb » 27 Oct 2013, 12:49

setColorRGB modifie la couleur des instructions graphiques suivantes, pas forcément "du fond" ou du "premier plan".... Bizarre qu'il y ait une différence ... ?

Joins ton fichier .tns ici, pour voir ?

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.9%
 
Posts: 14838
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Le prg fonctionne dans student software pas sur l'unité

Unread postby wChris » 27 Oct 2013, 13:34

Il s'agit du code source que l'on trouve sur le site Inspired Lua rubrique : Crée tes propres menus sans limite !
Lorsque j'exécute ce code j'observe une différence entre le Student software et la calculatrice...

Code: Select all
w = platform.window:width()
h = platform.window:height()

couleurdufond = {255,255,255}

function changerCouleur(menuparent,option)
    if option=="Rouge" then
        couleurdufond = {255,0,0}
    elseif option=="Vert" then
        couleurdufond = {0,255,0}
    elseif option=="Bleue" then
        couleurdufond = {0,0,255}
    end 
    platform.window:invalidate()
end

votreTable = {
    {"Couleur",
        {"Rouge",changerCouleur},
        {"Vert",changerCouleur},
        {"Bleue",changerCouleur}
    }
}

toolpalette.register(votreTable)

function on.paint(gc)
    gc:setColorRGB(unpack(couleurdufond))
    gc:fillRect(0,0,w,h)
end
User avatar
wChris
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 66.7%
 
Posts: 7
Joined: 23 Oct 2013, 09:46
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Le prg fonctionne dans student software pas sur l'unité

Unread postby Levak » 27 Oct 2013, 13:39

Je vois le problème.

change
Code: Select all
w = platform.window:width()
h = platform.window:height()


par

Code: Select all
function on.resize(ww, hh)
    w = ww
    h = hh
end


Pour la petite histoire, sur le logiciel ordinateur, platform.window:width/height auront une valeur à partir du moment où le script a été exécuté une fois. Sur calculatrice, l'API n'a pas encore initialisé ces valeurs à ce stade du script.
Il eusse existé on.create() avant l'OS 3.2 permettant de garantir que des variables étaient initialisées. TI l'a remplacé par on.construction qui ne garantit plus ceci. Donc la technique restante étant de mettre ça dans le on.resize
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: Le prg fonctionne dans student software pas sur l'unité

Unread postby wChris » 27 Oct 2013, 14:05

OK! Effectivement là ça marche... Il y a plein de subtilités à connaitre !...
Je suis impressionné par la rapidité et la précision des réponses apportées à mes problèmes. Je suis très content de pouvoir compter sur l'entraide qui existe sur ce site. Encore merci pour votre aide.
User avatar
wChris
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 66.7%
 
Posts: 7
Joined: 23 Oct 2013, 09:46
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Le prg fonctionne dans student software pas sur l'unité

Unread postby Adriweb » 27 Oct 2013, 14:51

Pas de problèmes, n'hésite pas :)

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.9%
 
Posts: 14838
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Le prg fonctionne dans student software pas sur l'unité

Unread postby AnToX98 » 27 Oct 2013, 16:25

Ah je n'avait visiblement pas compris ton problème.
Si je mets :

Code: Select all
w = platform.window:width()
h = platform.window:height()


C'est pour simplifier et comprendre au maximum le code, comme Steve Arnold le fait dans ses tutos compasstech.
Sur ce, bonne continuation :)
User avatar
AnToX98Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 75.5%
 
Posts: 1022
Images: 15
Joined: 19 May 2013, 16:54
Location: Paris, France
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ere S


Return to Nspire-Lua

Who is online

Users browsing this forum: ClaudeBot [spider] and 1 guest

-
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.
1143 utilisateurs:
>1099 invités
>38 membres
>6 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)