1

bonjour j'ai un problème simple (la réponse le sera-t-elle aussi?)
Bon je sais créer un menu custom et l'afficher, mais le problème est de savoir comment l'exploiter dans un programme: permettre à l'utilisteur de se balader dedans et de sélectionner une option (et du coté programme savoir quelle option a été choisie...)
J'espère que vous saurez la réponse. Merci

2

Le menu Custom, c'est fait pour coller du text a la position courante du Curseur dans l'ecran HOME ou dans les EDITEUR.

Va voir ToolBar, ca fait exactement de que tu veux : des branchements vers des Label a l'interieur d'un programme TI-Basic

3

Par contre, faut bien gérer ses labels, sinon ça risque d'être le bordel dans son prog...

4

merci je vais voir ça!

5

->Samy

Je viens de relire ta question ; on peut aussi bien utiliser un popup de 2 facons differentes pour le meme resultat :

avec Goto

Local label,a,b
{ "c1", "c2", "c3" } ->label
{ "choix1", "choix2", "choix3" } ->a
0->b
popup a,b
if b<>0 then
 goto #( label[b] )
else
 return
endif

Lbl c1
...
return
Lbl c2
...
return
Lbl c3
...
return


avec If

Local a,b
{ "choix1", "choix2", "choix3" } ->a
0->b
popup a,b

if b=0 then
...
elseif b=1 then
...
elseif b=2 then
...
elseif b=3 then
...
endif






Je dirai simplement que la methode des If c'est plus de la bonne programmation.

6

Oui et non : si ça n'était pas en basic, la première version serait bien plus efficace (en considérant que la liste de labels deviendrait une table de sauts). Après, bien que je n'ai jamais étudié comment marche en détail le Ti-Basic, il semblerait que les "goto" fassent une recherche du "label" correspondant dans toute la source, du coup c'est probablement plus efficace de faire des if, mais c'est vraiment éviter une faiblesse du langage plutôt que de la "meilleure programmation".
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

7

Oui, je crois aussi que le TIOS fait de la recherche textuelle pour les 'Label'.
Et il doit certainement en faire autant pour les 'If...Then...Else'.

Du coup l'efficacite devient discutable dans les cas.

Mais bon en parlant de bonne programmation, tu conseillerais l'utilisation des 'Goto' au 'If'

8

Bien que ça fasse probablement dresser des cheveux sur des têtes de codeurs qui ont banni le goto sans même savoir pourquoi, oui, bien sûr que je trouve qu'une table de saut est bien plus élegante / efficace que cette série attroce de "if / else" (après, faut voir au cas par cas, peut-être que pour 3 cas ça vaut pas vraiment le coup). D'ailleurs dans quasiment tous les langages un minimum évolués, il existe des structures de contrôle tout à fait adaptées (genre switch en C), qui vont faire exactement la même chose, mais comme ça le mot "goto" n'apparaitra pas dans le code source et tout le monde sera content ^^

(ceci dit encore une fois, ce n'est qu'à cause de la pauvreté du ti-basic que des "if / else" risquent d'être plus rapides dans son cas)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

9

Zephyr
: Bien que ça fasse probablement dresser des cheveux sur des têtes de codeurs qui ont banni le goto sans même savoir pourquoi

Le goto c'est mal parceque l'algorithme devient rapidement incompréhensible : des renvois de partout vers partout. Ca s'appelle du code spaghetti. C'est très dommage quand on peut utiliser des structures claires comme while, if, etc. à la place.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

10

bah oui mais c'est pas de la "faute" du goto, ça peut très bien s'utiliser correctement; c'est juste qu'effectivement on peut aussi faire n'importe quoi avec, et qu'au final beaucoup évitent de l'utiliser sans même se demander si parfois ça ne serait pas une bonne solution.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)