Ce programme est sous licence Creative Commons 2.0 BY-NC
Votre calculatrice doit posséder les chaines de caractères (Str) et Menu pour utiliser ce programme. Si vous avez une Graph 85 (SD), mettez-la à jour.Description :
La fonction Menu est très pratique, mais le code obtenu est brouillon et indigne de tout bon programmeur qui se respecte. En clair :
Lbl/Goto
Je vous propose donc un menu scrollable sans scintillement avec barre de défilement.
Le nombre maximal d'entrées est variable. Nous y viendrons en détail tout à l'heure.
Personnaliser le menu
Entrez les entrées dans l'ordre d'apparition dans Str 1, séparées par une virgule. Ajoutez également une virgule au début et à la fin de Str 1.
Une entrée ne peut pas dépasser les 17 caractères.
Exemple :
",Opt01,Opt02,Opt03,Opt04,"->Str 1
Les entrées peuvent avoir des longueurs différentes (en nombre de caractères).
Rappel : la longueur maximale d'une chaine est de 255 caractères, ce qui conditionne le nombre d'entrées de votre menu.
Paramétrage
A partir des données entrées dans Str 1, le programme va générer lui-même les paramètres nécessaires au bon fonctionnement de ce dernier. Ces paramètres sont stockées dans la variable E et la List 1.
La variable E contient le nombre d'entrées du menu.
La List 1 contient deux informations pour accélérer les calculs, l'une stockée dans la partie entière, l'autre dans la partie décimale du nombre. Chaque case correspond à une entrée, triée dans l'ordre d'apparition dans le menu. La partie entière correspond à la position de début de l'entrée dans Str 1 et la partie décimal correspond à la longueur (en nombre de caractères) de l'entrée.
Conseil
L'analyse de Str 1 prend quelques secondes. Si vous utilisez ce code dans vos projets, je vous recommande vivement de pré-configurer la variable E et List 1 en utilisant les valeurs générées.
Supprimez également le code entre les commentaires "PARAMETRAGE" et "PREPARATION". Vous n'en aurez plus besoin.
Fonctionnement
* [Haut] et [Bas] pour se déplacer dans le menu
* [EXE] pour valider
* [EXIT] pour quitter
En validant, le programme retourne le numéro de l'entrée (1, 2, 3 etc). En quittant, il renvoie -1.
Mises à jour
v2.00 (07/12/2015)
- Importante réécriture du programme
- Plus de souplesse d'utilisation et de paramétrage
v1.02 (20/07/2011)
- Déplacement du curseur mieux géré
- Le programme détecte automatiquement le nombre d'entrées (vous pouvez en mettre de 6 à 15), en fonction de la longueur de Str 1
- Séparation en deux programmes :
* MDRLTEST : Pour tester la fonction ou déboguer avant l'implantation dans un programme
* MENUDRLT : Le code à implanter pour utiliser la fonction dans un programme
C'est assez simple, il te suffit de rentrer dans le code en édition sur ta calculatrice et de remplacer les "OPTN..." par ce que tu souhaites dans le code. N'aie pas peur, ça mord pas.
Si tu as besoin de dupliquer ce programme (même si c'est pas super), tu as les commandes [COPY] et [PASTE] disponibles sur la calculatrice.
Je relance un peu le sujet.. Perso, pour mes menu j'utilise des Do LpWhile 1 =/ 2, des Break et une variable pour savoir sur quelle partie du menu j'ai cliquer (seul default, j'ai pas encore chercher a faire un menu déroulant mais avec ce système tu peux cree n'importe quelle nombre de sous-menu )
Pour culture, sache qu'un nombre peut servir tout seul de condition, auquel cas la condition de mue en « ce nombre ≠ 0 ». La boucle infinie la plus idiomatique est donc LpWhile 1
Débutant sur la Graph + 35, j'admire la facilité avec laquelle tu programmes, mais je suis un peu largué. J'ai d'abord essayé ton MENUDRLT, mais il plantait dès que je modifiais la liste des OPT01 etc que tu rentrais dans Str 1 au début... J'ai ensuite regardé sur YouTube ta vidéo sur les menus, et aussi celle sur les déplacements et j'ai eu l'impression d'avoir tout compris :-), sauf que mon menu déroulant fonctionne mais je ne vois pas comment en sortir une valeur qui me permettrait de lancer un sous-programme de traitement. Je suis en train d'essayer de faire des calculs simples sur la TVA.
Merci d'avance si tu peux m'éclairer sur le sujet.
Cordialement
Palmfan
Si tu débutes, ce programme n'est pas le plus facile.
En relisant la description, je me rends compte qu'un novice se perdra.
J'ai l'impression qu'il manque une virgule au début de mon programme ",OPT01,..."->Str 1
Je n'ai pas mes calculatrices sous la main, donc ne peux t'aider qu'à tâtons.
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd