π
<-
Chat plein-écran
[^]

[TOPO]Langage Script TI OS 3.0 - enfin un langage API ?

Pour TI-Nspire OS 3.0 ou ultérieur.

[TOPO]Langage Script TI OS 3.0 - enfin un langage API ?

Message non lude Levak » 12 Avr 2011, 23:53



EDIT : Pour accéder à la documentation présente dans ce topic rapidement, veuillez suivre ce lien :
http://wiki.inspired-lua.org/Main_Page




Bonsoir tout le monde,
Je crée ce topic pour mettre un peu tout et n'importe quoi que j'ai compris du nouveau (ou caché) langage script que l'OS 3.0 fait émerger avec le Tableau Périodique.
http://tibank.forumactif.com/t6858p15-u ... ec-l-os-30

Une fois donc le fichier Problem1.xml extrait, on remarque que la syntaxe est exactement la même que décrite ici :
http://tibank.forumactif.com/t4905-tuto ... ichier-tns

A un détail près : L'application s'appelle TI.ScriptApp.
La ligne servant à l’appeler est donc :
Code: Tout sélectionner
wdgt xmlns:sc="urn:TI.ScriptApp" type="TI.ScriptApp" ver="1.0" /wdgt


Entre les balises on retrouve un langage script orienté objet tout en corrélation avec l'OS, une sorte d'API très évoluée.

Un aperçu :

a = 1
b = 2 -- ceci est un commentaire

-- L'intervention de l'API
beta = string.uchar(0x3b2) -- Symbole Beta

-- Structure d'une fonction
function toto(maman)
return maman+1
end

-- Fonctions anonymes
function tataSuper(papa)
return function(papa) return papa + 2 end
end

Table = {
{i = 1, j = 2, papa = "Adam", maman = "Eve"},
{i = 2, j = 1, papa = "Ivan", maman = "Eude"}
}

function fact(x)
if x == 1
return 1
else
return fact(x-1) * x
end
end

function StockerUnNombreDansLeClasseur(varname, value)
math.eval("Unlock " .. varname) -- Concaténation de chaines avec ..
var.store(varname, value)
math.eval("Lock " .. varname) -- Remarquez que math.eval() expr()
end

---------------- L'intervention de l'objet+API

-- On va faire une classe abstraite et une classe héritée de celle-ci
Humain = class()

function Humain:faireLaCuisine(ingredients)
-- Définie plus tard
end

function Humain:manger(gc) -- gc = Graphic Component
-- Définie plus tard
end

Homme = class(Humain) -- Classe héritée de Humain

function Homme:faireLaCuisine(ingredient)
return ingredient[1]; -- Base 1
end

function Homme:mange(gc)
x = 1
y = 2
w = 5
h = 5
gc:setFont("sansserif", "r", self.titleFontSize)
gc:setColorRGB( .... ) -- unknown color format
gc:setPen("medium", "smooth")
gc:drawRect(selft.x, selft.y, selft.w, selft.h)
end

--- etc ...



Remarque de dernier minute ... le langage est en fait ....

accrochez vous bien ...


du LUA !!

En fait, c'est en voulant montrer un exemple de boucle for que j'ai essayé de comprendre les commandes pairs() et ipairs() que je n'avais jamais vue.
Un coup de google m'a redirigé vers des docs de LUA ...
En fouinant un peu, j'ai constaté que c'est exactement la même syntaxe.
Donc à vos bouquins de Lua...

Voilà la page qui expliquait pairs() et ipairs() pour les impatients :
http://www.wellho.net/resources/ex.php4?item=u105/tat

:#top#:
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
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Re: [TOPO]Langage Script TI OS 3.0 - enfin un langage API ?

Message non lude Adriweb » 13 Avr 2011, 00:13

Excellent post !

Super cette nouvelle que ce soit en fait du lua, c'est super facile à apprendre et ca peut se rendre utile ...

Serai-t il possible de réécrire la mémoire directement sur la TI afin de pouvoir éxécuter son propre TIscript en lua ?
Image

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...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.2%
 
Messages: 14616
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: [TOPO]Langage Script TI OS 3.0 - enfin un langage API ?

Message non lude critor » 13 Avr 2011, 02:56

