Omnimaga

Calculator Community => [FR] Section Francophone => [FR] Programmation Axe Parser => Topic started by: noelthebest on September 01, 2011, 09:31:41 am

Title: Manipulation des appvars en Axe
Post by: noelthebest on September 01, 2011, 09:31:41 am
 Bonjour,

je n'ai pas trop compris en regardant dans la doc' comment créer une appvar et comment la modifier aussi; c'est avec Getcalc() qu'il faut faire ?

Pourriez-vous m'expliquer, concrètement, comme il faut faire ? Cela m'aiderait beaucoup. :)

Merci d'avance. :)
Title: Re: Manipulation des appvars en Axe
Post by: Ashbad on September 01, 2011, 09:40:02 am
Voici une bonne tutoriale: http://www.omnimaga.org/index.php?action=articles;sa=view;article=58

Bonne chance avec elle! :)
Title: Re: Manipulation des appvars en Axe
Post by: Hayleia on September 01, 2011, 09:44:27 am
On reconnait Google Translate, hein ? ;)
Bref. C'est effectivement ce tutorial qu'il faut lire. Je l'ai lu et maintenant, j'utilise des appvars partout pour économiser de la place dans le programme éxecutable O.O
Si tu veux aussi le topic original, pour poser des questions par exemple, c'est ici (http://ourl.ca/8294/152571).
Title: Re: Manipulation des appvars en Axe
Post by: noelthebest on September 01, 2011, 09:46:21 am
Okay je vais voir cela.
Et vive Google Translate ! :D
Title: Re: Manipulation des appvars en Axe
Post by: noelthebest on September 01, 2011, 09:49:19 am
Bon je crois que j'ai compris, merci beaucoup ! :D
Title: Re: Manipulation des appvars en Axe
Post by: Hayleia on September 01, 2011, 09:52:34 am
Double poster est interdit sauf si le topic a été éjecté des "New Posts", sauf si c'est une Super Amelioration d'un programme (en clair, update), et sauf si 6 heures se sont écoulées.
Comme ce n'est pas le cas, il faut utiliser un des boutons "modify" ou "quick modify" ;)

Et de rien :)
Title: Re: Manipulation des appvars en Axe
Post by: Ashbad on September 01, 2011, 09:58:10 am
Okay je vais voir cela.
Et vive Google Translate ! :D

Non, non, je parle français! (trés mal :P)
Title: Re: Manipulation des appvars en Axe
Post by: Hayleia on September 01, 2011, 10:01:13 am
Non, franchement, ton Français est drôle, certes, mais très compréhensible :), surtout comparé a Google Translate <_<
Title: Re: Manipulation des appvars en Axe
Post by: noelthebest on September 01, 2011, 10:03:04 am
Attendez non juste une question : quand on parle des bits, est-ce que je peux mettre autre chose que 0 ou 1 dans mon appvar ? Je veux dire, est-ce que ça convertit automatiquement ou est-ce que je dois effectuer la conversion moi-même ?

Désolé pour le double post par contre, il servait à rien, si un modo pouvait corriger ça. :P
Title: Re: Manipulation des appvars en Axe
Post by: Ashbad on September 01, 2011, 10:03:09 am
Non, franchement, ton Français est drôle, certes, mais très compréhensible :), surtout comparé a Google Translate <_<

Merci :)
Title: Re: Manipulation des appvars en Axe
Post by: Hayleia on September 01, 2011, 11:19:12 am
Merci :)
De rien. En plus, je t'ai comparé a Google Translate et tu me dis merci ???

Désolé pour le double post par contre, il servait à rien, si un modo pouvait corriger ça. :P
Inutile d'appeler un modérateur, tu peux copier le contenu du deuxieme dans le premier en utilisant "modify" ou "quick modify", puis supprimer le deuxieme avec "delete".

