1

Salut,

J'ai fait un programme avec la fonction PopUp. Jusqu'ici, pas de problème.
Mais je voudrais que si on appuie sur une touche (esc) pendant que le menu popup est présent, le programme soit arrêté (Stop).

Le problème est que je ne sais pas si on peut faire une gestion de touche pendant un PopUp. Si j'appuie sur esc pendant un popup classique, ça m'indique une erreur variable indéfinie.

Donc il y a-t-il une solution pour ça?

Merci.
Programmeur sur TI82, et bientôt sur 89!

2

je comprends pas le pb, si la variable est indéfinie quand tu appuies sur esc, pourquoi ne pas tester simplement à la sortie de la popup si la variable est indéfinie, et quitter le cas échéant ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

3

Il existe une variable spécialement créée pour ça dans un dialog. Elle est stockée sous le nom "ok"
Après l'affichage d'un popup, cette valeur est à zéro si on a appuyé sur ESC, et à un quand on valide avec ENTER.

Ce qui donne

Dialog
Text "Si tu appuies sur ESC,"
Text "j'appelle la police !"
EndDlog

if ok=0 then
Text "J'appelle la police !"
else
Text "Ça vaut mieux pour toi..."
endif

4

KillerMapper (./1) :
Le problème est que je ne sais pas si on peut faire une gestion de touche pendant un PopUp. Si j'appuie sur esc pendant un popup classique, ça m'indique une erreur variable indéfinie.

if gettype(var)="NONE"
Stop

Ca marchera que si la calc est en anglais

Peut-être qu'une autre solution est d'initialiser la variable à 0. Si on a fait ESC, elle sera toujours à 0 après le popup. Si on a fait enter, elle aura la valeur de l'item kivabien.

5

0->x
PopUp list,x
if x=0:Goto end //Ou ce que tu veux =)
//Après, traitement normal.


EDIT : Cross au-dessus sad

EDIT 2 :
Folco (./4) :

if gettype(var)="NONE" Stop


Devient ça
Folco (./4) :

if getType(var)="NONE" or getType(var)="AUC"Stop


Mais ici ma solution est la plus simple gni

6

FireHunter (./5) :
Devient ça

Et si ta calc est en italien ? tongue
FireHunter (./5) :
Mais ici ma solution est la plus simple

Qui est aussi la mienne, merci grin

7

FireHunter (./5) :

EDIT : Cross au-dessus frown.gif

*siffle*
Folco (./6) :
Et si ta calc est en italien ? tongue.gif

Ben, écoute, j'ai envie de dire TTD ^^

8

La solution correcte pour le getType, c'est:
:Local notexist
:getType(notexist)→notexist

au début du programme, puis:
:If getType(var)=notexist
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

9

non.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

10

La solution correcte pour le getType, c'est:

Une solution correcte. Tout dépend de ce qu'on veut faire.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

11

C'est, à quelques variations triviales près, la seule solution qui est compatible avec toutes les traductions de AMS (même d'éventuelles traductions futures, même d'auteurs tiers).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

12

FireHunter (./5) :
0->x
PopUp list,x
if x=0:Goto end //Ou ce que tu veux =)
//Après, traitement normal.


Bon j'ai réussi à avoir ce que je voulais avec cette solution smile

Merci à tous pour votre aide et vos explications!
Programmeur sur TI82, et bientôt sur 89!

13

Folco (./6) :

Qui est aussi la mienne, merci biggrin.gif


De rien trigni