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
Je comprend vraiment pas ce que vous avez tous avec les Lbl / Goto.
Personnellement, je préfère utiliser la fonction Menu plutôt qu'un code qui sert EXACTEMENT à la même chose mais qui utilise les Str (déjà qu'on en a pas beaucoup sur la calculatrice, si on doit en réserver pour ce programme !).
Et je trouve ton argument un peu bidon : "le code obtenu est brouillon et indigne de tout bon programmeur qui se respecte".
Moi je pense qu'un bon programmeur qui se respecte préfère utiliser la commande Menu et les Lbl / Goto, et créer son programme tout seul plutôt que d'utiliser le code créé par un autre. Dans ce cas là, ce ne serait même pas un programmeur...
Plus de quatre années plus tard, je vous propose une nouvelle mise à jour de mon menu.
Le code a été en grande partie réécrit pour gagner en souplesse.
J'ai également retravaillé la page de description afin d'être plus précis pour sa réutilisation dans vos projets.
Je suis un petit nouveau pour ce qui est la programmation et j'aimerais savoir comment intégrer un programme dans le menu parce que je n'y comprends rien ^^. JE souhaite juste avoir deux choix dans le menu. Après je peux envoyer un mail à quelqu'un pour lui expliquer ce que je veux mais ce serait trop facile, c'est en pratiquant que l'on apprends le mieux
",Entrée 1, Entrée 2,"→Str 1
Prog "MENUDRLT"
If Ans=1
Then // Actions à faire pour le menu 1
Else If Ans=2
Then // Actions à faire pour le menu 2
IfEnd
IfEnd
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