TI-Basic/z80/Ecran/Menu

De TI-Planet Wiki
< TI-Basic‎ | z80
Aller à la navigation Aller à la recherche
Menu()
Accès: [prgm][alpha][prgm]
Existe sur TI-73 à TI-84 Plus C Silver Edition, et TI-86
Poids: 1 octet

Description

  • Les menus sont utilisés pour l'organisation, afin de fournir une liste de choix pour l'utilisateur à choisir, ainsi qu'une bonne façon pour les utilisateurs d'interagir avec les programmes et les explorer. Bien que l'utilisation de la commande Menu() nécessite d'utiliser des labels (ce qui est parfois mal vu), le menu ressemble à un générique intégré dans le menu, il est donc familier et facile à utiliser pour l'utilisateur.
  • Le choix d'un item dans le menu revient en fait à choisir un Label auquel le programme va se rendre.
  • Lorsque le Menu() est rencontrée lors d'un programme, l'écran de menu est affiché, avec le titre de menu spécifié en texte blanc sur fond noir sur la première ligne, et chaque élément du menu en dessous sur sa propre ligne.
  • L'indicateur de réflexion passe en mode "Pause", c'est à dire en pointillés, indiquant qu'il attend un signal de l'utilisateur.
  • L'exécution du programme est suspendue jusqu'à ce que l'utilisateur sélectionne un élément de menu. Il y a un curseur que l'utilisateur peut monter et descendre dans le menu pour sélectionner un élément de menu, bien que l'usage direct des chiffres soit possible.
Le titre du Menu
  • Le titre du menu peut être de 16 caractères ou moins (en raison de la largeur de l'écran), et doit être enfermé dans une paire de guillemets.
  • C'est souvent plus joli de le centrer sur l'écran en utilisant des espaces pour remplir le reste de la ligne, de sorte que l'ensemble de la ligne supérieure soit surlignée en noir.
Elements de Menu
  • Le menu peut avoir jusqu'à sept éléments de menu (en raison de la hauteur de l'écran et le titre de menu en haut).


Syntaxe

La commande Menu() est liée à l'utilisation de la commande Lbl, en effet, chaque texte d'item de menu est relié à un label.

:Menu(" titre-du-Menu  ", item-1 , label-1 , item-2 , label-2 [, ... , item-7 , label-7 ) ]

Si vous indiquez un label qui n'existe pas, vous obtiendrez une ERR LABEL si vous choisissez cet item dans le Menu.

Les items peuvent être des chaines, des textes (encadrés par des guillemets donc), des nombres, des valeurs stockées dans des variables, etc...

Utilisations particulières

  • Quand un programme a besoin de plus de 7 éléments de menu, vous devrez créer un autre menu, puis un lien vers ce second menu dans le premier menu avec l'un des éléments du premier menu.
  • Vous pouvez aussi avoir deux (ou plus) éléments de menu allant à la même étiquette (vous n'avez pas besoin de deux étiquettes si elles sont juste à côté de l'autre). (étiquette = label en français)
  • Il est possible de remplacer les textes par des variables, que ce soit des chaines ou des valeurs. Il est également possible de laisser un item "vide" en insérant une chaîne vide, soit deux guillemets collés: ""
  • Il est souvent pratique de placer un Label juste avant le Menu, ce qui permet à l'utilisateur de revenir à ce Menu à un moment ou à un autre du programme, via un Goto ou un autre Menu, par exemple.

Critiques

  • Le titre ne dispose que d'un ligne pour s'afficher, et ne la remplit pas systématiquement (alignement à gauche)
  • Cette commande donne un menu particulièrement laid sur TI-84 Plus C Silver Edition
  • Limitation à 7 items par menu, pas de scrolling possible
  • Limitation à un seul onglet, pas de direction avec les touches [gauche] et [droite] comme dans les réels menus de la calculatrice.

Emplacement

  • Depuis l'éditeur de programmes, tapez [prgm][alpha][prgm]
  • Dans le catalogue

Modèles concernés

Les TI-Flash et TI-83 like, ainsi que la TI-82 et la TI-86.

Messages d'erreur

ERR INVALID

Si vous utilisez Menu() en dehors d'un programme

ERR LABEL

Si vous cliquez sur un item dont le Label associé n'existe pas (à aucun endroit dans le programme une commande Lbl XX n'a été trouvée)

Informations complémentaires

  • Poids du Token: 1 octet
  • Les menus ne s'affichent pas sur l'écran principal. Ainsi, les données présentes sur l'écran principal ne sont pas effacées.

Voir aussi