Forum

Catégorie : Programmes
Forum : Aide à la programmation
Vues : 611
Réponses : 13
Type : discussion
Etat : réponses autorisées

Archiver en cours de programme...

Métalocif le 07/10/2011 à 16:27
Les fonctions Archive et Unarchive ne fonctionnent pas en cours de programme en ajoutant prgmXXX derrière.
Pourquoi? Quelle est la syntaxe à utiliser?
Désolé pour le hors-sujet et merci,
Métalocif
sandro le 07/10/2011 à 19:18
Aucune idée, je n'aipas encore créé de vrai programmes sur ma TI84+SE (d'ailleur, c'est sur quel model?) donc je n'en sais rien pour l'instant.

Sandro
linkakro le 07/10/2011 à 19:37
J'ai testé sous émulateur une 83+, et j'ai eu le même problème.
Je crois qu'il s'agit simplement de la manière normale de fonctionner des z80flash.
Métalocif le 07/10/2011 à 19:58
C'est une 84+SE, comme toi ^^ .
Je programme un super action-RPG (dès que j'ai le cable je vous l'envoie) et j'ai besoin de place pour le scénario...
Si vous avez un moyen de contourner le problème(ASM ou application) n'Hésitez pas!
Métalocif
linkakro le 07/10/2011 à 22:54
Il existe des applications, des shells ou des librairies permettant de contourner le problème d'une façon ou d'une autre.

persalteas maîtrise cette matière avec les librairies (il l'a fait pour HERSSAHE)
Je crois que le shell DoorsCS permet aussi de le faire.
Métalocif le 08/10/2011 à 17:32
Ouf! Soulagé de savoir que c'est possible...
Mais qu'est-ce qu'une librairie?
sandro le 08/10/2011 à 18:40
Si j'ai bien copris c'est une aplication ou un programme (je ne sais pas lequelle des deux) qui contient des fonctions en ASM qui peuvent être utilisées dans un programme (un peu comme les codes héxa en gros).

Sandro

PS : je miserais plutôt pour aplication vue que j'ai cr comprendre que ça n'existait pas sur calculatrices non flash.
Persalteas le 09/10/2011 à 22:30
Alors:

1) je me permets de te rappeler que tu es HS sur ce forum qui ne traite pas des calcultrces flash (83+ et sup.)

2) c'est normal qu'on ne puisse pas archiver un programme depuis un autre programme,ce n'est pas un bug.

3) je ne sais pas le faire, ni avec doors ni avec le Xlib (HERSSAHE).
Par contre ces derniers permettent d'éxécuter des programmes archivés. (enfin, plus exactement de les copier dans un programme temporaire stocké dans la ram pour les éxécuter.)

Tu veux plus de précisions ?
Métalocif le 10/10/2011 à 12:30
Oui!
Et je m'étais déjà excusé d mon hors-sujet dans le premier post moodforlove.gif .
Persalteas le 10/10/2011 à 13:42
Qu'est-ce que tu veux faire exactement ?

(c'est pour ça que je te demandais si tu veux plus de précisions, je ne sais pas ce que tu cherches à faire...)
Métalocif le 11/10/2011 à 17:20
Un programme peut-être pour le zContest, si j'arrive à le transférer d'ici là...
Plus précisément, une sorte d'action-RPG,donc en temps réel,avec 7 types d'ennemis... donc 7 programmes IA !
Or, étant donné que j'ai un faible pour les animations impressionnantes(c'est tout relatif en noir et blanc... happy.gif )ces IAs prennent beaucoup de place!
D'après mes calculs,en archivant toutes les inutiles,je gagnerais environ 5000 octets...Donc il faudrait ,en début de programme,archiver toutes les IAs inutiles à l'intérieur de tests conditionnels.
Voilà tout!
Métalocif

PS:Si c'est impossible d'archiver en cours de programme,pourquoi avoir permis de faire apparaître les fonctions d'archivage dans les dits programmes?
sandro le 11/10/2011 à 20:28
Je te rapelle que Texas instrument n'est pas parfait : par example, on ne peut pas arrêter avec [On] la fonction BinAléat, hors elle peut durrer des millions d'années celon les paramètres.
Persalteas le 11/10/2011 à 23:36
Métalocif:

Tu vas devoir utiliser le Xlib.

Archive tes programmes,et utilise la fontion du Xlib qui permet de copier un prog archivé dans un fichier temporaire de la TI, stocké dans la RAM et executable.

concrètement:

:real(10,2 supprimme les fichiers temporaires, ce qui permet de les réutiliser.

ensuite:

"BLABLA
:real(10,0,0

copiera le programme BLABLA archivé en programme XTEMP000, stocké dans la RAM.

Tu pourras ensuite l'éxécuter:

:prgmXTEMP000
(ou Asm(prgmXTEMP000 si c'est pas du Basic.)

pour ensuite récupérer de la RAM de libre quand tu n'as plus besoin de cette IA, ré-efface le programmes temporaire avec :real(10,2.
Métalocif le 12/10/2011 à 13:40
C'est parfait!
Il me reste juste à le télécharger.Merci à toi(et à Sandro et Linkakro)!