Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.
Menu
Calculatrices
Graph 35 à 100
Graph 25+Pro/25+E/25+E II
Graph 35+USB/75(+E)/85/95 SD
Graph 100(+)
Classpad 300/330(+)
fx-CG 10/20 (Prizm)
Classpad 400(+E)
Graph 90+E
fx-92+ SC
Liens
¤ Transférer un programme sur
sa calculatrice

¤ Vous cherchez une fonction ?
Utilitaires >> Graph 35+USB/75(+E)/85/95 SD >> Divers >> Menu deroulant
Menu deroulant
Version : 2.00 Taille : 800 octets Ajouté le : 2011-07-19 21:02 Modifié le : 2015-12-07 14:17
Auteur et posteur :
TotoyoHors ligneMembre d'honneurPoints: 16103 Défis: 102 Message
Planète Casio - Programme Casio - Menu deroulant - totoyo - Calculatrices
Nombre de visites sur cette page : 13449
Score au progrank : 39
Pas encore de note !
Vous devez être connecté(e) pour noter (inscription).
2085 téléchargements | Soumettre un test

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).

Exemple :
",Commencer,Nouvelle partie,Options,Crédits,Quitter,"->Str 1


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

v1.01 (20/07/2011)
- Correction d'un petit bogue


Commentaires :

Pages: Précédente | 1, 2, 3 | Suivante

TotoyoHors ligneMembre d'honneurPoints: 16103 Défis: 102 Message
Posté le 29-07-2011 à 15:50 | #
Tu fais comme tu veux, je propose, la communauté dispose
TenmatxHors ligneMembrePoints: 996 Défis: 2 Message
Posté le 24-03-2013 à 20:25 | #
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...
FabcvlrHors ligneMembrePoints: 2275 Défis: 41 Message
Posté le 01-04-2015 à 09:31 | #
Le curseur saute une entrée sur trois ? C'est un peu trop réactif ! Peut-on mettre autre chose que Entrée 01, Entrée 02, .... ?
TotoyoHors ligneMembre d'honneurPoints: 16103 Défis: 102 Message
Posté le 03-04-2015 à 12:24 | #
Pour le curseur trop réactif, ajoute une boucle de ralentissement.
Pour les menus, édites le code et mets les noms que tu veux
TotoyoHors ligneMembre d'honneurPoints: 16103 Défis: 102 Message
Posté le 07-12-2015 à 14:20 | #
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.
ciri25
Statut : Invité
Posté le 12-05-2016 à 16:27 | #
Je suis novice et je cherche à savoir comment faire pointer OPT01 sur un programme. A chaque fois, j'ai le 1 qui apparaît.

Merci d'avance
TotoyoHors ligneMembre d'honneurPoints: 16103 Défis: 102 Message
Posté le 13-05-2016 à 14:15 | #
Salut,

En effet, la documentation manque de clarté, surtout pour un novice. Je la retravaillerai si j'en ai le temps.

A la fin du programme, tu ajoutes :
If Ans=1
Then Prog "NOMPROG"
IfEnd
Thorch88
Statut : Invité
Posté le 02-10-2016 à 13:37 | #
Bonjour à tous.

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

Merci de votre réponse.
Dark stormHors ligneLabélisateurPoints: 11641 Défis: 176 Message
Posté le 02-10-2016 à 13:44 | #
En gros, tu fais ça :

",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
HackcellHors ligneMaître du PuzzlePoints: 1532 Défis: 11 Message
Posté le 02-10-2016 à 19:59 | #
Félicitons DS pour sa pédagogie et sa patience à toute épreuve

Pages: Précédente | 1, 2, 3 | Suivante

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 63 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

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