Attendez non juste une question : quand on parle des bits, est-ce que je peux mettre autre chose que 0 ou 1 dans mon appvar ? Je veux dire, est-ce que ça convertit automatiquement ou est-ce que je dois effectuer la conversion moi-même ?
Euh, on parle pas de bits dans ce tutorial, mais de bytes, donc d'octets ???
Anglais|Français|nombre
Byte|Octet|0-255
Bit|Bit|0-1
ouais, j' ai réussi à faire une table :w00t:
non, j'ai édité et cassé ma table :'(
ouais, je l'ai réparé ! :w00t:
Title: Re: Manipulation des appvars en Axe
Post by: noelthebest on September 01, 2011, 12:12:22 pm
Oups pardon j'ai confondu les deux. xD
Donc je peux mettre un nombre entre 0 et 255, c'est bien ça ? :)
Title: Re: Manipulation des appvars en Axe
Post by: Hayleia on September 01, 2011, 12:46:43 pm
Oui, sauf si tu les mets deux par deux. Au lieu d'utiliser X→{P} et {P}→X (avec 0<X<255 et P le pointeur), tu peux faire X→{P}r (avec 0<X<65535), et tu le lis avec {P}r→X.
CEPENDANT, comme tu les mets deux par deux, au lieu de mettre le nombre suivant à {P+1}, il faudra le mettre à {P+2}. C'est encore FinaleTI qui me l'a expliqué. Tu peux lui mettre un +1 à lui aussi ;D
Title: Re: Manipulation des appvars en Axe
Post by: noelthebest on September 03, 2011, 06:04:36 am
Ok.
Comme avec les pointeurs quoi.
Mais c'est encore les pointeurs qu'on utilise là en fait, c'est pour ça ! :D

Merci en tout cas, j'ai compris. ;)
Title: Re: Manipulation des appvars en Axe
Post by: Wellen on September 03, 2011, 06:11:52 am
Les pointeurs, encore, toujours, et partout...
Un jour, ils seront les maîtres du monde ! :D
Title: Re: Manipulation des appvars en Axe
Post by: noelthebest on September 03, 2011, 06:18:09 am
Ils vont nous poursuivre jusque  dans notre tombe, disait Mathieu Nebra, il n'avait pas tort... :P
Title: Re: Manipulation des appvars en Axe
Post by: dragoon1920 on January 17, 2013, 06:31:07 am
Bonjour!
Désolé de rouvrir le sujet, mais j'aurais une petite question: comment faire pour importe un Pic (ou un String ou encore un GDB) d'une appvar? Je m'explique:
Lorsque je créé une appvar dans un autre programme, j'y stocke disons: [FFFFFFFFFFFFFFFF]. Comment faire pour rappeler ceci en entier dans un pic que j'utilise après? Si je fais:
GetCalc("appvPIC",Y0)
Copy(Y0,Pic0,8
Ca ne marche pas, même si je simplifie en Copy("PIC",Pic0).
Quelqu'un pourrait-il m'aider? Merci!
Title: Re: Manipulation des appvars en Axe
Post by: Matrefeytontias on January 17, 2013, 10:00:41 am
Qu'entends-tu par un pic ? Le pointeur ou la variable Ti-Basic ?

Et Copy("PIC",Pic0) est la plus grosse aberration que j'aie jamais vu avec des appvars. Là tu copies la chaîne "PIC" dans Pic0, que tu n'as pas encore déclaré.

Donc je répondrai en fonction de quelle Pic0 tu utilises (cf première question).
Title: Re: Manipulation des appvars en Axe
Post by: Hayleia on January 17, 2013, 01:29:07 pm
Je crois qu'il veut copier le contenu d'une appvar dans la variable OS Pic0.
C'est pas le genre de truc que je fais souvent donc je dis peut-être n'importe quoi, mais il me semble que ce qu'il faut faire c'est
GetCalc("appvPIC",Y0)
GetCalc("varPic0")→V
Copy(Y0,V,768)
(où "var" est le token 2nd+8).
Title: Re: Manipulation des appvars en Axe
Post by: bew78 on January 19, 2013, 06:15:24 am
Enfait, ca qu'il veux faire, c'est ça :
(http://img715.imageshack.us/img715/2057/screenshot2013011912112.png)

Mais il repond que ça ne marche pas pour lui (j'ai pas testé)
Title: Re: Manipulation des appvars en Axe
Post by: Hayleia on January 19, 2013, 07:03:03 am
Ah ok.
En quoi il compile ? S'il compile en application, le Copy(A,Pic0,8) ne marchera pas puisqu'elle se lance directement depuis la flash.

(ps: Dolphin Browser for the win :P)
Title: Re: Re: Manipulation des appvars en Axe
Post by: bew78 on January 19, 2013, 07:32:34 am
Finalement j'ai tester mon code, mais ça marche pas pour moi... la je vois pas le pb.. voulai meme pas faire une appli, et ça marche quand meme pas... grrrr

En tout cas la v4 du sdz sur mobile (dans le navigateur) est vraiment pas au point... (meme dns dolphin. )
Title: Re: Manipulation des appvars en Axe
Post by: Hayleia on January 19, 2013, 08:12:17 am
Ce qui ne marche pas dans ton code c'est la partie [FFFFFFFFFFFFFFFF]→{P}. Il te faut mettre ça à la place:
[FFFFFFFFFFFFFFFF]→Pic0P
Copy(Pic0P,P,8)

(excusez mon message mal écrit tout à l'heure, j'étais sur mon Android :P)
Title: Re: Manipulation des appvars en Axe
Post by: Matrefeytontias on January 19, 2013, 03:56:37 pm
Un programme complet qui devrait marcher :
Code: [Select]
:.déclare et remplit l'appvar
:GetCalc("appvCARRE",8)→A
:Copy([FFFFFFFFFFFFFFFF],A,8)
:
:.Copie l'appvar dans Pic0
:GetCalc("Pic0",756)→P
:.756 octets est la taille réglementaire d'une Pic
:Copy(A,P,8)
Title: Re: Manipulation des appvars en Axe
Post by: Hayleia on January 20, 2013, 01:57:52 am
Un programme complet qui devrait marcher :
Code: [Select]
:.déclare et remplit l'appvar
:GetCalc("appvCARRE",8)→A
:Copy([FFFFFFFFFFFFFFFF],A,8)
:
:.Copie l'appvar dans Pic0
:GetCalc("Pic0",756)→P
:.756 octets est la taille réglementaire d'une Pic
:Copy(A,P,8)
Non mais en fait, d'après ce que j'ai compris, il ne veut pas importer l'appvar dans la variable OS Pic0, mais l'importer dans la data de son programme à un pointeur appelé Pic0.

Enfin bon, ce serait mieux s'il revenait lui-même nous dire ce qu'il veut.
Title: Re: Manipulation des appvars en Axe
Post by: dragoon1920 on January 20, 2013, 12:40:27 pm
^^Ce que je voudrais, c'est tout simplement un programme qui créé une appvar contenant pic, string et GDB, puis ensuite appeler cet appvar d'un autre programme et y transmettre ses données dans d'autres pic, string et GDB. Tout celà à compiler en application, si possible.
En gros, c'est pour éviter que mon programme soit trop lourd et ne prenne pas plus d'une page pour pouvoir compiler en application.
Title: Re: Manipulation des appvars en Axe
Post by: Hayleia on January 20, 2013, 01:42:54 pm
Si tu compiles en application, tu ne peux rien modifier de ce qu'il y a dans ton code une fois compilé. Je te suggère de regarder du côté des saferam genre L1 à la place.
Title: Re: Manipulation des appvars en Axe
Post by: dragoon1920 on January 20, 2013, 02:11:15 pm
Je sais que je ne peux rien modifier, mais si il y a une solution pour les appvars, j'aimerai la connaître. Je vais regarder les "saferam".
Title: Re: Manipulation des appvars en Axe
Post by: Hayleia on January 21, 2013, 01:05:29 am
En gros pour les saferam, au lieu de copier ta sprite dans ton pointeur Pic0, tu la copies dans le pointeur L1 (que tu n'as même pas besoin de déclarer) et il marchera comme le pointeur Pic0 ensuite. Tu pourras par exemple faire Pt-On(0,8,L1). Et si tu as d'autres sprites à copier, tu peux copier la suivante à L1+8, etc.
Title: Re: Manipulation des appvars en Axe
Post by: dragoon1920 on January 24, 2013, 10:31:29 am
pourrais-tu me communiquer le lien du tuto expliquant ça stp?
Title: Re: Manipulation des appvars en Axe
Post by: Hayleia on January 24, 2013, 12:48:08 pm
Alors là, je me souviens avoir utilisé celui de kindermoumoute sur le site du zero au début mais c'est pas lui qui m'a appris à me servir de L1 et tout. Je dis pas qu'il ne l'explique pas, j'en sais rien, juste que je n'ai pas lu cette partie là du tuto si elle existe. J'avais juste lu le début et après je me suis dit qu'il valait mieux passer à la pratique et commencer à coder :P
Mais je te conseille quand même de lire ce tuto si tu est débutant (mais j'ai pas de lien, j'arrive pas à aller sur le sdz en ce moment).
Title: Re: Manipulation des appvars en Axe
Post by: dragoon1920 on January 25, 2013, 11:58:14 am
Pour le sdz, c'est normal il est en passage vers la 1.4 depuis quelques semaines et ils "rénovent" tout, il y a encore pleins de bugs (enfin ça je pense que tu le sais déjà). Et comme par hasard, juste au moment où j'en aurais eu le plus besoin...
Title: Re: Manipulation des appvars en Axe
Post by: Hayleia on January 25, 2013, 03:27:11 pm
(enfin ça je pense que tu le sais déjà)
Non, en fait j'en savais rien. J'ai vu que rien ne marchait quand j'ai voulu te chercher un lien et tu viens de m'apprendre qu'ils avaient des bugs. Faut dire que j'ai un compte sdz mais je m'en sers jamais :P
Title: Re: Manipulation des appvars en Axe
Post by: dragoon1920 on January 26, 2013, 11:21:06 am
Je suis sur le sdz également, c'est aussi bien pratique ;)
Merci tout de même!
Title: Re: Manipulation des appvars en Axe
Post by: dragoon1920 on February 04, 2013, 10:39:24 am
euh... une dernière petite question: j'ai tout compris, mais comment faire pour mettre tous mes pics (ou autre...) dans l'appvar? si je fais
:GetCalc("appvA",40)->L1
:L1->Pic0
:L1+8->Pic1
:L1+16->String0
:[FFFFFFFFFFFFFFFF]->{Pic0}
:[1111111111111111]->{Pic1}
:"Bonjour le monde"->{String1}
:Pt-On(0,0,Pic0
:Pt-On(8,8,Pic1
:DispGraph
:Text(20,20,String0

ca ne marche pas!
Title: Re: Manipulation des appvars en Axe
Post by: Matrefeytontias on February 04, 2013, 10:49:14 am
:GetCalc("appvA",40)->L1

O.O

Maimaimais L1 c'est une constante définie par l'Axe !

Si tu veux accéder aux données contenues dans (par exemple) Pic1 dans (re-par exemple) appvABC, tu dois :
Tout cela se résume en trois lignes de code :

:GetCalc("Pic1")→P
:GetCalc("appvABC",756)→A
:Copy(P,A,756)    ← cette ligne copie les 756 octets commençant à l'adresse contenue dans P sur les 756 octets commençant à l'adresse contenue dans A.
:.En clair, ça copie les 756 octets de P dans A.


Et avec ça, tu auras une appvar appelée ABC qui fera 756 octets (plus le header des appvars et tout, donc un peu plus) et qui contiendra une image.

EDIT : il faut que tu comprennes qu'en Axe, le Pic1 que tu utilises pour tes sprites et tout n'est pas le même que le Pic1 auquel tu accèdes avec GetCalc : le premier n'est qu'un nombre assigné à un nom alors que le deuxième est une variable de la calculatrice, contenant une image !
Title: Re: Manipulation des appvars en Axe
Post by: dragoon1920 on February 05, 2013, 05:39:49 am
oui, pardon, je me suis trompé. en fait, comme j'ai plein de pics differents, j'aimerai faire un truc du genre:
:GetCalc("appvA", 40)->{L1}
Pic0A->{L1}
Pic0B->{L1+8}
Pic0C->{L1+16}
[1111111111111111]->Pic0A
[2222222222222222]->Pic0B
[3333333333333333]->Pic0C
.ensuite le reste du programme lorsqu'on utilise les pics.
Pt-On(0,0,Pic0A.etc..
Tout marche tres bien. seul truc:les tiles me prennet toujours autant de memoire! j'aimerai utiliser l'appvar pour les y stocker!
Title: Re: Manipulation des appvars en Axe
Post by: TheMachine02 on February 05, 2013, 12:55:38 pm
si tu veux utiliser une appv pour stocker des spirites, il faudrait plus faire

Code: [Select]
GetCalc("appvA",40)->A
// j'ai l'adresse de l'appvar
[1111111111111111]->Pic0A
[2222222222222222]
[3333333333333333]
// on a pas besoin des autres pointeurs ( les pic0B,C) car Pic0B=(Pic0A+8) et Pic0C=(Pic0A+16)
// après on va copier les spirites dans l'appv
Copy(Pic0A,A,24)


et là, on aura une appv contenant tes spirites
après pour les utiliser, on fait :

Code: [Select]
GetCalc("appvA")->A
Pt-On(0,0,A)
Pt-On(8,0,A+8)
...

j'espère avoir été clair et surtout avoir bien compris ce que tu voulais faire ;D
Title: Re: Manipulation des appvars en Axe
Post by: Hayleia on February 05, 2013, 01:12:07 pm
En fait, je crois surtout qu'il faut vite apprendre la différence entre pointeur et variable. Tout sera clair à partir de là et rien ne le sera sans ça.
Title: Re: Manipulation des appvars en Axe
Post by: dragoon1920 on February 08, 2013, 03:51:19 am
c'est génial mais j'ai encore un tout petit petit petit truc...
Peux-t-on faire
:GetCalc("appvA")->A
:A->Pic0
:A+16->Pic0

tout ca pour stocker les sprites dans des pointeurs differents...
Title: Re: Manipulation des appvars en Axe
Post by: Matrefeytontias on February 08, 2013, 08:46:07 am
Et non, les Pic sont des pointeurs statiques, c'est à dire qu'on ne peut pas leur assigner une valeur variable, ils ne peuvent que contenir une adresse passée avec Data(), [hex] ou "chaine".

En plus t'en as pas besoin, c'est A ton pointeur. Tu peux accéder à tes sprites avec par exemple Pt-On(0,0,A) ou Pt-On(0,0,A+16).
Title: Re: Manipulation des appvars en Axe
Post by: Hayleia on February 08, 2013, 01:21:57 pm
c'est génial mais j'ai encore un tout petit petit petit truc...
Peux-t-on faire
:GetCalc("appvA")->A
:A->Pic0
:A+16->Pic0

tout ca pour stocker les sprites dans des pointeurs differents...
En fait, je crois surtout qu'il faut vite apprendre la différence entre pointeur et variable. Tout sera clair à partir de là et rien ne le sera sans ça.