Présentation
Documentation
L'équipe
Sérialisation
 
Programmes
Objets
Libs Utilitaires
Libs Internes
   
 
Editeur
Syntaxes
Windows
Versions
   

SCR/AL1 - TOME IV. Les librairies internes

2. La librairie scr4o

2.4 Fonctions liées aux MENUS

2.4.6 MN_search_option (file s_menu.c:304)

Syntax

MN_search_option(mn, txt)
MENU *mn;
unsigned char *txt;

Description

Recherche le numéro de l'option correspondant au texte txt dans le MENU mn. Le texte de chaque option est localement strippé (les blancs de fin sont supprimés) et justifié à gauche. De même en ce qui concerne le texte passé comme argument à la fonction.

La fonction retourne -1 si le texte n'est pas trouvé dans le MENU. Elle retourne le numéro de l'option sinon (première option = 0).

Exemple

    MN_search_option(mn, " Impression sur LPT1:");

File s_menu.c

OPTION *MN_add_option(MENU *mn)
MENU *MN_auto_create(char **text, int line, int col, int nlv, int box, int back)
MENU *MN_create()
MENU *MN_create_default(int line, int col, int back, int nb_line)
MN_end(mn)
MN_free(mn)
MN_search_option(mn, txt)

MN_add_option (file s_menu.c:134)

Syntax

OPTION *MN_add_option(
MENU *mn
)
#else
OPTION *MN_add_option(mn)
MENU *mn;
#endif

Description

Ajoute une option à un MENU créé à l'aide d'une des fonctions d'allocation de MENU MN_create(), MN_auto_create(), etc.

La valeur retournée est un pointeur vers la nouvelle option.

Cette fonction peut être utilisée en cours d'édition du MENU, mais jamais sur un MENU défini comme objet SCR dans un fichier source.

Voir également

MN_auto_create(), MN_set_option_text()

MN_auto_create (file s_menu.c:362)

Syntax

MENU *MN_auto_create(
char **text,
int line,
int col,
int nlv,
int box,
int back
)
#else
MENU *MN_auto_create(text, line, col, nlv, box, back)
char **text;
int line, col, nlv, box, back;
#endif

Description

Crée un MENU dynamique et fixe directement la ligne, la colonne, la couleur, le nombre de lignes visibles, l'épaisseur du cadre (BOX) et les options du menu.

text est un tableau de pointeurs vers le texte des options. Le dernier élément du tableau doit être un pointeur nul ou un pointeur vers un string vide ("").

La fonction MN_end() est appelée en fin de fonction pour ajuster le MENU.

Exemple

    EditProducts(prod)
char **prod;
{
MENU *mn;
int choice;

mn = MN_auto_create(prod, 5, 15, 10, 1, SCR_REVERSE);
choice = MN_edit(mn);
MN_free(mn);
return(choice);
}

Voir également

MN_create(), MN_free(), MN_end(), MN_add_set_option_text(), MN_edit()

MN_create (file s_menu.c:53)

Syntax

MENU *MN_create()

Description

Crée un nouveau menu en allouant l'espace nécessaire et en initialisant les valeurs par défaut : BOX 1, BACK DEFAULT.

Retourne un pointeur vers la structure allouée.

Exemple

    mn = MN_create();

Voir également

MN_auto_create(), MN_free()

MN_create_default (file s_menu.c:267)

Syntax

MENU *MN_create_default(
int line,
int col,
int back,
int nb_line
)
#else
MENU *MN_create_default(line, col, back, nb_line)
int line, col, back, nb_line;
#endif

Description

Crée un MENU dynamique et fixe directement la ligne, la colonne, la couleur et le nombre de lignes visibles.

Exemple

    EditProducts(prod, prices)
char **prod;
long *prices;
{
MENU *mn;
int i, choice;

mn = MN_create_default(5, 15, SCR_REVERSE, 5);
for(i = 0 ; prod[i] != 0 ; i++)
MN_add_set_option_text(mn, "%s : %ld FB",
prod[i], prices[i]);

MN_end(mn);
choice = MN_edit(mn);
MN_free(mn);
return(choice);
}

Voir également

MN_create(), MN_free(), MN_auto_create(), MN_add_set_option_text()

MN_end (file s_menu.c:197)

Syntax

MN_end(mn)
MENU *mn;

Description

Termine la définition d'un MENU créé à l'aide d'une des fonctions d'allocation de MENU MN_create(), MN_auto_create(), etc.

Le nombre de colonnes est ajustée sur les textes des OPTIONS, de la footnote et du titre. Le nombre de lignes visibles est limité à la taille de l'écran et au nombre d'options.

La lettre qui permettra de se positionner ou de déclencher l'action d'une option est fixée comme étant la première non blanche de l'option si cette lettre n'a pas encore été fixée.

Exemple

    EditProducts(prod, prices)
char **prod;
long *prices;
{
MENU *mn;
int i, choice;

mn = MN_create();
mn->mn_line = 5;
mn->mn_column = 15;
for(i = 0 ; prod[i] != 0 ; i++)
MN_add_set_option_text(mn, "%s : %ld FB",
prod[i], prices[i]);

MN_end(mn);
choice = MN_edit(mn);
MN_free(mn);
return(choice);
}

MN_free (file s_menu.c:90)

Syntax

MN_free(mn)
MENU *mn;

Description

Libère l'espace alloué pour un menu créé à l'aide d'une des fonctions de création MN_create(), MN_auto_create(), ...

Les options, titre et footnote du MENU sont également libérés.

Cette fonction ne peut jamais être utilisée sur un MENU défini comme objet SCR dans un fichier source.

Voir également

MN_create()

Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be