Il faut d'abord vérifier si le programme est tokénisé (cf.
http://pub26.ezboard.com/ftichessteamhqfrm5.showMessage?topicID=797.topic), puis s'il n'est pas tokénisé, on peut procéder presque comme pour un fichier texte (
http://tigcc.ticalc.org/doc/faq.html#78), mais:
* Il n'y a que 2 octets (taille de la variable) à supprimer avec
memmove, pas 4.
* Le format programme contient quelques caractères de plus à la fin que tu devras restaurer. 00 00 00 19 E4 E5 00 00 08 DC pour les programmes et 00 00 00 17 E4 E5 00 00 08 DC pour les fonctions devrait fonctionner. (Si la première ligne non-vide qui n'est pas un commentaire n'est pas
Prgm (ou
prgm ou
PRGM ou
pRgM etc... Il peut aussi y avoir des espaces parasites que tu devras ignorer.), c'est une fonction.) Si tu ne veux pas t'en occuper, considère mettre le bit 11 (lecture seule) des flags de l'éditeur texte.
* Les flags doivent être 3 (ou 0x803 pour la lecture seule) plutôt que 7 puisqu'il n'y a pas de caractère de commande supplémentaire.
Pour les programmes tokénisés, il faudra d'abord les détokéniser dans un handle temporaire, cf:
http://pub26.ezboard.com/ftichessteamhqfrm5.showMessage?topicID=797.topic.
Puis pour les réécrire, tu peux utiliser le format texte: taille de la variable + instructions en format texte + les octets supplémentaires que j'ai donnés.
[edit]Edité par Kevin Kofler le 13-08-2001 à 00:49:14[/edit]