17Fermer19
veryLe 11/11/2008 à 12:44
gon33 (./17) :
Tu devrais suivre mon lien parce que tu trouveras pas de solution plus rapide... http://www.ticalc.org/archives/files/fileinfo/265/26546.html


trop gros, ( 5000 octets eek !! ) et .. revient à utiliser une lib asm. (j'ai regardé très rapidement ). donc autant utiliser une lib asm qui fait ça proprement, ça fera 150 octets..
Ou alors hardcoder dans une variable d'un autre type à la main..

gon33 (./17) :
Sinon, pour accéder à une chaine en fonction d'un nombre (variable)... Eh ben, pour la modification des données, ça fait une vitesse pourrie, donc sur Ti, à part avec une librairie Asm, je vois pas...


Ben c'est une solution souvent utile quand tu connais déjà *au début* du programme la grande majorité des strings que tu va afficher.. ( mais bon en général si on peut c'est plus simple de mettre directement les chaines de cratères sur l'instruction qui va les sortir, c'est certain ), en tout cas lorsque à un moment donné tu le a à peu près tous.. clair que pour modifier c'est pas ça.

Mais bon ça c'est un peu de la faute à Ti: chez tous les gens normaux un string, c'est codé comme un tableau, c'est trivial (temps constant) de modifier un élément ( on connait direct la case mémoire à accéder ). Chez Ti, un string, bon au début y'a la taille prise en octets, le nom, puis c'est juste une suite de tokens consécutifs en mémoire. Le problème, c'est que certains tokens font 2 octets et d'autres 1. Donc est est incapable d'accéder au n-ièm cratère autrement qu'en vérifiant un par un si chaque caractère fait un octet ou deux.. donc c'est catastrophique. (enfin c'est plus une structure de liste chainée que de tableau quoi)

Pour ça que les sub( sont longs etc.. ( et bon après y'a un jeu d'instructions pas très complet mais ça c'est encore de la faute à Ti cheeky )