La première news au monde sur le nouveau langage de développement pour TI-Nspire, c'est encore une fois sur TI-Bank! :#top#:
http://tiplanet.org/index.php?mod=ne ... resid=1042

PS: vous inquiétez pas, je dormirai dans le train pendant 4 heures demain... l'important était que TI-Bank soit premier sur cette info! - si il y a des erreurs ou de nouvelles infos, n'hésitez pas à éditer en mon absence!
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.5%
 
Messages: 41498
Images: 14695
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: [TOPO]Langage Script TI OS 3.0 - enfin un langage API ?

Message non lude Lionel Debroux » 13 Avr 2011, 06:02

Super !
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: [TOPO]Langage Script TI OS 3.0 - enfin un langage API ?

Message non lude Lionel Debroux » 13 Avr 2011, 07:47

Apparemment, Goplat utilise avec succès du Lua sur Nspire :):
http://www.omnimaga.org/index.php?topic ... #msg143225
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: [TOPO]Langage Script TI OS 3.0 - enfin un langage API ?

Message non lude Levak » 13 Avr 2011, 12:37

Il a fait le hack dans un sens, et il l'a refait dans l'autre.
Goplat a utilisé son émulateur pour faire des opérations en mémoire avec l'OS lancé. Il a pu récupérer le fichier dans un sens. Du coup, il peut le faire dans l'autre sens =).

Laissons-lui le temps de documenter tout ça.
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
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Re: [TOPO]Langage Script TI OS 3.0 - enfin un langage API ?

Message non lude Lionel Debroux » 13 Avr 2011, 12:42

Il a encore dû aller fouiller assez profondément dans l'OS :):
Le TNS du jeu est composé d'une partie qui m'est inconnue au début, mais plus bas, il y a clairement un fichier ZIP: PKx03x04 à  l'offset 0x170 (contenant le code Lua), une liste de fichiers (PKx01x02) à  l'offset 0x575, et un footer de ZIP (PKx05x06) à  l'offset 0x5D3.

EDIT: dans la news, Mic, plus que "plus besoin de Ndless" qui peut être ambigu, j'indiquerais qu'il y a maintenant un autre langage de programmation plus facile d'accès qu'ASM/C/C++, et plus puissant que le BASIC. Mais Ndless ou similaire, pour ASM/C/C++, restera clairement un besoin pour des opérations bas niveau :):
Et peut-être est-il encore trop tà´t pour affirmer que le Lua Nspire est véritablement maîtrisé ? A mon sens, il ne le deviendrait réellement qu'avec un éditeur on-PC et une forme d'éditeur on-calc :):
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: [TOPO]Langage Script TI OS 3.0 - enfin un langage API ?

Message non lude Adriweb » 13 Avr 2011, 12:58

J'avais pensé de ma part a simplement créer un Problem1.xml avec le nouveau tag TiScriptApp ainsi que le code lua, et le zipper puis renommer en .tns comme si tout était comme avant, en version 1.1 par exemple.

Ca marcherait, non ? Normalement, la nspire peut lire les anciens fichiers .tns, donc ca devrait passer puisquon fait tout à la main?
Image

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...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.2%
 
Messages: 14616
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: [TOPO]Langage Script TI OS 3.0 - enfin un langage API ?

Message non lude Levak » 13 Avr 2011, 12:59

A ... pas con. Tu as essayé ?

Faut pas oublier le Document.xml dans le zip
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
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Re: [TOPO]Langage Script TI OS 3.0 - enfin un langage API ?

Message non lude Adriweb » 13 Avr 2011, 13:03

Levak a écrit:A ... pas con. Tu as essayé ?

Faut pas oublier le Document.xml dans le zip


Il était 1h30 hier (enfin, ce matin du coup...) donc non je n'ai pas essayé, et je suis en cours d'info maintenant, et je ne peux rien faire .... :/

Mais bon, testez de votre part si vous avez le temps, mais je ne manquerais pas de faire quelques tests des que je rentre chez moi :)
Image

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...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.2%
 
Messages: 14616
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Suivante

Retourner vers Nspire-Lua

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 31 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1307 utilisateurs:
>1273 invités
>29 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)