Page 1 of 2

Fonction Unarchive

Unread postPosted: 17 Feb 2011, 21:02
by an_to_nin
Salut,


J'aimerais savoir si il est possible de désarchiver un programme à l'intérieur d'un autre programme (comme la fonction Unarchive mais je crois que ca ne marche qu'avec les variables dites moi si je me trompe)

Merci d'avance.

Re: Fonction Unarchive

Unread postPosted: 17 Feb 2011, 21:12
by Bisam
La fonction "Unarchive" convient parfaitement.

Re: Fonction Unarchive

Unread postPosted: 17 Feb 2011, 21:17
by critor
Bisam wrote:La fonction "Unarchive" convient parfaitement.


Non Bisam, il y a une protection de l'OS qui interdit à un programme TI-Basic d'archiver, désarchiver ou même effacer des programmes.


an_to_nin - Il faut se tourner vers de petits utilitaires assembleur.

Ce n'est pas compliqué, tu n'as pas besoin de comprendre quoi que ce soit au langage assembleur... Il te suffit juste de lancer l'utilitaire presque comme un programme, en lui donnant le nom du programme à archiver/désarchiver.

Mes programmes z80 (voir ma signature) utilisent ce genre de chose afin d'être lançables tout en étant stocké en mémoire d'archive pour ne pas épuiser la RAM.
C'est le cas d'AutoCalc et DynaTrig notamment.

Re: Fonction Unarchive

Unread postPosted: 17 Feb 2011, 22:17
by Bisam
Désolé, je n'avais pas vu que l'on était dans la section z80.
Sur les 68k, ça marche sans problème !

Re: Fonction Unarchive

Unread postPosted: 18 Feb 2011, 16:31
by kindermoumoute
En Axe parser il est très facile de désarchiver ou d'archiver un programme (ou même n'importe quelle vartiable de la calculatrice) :
Code: Select all
:UnArchive "prgmTEST"
:Archive "prgmTEST"

Re: Fonction Unarchive

Unread postPosted: 19 Feb 2011, 11:14
by an_to_nin
Tout d'abord merci pour la rapidité de vos réponses.

Je vais essayer vos 2 propositions, puis je verrais laquelle me convient le mieux

@Critor : Pourrais tu m'expliquer comment programmer ZRESRCES pour qu'il lance le bon programme ? Et quand tu parles de la mémoire qui ne peut être réécrite que 100 000 fois, cela correspond t-il aux archivages/désarchivages ou seulement aux Garbage Collect ?

@kindermoumoute : Les menus sont-ils pris en compte dans l'Axe Parser et si oui la syntaxe est-elle la meme qu'en Basic ?

Re: Fonction Unarchive

Unread postPosted: 19 Feb 2011, 12:16
by critor
Si je me souviens bien, ZRESRCES prend une liste de noms de programmes, et les copie temporairement en RAM, avant de lancer le dernier. Une fois ce programme terminé, tous ces programmes temporaires créés en RAM sont supprimés.

Re: Fonction Unarchive

Unread postPosted: 19 Feb 2011, 12:25
by kindermoumoute
an_to_nin wrote:@kindermoumoute : Les menus sont-ils pris en compte dans l'Axe Parser et si oui la syntaxe est-elle la meme qu'en Basic ?

Ce n'est pas du tout le même langage de programmation, il n'y a pas de commande menu en Axe. Mais il y a une fonction qui a été recréé : ici (à lire après avoir lu mon tutoriel en signature).

Re: Fonction Unarchive

Unread postPosted: 19 Feb 2011, 17:48
by an_to_nin
Merci, et est-ce qu'il existe un code qui permette de lancer un autre programme, toujours en axe parser (je n'ai pas trouvé dans le tuto) ?

Re: Fonction Unarchive

Unread postPosted: 19 Feb 2011, 19:01
by kindermoumoute
Cela dépend du programme que tu veux exécuter, mais ce n'est pas "simple". Donc oublie cette possibilité. :)