Génération de menus
Un article de Wikipedia.
(Différences entre les versions)
(→Procédures et fonctions) |
(→Procédures et fonctions) |
||
Ligne 26 : | Ligne 26 : | ||
* La procédure <code pascal>titlemenu(var m:menu;t:string)</code> permet de définir le titre des pages de menu | * La procédure <code pascal>titlemenu(var m:menu;t:string)</code> permet de définir le titre des pages de menu | ||
* La procédure <code pascal>addmenuitem(var m:menu;e:string)</code> permet d'ajouter les éléments à la liste des choix | * La procédure <code pascal>addmenuitem(var m:menu;e:string)</code> permet d'ajouter les éléments à la liste des choix | ||
- | * La fonction <code pascal>selectmenu(m:menu):integer</code> affiche le menu et retourne la position de l'élément du menu | + | * La fonction <code pascal>selectmenu(m:menu):integer</code> affiche le menu et retourne la position de l'élément dans la liste des choix lors de la sélection d'un élément du menu ou 0 si le menu est quitté. |
* La fonction <code pascal>sizemenu(var m:menu):integer</code> retourne le nombre d'éléments du menu | * La fonction <code pascal>sizemenu(var m:menu):integer</code> retourne le nombre d'éléments du menu | ||
Version du 16 mars 2008 à 10:08
Sommaire |
Génération de menus
But
A partir d'une liste de choix, présenter un menu texte regroupant un nombre limité de choix ainsi qu'une navigation permettant de visualiser l'ensemble de la liste.
Introduction
A plusieurs reprises, il s'est avéré que la présentation d'une liste de choix sous forme de pages de menu texte limité à un certain nombre de lignes était utile.
Un menu est constitué :
- d'un titre
- d'une liste d'entrées (de choix)
L'utilisation nécessite :
- une commande pour afficher le menu et retourner la sélection
- un caractère pour passer à la page suivant si elle existe
- un caractère pour passer à la page précédende si elle existe
- un caractère pour quitter le menu
Résultats
L'implémentation nécessite les API Palm PalmAPI2 et est la suivante (voir Ressource):
Type et constante
- La constante maxmenu détermine le nombre de ligne d'une page du menu
- Le type menu contient le titre et la liste des choix
Procédures et fonctions
- La procédure
initmenu(var m:menu)
initialise le menu (titre et éléments du menu) - La procédure
titlemenu(var m:menu;t:string)
permet de définir le titre des pages de menu - La procédure
addmenuitem(var m:menu;e:string)
permet d'ajouter les éléments à la liste des choix - La fonction
selectmenu(m:menu):integer
affiche le menu et retourne la position de l'élément dans la liste des choix lors de la sélection d'un élément du menu ou 0 si le menu est quitté. - La fonction
sizemenu(var m:menu):integer
retourne le nombre d'éléments du menu
Navigation
- Les caractères q ou Q permettent de quitter le menu
- Les caractères s ou S permettent de passer à la page suivante du menu si elle existe
- Les caractères p ou P permettent de passer à la page précédente du menu si elle existe
Utilisation
Un utilisation typique se présente de la façon suivante :
{$i PalmAPI2.pas}
{$i Menu.pas}
...
var menu01 : menu;
select : integer;
...
initmenu(menu01);
titlemenu(menu01,'Titre du menu');
addmenuitem(menu01,'Choix 1');
addmenuitem(menu01,'Choix 2');
...
repeat
select:=selectmenu(menu01);
case select of
1:begin
// action pour le Choix 1
end;
2:begin
// action pour le Choix 2
end;
end;
until select = 0;
...
Conclusions
- Un menu permet de structurer la navigation des logiciels.
Ressources
- Génération de menus Media:Menu_pas.PDB
- Source Menu.pas
Catégories: Logiciel | Pascal | Palm