π
<-

on.save() qui ne marche pas ?

Pour TI-Nspire OS 3.0 ou ultérieur.

on.save() qui ne marche pas ?

Unread postby AnToX98 » 01 Mar 2014, 10:19

Voilà, j'ai ce petit code. Quand on entre un chiffre, normalement il devrait être sauvegardé lors de la fermeture du classeur... Et pourtant, à chaque fois que j'ouvre le classeur, la variable record vaut 0...

Code: Select all
function on.save()
  return record
end

function on.restore(data)
  if type(data) == "number" then
    record = data
  end
end

function on.construction()
  if not record then
    record = 0 -- first time we initialize record
  end
end

function on.charIn(char)
    if type(tonumber(char)) == "number" then
        record = tonumber(char)
    end
    platform.window:invalidate()
end   

function on.paint(gc)
    gc:drawString(record,50,50)
end


Edit :

Levak wrote:En effet, lorsque le widget est fermé (on ferme le classeur, on copie/coupe le widget), l’évènement on.save() est appelé.

Apparemment, non. On.save est appelé lorsqu'on combine les touches [ctrl]+[save] ?
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: on.save() qui ne marche pas ?

Unread postby Adriweb » 01 Mar 2014, 11:30

Pour amener (automatiquement, en plus du ctrl-s manuel) à ce que Levak a dit, il faut (il me semble) que tu fasses un document.markChanged().

Ensuite, pour ton problème, comme marqué sur Inspired-Lua (on.save et on.restore), c'est une table qu'il faut que tu donnes/récupères ;)

Donc: return {record} et record = data[1]

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: on.save() qui ne marche pas ?

Unread postby AnToX98 » 01 Mar 2014, 11:38

J'ai changé et ça ne marche toujours pas...

Code: Select all
   
function on.save()
  return {record}
end

function on.restore(data)
    record = data[1]
end

function on.charIn(char)
    if type(tonumber(char)) == "number" then
        record = tonumber(char)
    end
    platform.window:invalidate()
end   

function on.paint(gc)
    if record then
        gc:drawString(record,50,50)
    end
end   
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: on.save() qui ne marche pas ?

Unread postby Adriweb » 01 Mar 2014, 11:44

Je viens de tester (copié/collé) ton code, et il marche pour moi.

Je dois Ctrl+S après avoir tapé un chiffre puisque tu n'as pas mis le document.markChanged(), mais quand je ferme et que je réouvre le .tns, le nombre est affiché, comme prévu.

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: on.save() qui ne marche pas ?

Unread postby AnToX98 » 01 Mar 2014, 11:55

Ah ok quand je modifie le nombre je dois mettre document.markChanged() ?
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: on.save() qui ne marche pas ?

Unread postby Adriweb » 01 Mar 2014, 12:02

Dès que tu veux que le document soit marqué d'une étoile, pour signifier qu'il y a eu un changement que tu voudras faire sauver.

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: on.save() qui ne marche pas ?

Unread postby AnToX98 » 01 Mar 2014, 12:21

Merci beaucoup ça marche :)
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 8 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.
2018 utilisateurs:
>1964 invités
>47 membres
>7 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)