1

Bonjour, je voudrais savoir s'il est possible d'utiliser les touches F1, F2,... lorsqu'on créait un programme, comme pour les applications. Si oui comment faire?

2

Oui, en Basic toutes les touches sont utilisable sauf la touche ON, qui sert à quitter le programme rapidement.

Pour l'utiliser, tu as besoin de la fonction "getKey", qui sert à récuperer la valeur d'une touche (toutes les touches ont une valeur en Basic, sauf ON). Dans ton cas, les valeurs des touches de F1 à F5 sont, dans l'ordre : 11, 12, 13, 14 et 15. Voici comment savoir quel touche à été presser :
While 1
Repeat K
getKey→K
End
If K=11:Then:[...]:End End


"While 1" signifie que tout ce qui ce trouve entre lui même et le dernier "End" devra être répeter indéfiniment.
"Repeat K" signifie que l'on continue de faire ce qu'il y a entre lui même et le prochain "End" jusqu'a ce que la variable K ne fasse plus 0.
"getKey→K" signifie qu'on stocke la valeur de la touche présser dans la variable K, tant qu'une touche n'est pas présser, "getKey" renvoi 0 à K. Donc tant qu'on appui pas sur une touche (K=0), on continue à tester les touches (avec Repeat K:[...]:End).
"If K=11:Then:[...]:End" Verifie que la touche présser soit bien F1, si oui, (Then) on fait ce qu'il y a à la place de "[...]" jusqu'au prochain "End".

Voilà comment on utilise "getKey" smile.

3

Merci beaucoup!!!!

4

Et pour les touche gauche et droite, c'est quoi?
Sinon, j'ai un souci, quand je lance mon programe, au bout d'un certain nombre de touches tapées (f1 et f2) le prog se uitte en méttant ERR:MEMORY. Est-ce que quel qu'un aurait un idée du problème?
Merci

5

Les codes des touches multidirectionnelles sont :
Haut : 25
Gauche : 24
Droite : 26 Bas : 34


Enfaîte, pour savoir le code des touches, tu prends le numéro de la ligne de touche dans laquelle ce trouve ta touche, puis celui de la colonne dans laquelle ce trouve ta touche.

Je sais, ça à l'aire dur... Voilà un exemple : La touche 2nd ce trouve dans la deuxième ligne et la première colonne. Ainsi, on obtient : 2 1 donc le code de la touche est 21.

Autre exemple, la touche F1 ce trouve dans la première ligne, première colonne donc 1 1 (11). C'est pas plus compliqué.

6

Ok merci! Et pour pon problème, quelqu'un aurait une idée?

7

Bah pour le problème ça peut vennir de plusieurs choses... Par éxemple, lorsque tu demande à ta TI de trop calculer des trucs à partir des variables... Genre pour ça :
Lbl 1
A+1→A
If A=1000:Then:Goto 2:Else:Goto 1:End
Lbl 2 [...]


Il est préfèrable de faire :
For(A,0,1000
[...]
End
Lbl 2 [...]


Donc voilà, pour savoir d'où ça viens il serai préférable que tu poste le code du jeu.

8

Arf ouais bien probable que ça vienne d'utilisation intempestive de goto (notement à l'interieur de boucles), mais bon sinon ça peut plus simplement venir du fait que tu n'a vraiment plus beaucoup de mémoire sur ta Ti
«Les gens exigent la liberté d’expression pour compenser la liberté de pensée qu’ils préfèrent éviter.» - Sören Kierkegaard

La République, c’est comme la syphilis : quand on l’a attrapée, soit on se fait sauter le caisson, soit on essaie de vivre avec.

9

Ouais mais dans ce cas là le programme ne se lance pas du tout.

10

bauf: tu peux en avoir assez pour lancer le programme, qu'il commencé à être interprété, puis que l'utilisation d' (/stokage dans) une variable à un moment donné 'remplisse' la mémoire et boum une ERR MOMORY cheeky (typiquement, si tu copie une grande matrice dans une autre, ... )
«Les gens exigent la liberté d’expression pour compenser la liberté de pensée qu’ils préfèrent éviter.» - Sören Kierkegaard

La République, c’est comme la syphilis : quand on l’a attrapée, soit on se fait sauter le caisson, soit on essaie de vivre avec.

11

Ouais, ça peut faire ça aussi. Moi je me souviens qu'il y avait cette erreur et qu'en faisant un bête GarbageCollect elle n'y était plus (mais ça marche que pour les TI 83+/84+).

12

ça n'affecte pas que la mem d'archive les garbage collect ?
«Les gens exigent la liberté d’expression pour compenser la liberté de pensée qu’ils préfèrent éviter.» - Sören Kierkegaard

La République, c’est comme la syphilis : quand on l’a attrapée, soit on se fait sauter le caisson, soit on essaie de vivre avec.

13

Heu... Nan les deux je croit, puisque c'est sensé faire pareil qu'une défragmentation dans Windows (enfin je pense...).

14

( enfin même si cet arguement est plus que douteux, ça ve dans mon sens: lorsque tu défragmente 'volontairement' –du moins que c'est affiché– dans Windows, il s'agit des DD et non de la ram.. )
«Les gens exigent la liberté d’expression pour compenser la liberté de pensée qu’ils préfèrent éviter.» - Sören Kierkegaard

La République, c’est comme la syphilis : quand on l’a attrapée, soit on se fait sauter le caisson, soit on essaie de vivre avec.

15

Ok! j'ai fait la 1ére solution, je vais tester la seconde pour voir!
Merci beaucoup de votre aide!!

16

