Génération de menus
Un article de Wikipedia.
(Différences entre les versions)
(→Navigation) |
(→Utilisation) |
||
Ligne 43 : | Ligne 43 : | ||
... | ... | ||
var menu01 : menu; | var menu01 : menu; | ||
+ | select : integer; | ||
... | ... | ||
initmenu(menu01); | initmenu(menu01); | ||
Ligne 48 : | Ligne 49 : | ||
addmenuitem(menu01,'Choix 1'); | addmenuitem(menu01,'Choix 1'); | ||
addmenuitem(menu01,'Choix 2'); | addmenuitem(menu01,'Choix 2'); | ||
- | + | ... | |
- | + | repeat | |
- | + | select:=selectmenu(m); | |
+ | case select of | ||
+ | 1:begin | ||
+ | // action pour le Choix 1 | ||
+ | end; | ||
+ | 2:begin | ||
+ | // action pour le Choix 1 | ||
+ | end; | ||
+ | end; | ||
+ | until select = 0; | ||
+ | ... | ||
</code> | </code> | ||
Version du 16 mars 2008 à 09:58
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 menu
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 l'ensemble du menu
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 du menu - La fonction
selectmenu(m:menu):integer
affiche le menu et retourne la position de l'élément du menu sélectionné 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(m);
case select of
1:begin
// action pour le Choix 1
end;
2:begin
// action pour le Choix 1
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