A mon avis, puisqu'en faisant un GarbageCollect on gagne de la place dans la mémoire RAM, bah ça ne l'affecte que elle et non pas la mémoire ROM (d'archive).

17

amha, vu i)qu'il n'y a des 'garbage collect' que sur les TIs qui ont de la mémoire d'archive ii)ça dure trop longtemps pour de la ram, la ram la TI la réorganise à la volé on n'y voit rien 3) par dommage collatéral ça peut effectivement toucher la ram, puisque c'est elle que l'on utilise pour faire tampon iv)bon je vais me renseigner pour de vrai s'tu veux.
«Les gens exigent la liberté d’expression pour compenser la liberté de pensée qu’ils préfèrent éviter.» - Sören Kierkegaard

La République, c’est comme la syphilis : quand on l’a attrapée, soit on se fait sauter le caisson, soit on essaie de vivre avec.

18

1) ça me parai bizarre de réorganiser une mémoire d'1.5 Mo...

2) La mémoire RAM c'est bien celle de 28ko (ou 32) ? Dans ce cas si la mémoire ROM est plus grande je vois pas comment elle peut être plus rapide à réorganiser (enfin c'est peut être de là que viens le 'Flash' cheeky).

4) Ouais, vaudrai mieu, moi j'vais voir dans le manuel d'utilisation de la TI 84+ SE si je le retrouve...

19

1) Non c'est tout à fait normal ! ( d'ailleurs tu le fait bien sur tes DD sur ton PC, c'est aussi la plus grosse mémoire )

2)Heu qui-proco. je disais en fait "si c'était la ram, alors ce serait très rapide. Or là c'est long, donc c'est la rom". De toute façon la ram il doit plus ou moins la réorganiser à la volé (soit lorsqu'il estime que c'est nécessaire, soit presque à chaque lecture/écriture )
«Les gens exigent la liberté d’expression pour compenser la liberté de pensée qu’ils préfèrent éviter.» - Sören Kierkegaard

La République, c’est comme la syphilis : quand on l’a attrapée, soit on se fait sauter le caisson, soit on essaie de vivre avec.

20

Ouais, mais je vérifierai dans le manuel (dès que je le retrouve...).

21

Chapitre 18, page 564. (du livre entier: http://education.ti.com/guidebooks/graphing/84p/TI84PlusGuidebook_Part2_FR.pdf )
Il me semble que c'est assez clair.
«Les gens exigent la liberté d’expression pour compenser la liberté de pensée qu’ils préfèrent éviter.» - Sören Kierkegaard

La République, c’est comme la syphilis : quand on l’a attrapée, soit on se fait sauter le caisson, soit on essaie de vivre avec.

22

Tiens j'ai même découvert un truc intéressant:

Lorsque vous désarchivez une variable, celle-ci est copiée dans la RAM mais n’est pas
effectivement supprimée de la mémoire d’archivage.
Les variables désarchivées sont sélectionnées en vue de leur suppression, qui
surviendra lors de la réogarnisation suivante de la mémoire.
«Les gens exigent la liberté d’expression pour compenser la liberté de pensée qu’ils préfèrent éviter.» - Sören Kierkegaard

La République, c’est comme la syphilis : quand on l’a attrapée, soit on se fait sauter le caisson, soit on essaie de vivre avec.

23

cheeky Ca dépend de quelle variable (liste, picture, matrice), là à mon avis ont parle des variables 'normales' comme A et B.

24

Le manuel n'est pas explicitement clair, mais a priori ça concerne _toutes_ les variables au sens larges du terme, ie tout sauf les applications. (donc y compris les prgms basic, les variables numériques, les listes, matrices, pictures, .. ). Sinon, vu le niveau de détail du paragraphs, ils auraient différenciés les cas.
«Les gens exigent la liberté d’expression pour compenser la liberté de pensée qu’ils préfèrent éviter.» - Sören Kierkegaard

La République, c’est comme la syphilis : quand on l’a attrapée, soit on se fait sauter le caisson, soit on essaie de vivre avec.

25

C'est bizarre, normalement on désarchive un programme pour le lancer, pas pour l'éffacer...

26

Rho mais quand ils parlent de suppression, c'est de suppression de la mémoire d'archive (même si tu ne le voit pas, physiquement il est encore écrit..), le programme étant toujours en RAM.

Et donc, si c'est bien fait:
-soit un programme simplement en mémoire d'archive. Tu veux le lancer, donc:
i: tu le désarchive. ça le copie en mémoire vive, ça ne l'efface pas pour autant de la mémoir d'archive, mais ça rajoute son nom dans la liste des "variables à supprimer lors du prochain garbage collect"
ii:t'a finit 'y jouer (oups, de l'utiliser ^^), tu le ré-archive. Si c'est bien foutu, ça 'voit' qu'il en en archive mais 'à supprimer', donc il suffit de retirer le 'à supprimer' (un simple flag, surement..), et hop comme ça même pas besoin de le recopier, si de supprimer qqch de la mem d'archive ! Plus qu'a le supprimer de la ram. Bien entendu, ça néccéssite que l'on vérifie bien que ça soit la même chose, ce qui peut demander du temps si on le fait naïvement.

Sinon ça peut grave avoir un intérêt pour récupérer des programmes (suite à un plantage ou t'a perdu le prog justement car t'étais en train de l'éxécuter), pour avoir des variables 'fantomes' (spécial prof ^^ ), etc..
«Les gens exigent la liberté d’expression pour compenser la liberté de pensée qu’ils préfèrent éviter.» - Sören Kierkegaard

La République, c’est comme la syphilis : quand on l’a attrapée, soit on se fait sauter le caisson, soit on essaie de vivre avec.