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

SCR/AL1 - TOME II. Les Objets

3. Structure d'un fichier SCR/AL1

3.3 GLOBAL

Le mot-clé GLOBAL précède une section définissant une série de paramètres globaux qui prennent effet à partir de leur position dans les sources et jusqu'à la prochaine définition ou jusqu'à la fin du fichier.

Plusieurs sections GLOBAL peuvent être définies dans des sources SCR. La syntaxe d'une telle section est la suivante :

Syntaxe

GLOBAL {
DATE_FORMAT format_defn
| TIME_FORMAT format_defn
| NB_DEC nn

| CLOCK_POS line col
| DATE_POS line col
| MEM_POS line col
| KEY_POS line col

| FLD_MEM YES | NO
| DRW_MEM YES | NO
| OPT_MEM YES | NO
| DEF_OBJ YES | NO
| ONE_OBJ YES | NO
| NAME_MEM YES | NO
| NO_DEF YES | NO
| PAGE_CENTER YES | NO
| PAGE_AUTO YES | NO
| MENU_AUTO YES | NO
| CONFIRM_CREATE YES | NO
| CONFIRM_DELETE YES | NO
| FIX_DEC YES | NO
| DEL_EOF YES | NO
| SYNC YES | NO
| CLOCK_SECS YES | NO
| BOX_1 YES | NO
| IMPORT_REQUIRED Yes | NO
| IMPORT_TODAY YES | No
| BC_AUTO_CREATE YES | No
| MP_AUTO_CREATE YES | No
| MP_LPG_MEM YES | No
| BC_LPG_MEM YES | No
| GE2EQ Yes | NO

| MENU_COLOR color
| PAGE_COLOR color
| FIELD_COLOR color

| PAGE_BOX 0 | 1 | 2 | 3
| PAGE_SHADOW 0 | 1 | 2 | 3

| HELPFILE filename
| TRANS_FILE filename

| USER_NAME "nom"
| APPL_NAME "nom"
| SERIAL_NB "sn"
| LIM_DATE date

| ISI_MEM {Yes | No}
| WIN_VLINE {Yes | No}
| WIN_HLINE {Yes | No}
| WIN_NCP nn
| WIN_FIXED {Yes | No}
| CHECK_BOX_TXT "string"
| CHECK_BOX_CHAR "letter"
| RADIO_TXT "string"
| RADIO_CHAR "letter"
| WIN_SKIP nn
| WIN_NLPFLD nn
| WIN_NLPTXT nn
| WIN_NLPVLINE nn
| WIN_NLPHLINE nn
| WIN_NLPNULL nn
| WIN_ATTR color attr
| WIN_NCPFLD nc ncp
| WIN_NOCOLOR {Yes | No}

}



color ::= DEFAULT | REVERSE | UNDERLINE | BOLD | INVISIBLE |
BLINKING | DIM | BLUE | GREEN | CYAN | RED |
MAGENTA | YELLOW | WHITE |BLACK
date ::= yyyymmdd


Les éléments d'une section global peuvent être en nombre quelconque. Si une seule définition doit être donnée, les acollades ne sont pas indispensables.

Mots-clés d'une section GLOBAL

Les mots-clés suivants peuvent apparaître dans une section GLOBAL :

3.3.1 DATE_FORMAT

Format par défaut des dates dans tous les champs des PAGES définies après la section GLOBAL courante. Ce format est du type :

    "yyyy/mm/dd"

3.3.2 TIME_FORMAT

Format par défaut des heures dans tous les champs des PAGES définies après la section GLOBAL courante. Ce format est du type :

    "hh:mm:ss"

3.3.3 NB_DEC

Nombre de décimales des champs REAL qui suivent cette section GLOBAL.

3.3.4 CLOCK_POS

Position de l'horloge dans l'écran. Si plusieurs définitions de ce mot-clé apparaissent dans différentes sections GLOBAL d'un même programme, seule la dernière est retenue.

Syntaxe

   CLOCK_POS line col

3.3.5 DATE_POS

Position de la date dans l'écran. Si plusieurs définitions de ce mot-clé apparaissent dans différentes sections GLOBAL d'un même programme, seule la dernière est retenue.

Syntaxe

   DATE_POS line col

3.3.6 MEM_POS

Position de la mémoire disponible dans l'écran. Si plusieurs définitions de ce mot-clé apparaissent dans différentes sections GLOBAL d'un même programme, seule la dernière est retenue.

Syntaxe

   MEM_POS line col

3.3.7 KEY_POS

Position du mot INPUT ou WAIT dans l'écran. Si plusieurs définitions de ce mot-clé apparaissent dans différentes sections GLOBAL d'un même programme, seule la dernière est retenue.

Syntaxe

   KEY_POS line col

3.3.8 FLD_MEM

La définition des champs des PAGES peuvent ou non être conservés en mémoire de façon permanente. Par défaut, ce n'est pas le cas.

Plusieurs définitions de ce mot-clé peuvent apparaître dans différentes sections GLOBAL d'un même programme. La plus récente est utilisée pour les PAGES qui suivent.

Syntaxe

   FLD_MEM yes | no

3.3.9 DRW_MEM

La définition des DRAWS des PAGES peuvent ou non être conservés en mémoire de façon permanente. Par défaut, ce n'est pas le cas.

Plusieurs définitions de ce mot-clé peuvent apparaître dans différentes sections GLOBAL d'un même programme. La plus récente est utilisée pour les PAGES qui suivent.

Syntaxe

   DRW_MEM yes | no

3.3.10 OPT_MEM

La définition des options des MENUS peuvent ou non être conservés en mémoire de façon permanente. Par défaut, ce n'est pas le cas.

Plusieurs définitions de ce mot-clé peuvent apparaître dans différentes sections GLOBAL d'un même programme. La plus récente est utilisée pour les MENUS qui suivent.

Syntaxe

   OPT_MEM yes | no

3.3.11 DEF_OBJ

Les champs des PAGES et les champs des ISAMS donnent lieu à la génération dans le fichier .c d'un objet de type OBJ. Ce mot-clé permet d'éviter ou de forcer cette génération.

Plusieurs définitions de ce mot-clé peuvent apparaître dans différentes sections GLOBAL d'un même programme. La plus récente est utilisée pour les PAGES et les ISAMS qui suivent.

Syntaxe

   DEF_OBJ yes | no

3.3.12 ONE_OBJ

Le compilateur scr4_e génère par défaut plusieurs fichiers .c pour accélérer le processus de compilation. On peut grouper tout le code .c en un seul fichier à l'aide de cette option.

Syntaxe

   ONE_OBJ yes | no

3.3.13 NAME_MEM

Les noms des champs des PAGES sont utilisés en cours de compilation pour permettre d'établir des liens entre les objets. Ils sont ensuite supprimés de la mémoire et ne sont pas rechargés lors de l'exécution du programme. Les noms peuvent être conservés en mémoire à l'aide de cette option. Il est indispensable de le spécifier si la PAGE en question est susceptible d'être utilisée comme page de référence par le fonction PR_listing().

Plusieurs définitions de ce mot-clé peuvent apparaître dans différentes sections GLOBAL d'un même programme. La plus récente est utilisée pour les PAGES qui suivent.

Syntaxe

   NAME_OBJ yes | no

3.3.14 NO_DEF

Les champs des PAGES et les champs des ISAMS donnent lieu à la génération dans le fichier .h d'un define permettant d'accéder à la valeur directe de l'objet, sans recourir à une fonction. Ce mot-clé permet d'éviter ou de forcer cette génération.

Plusieurs définitions de ce mot-clé peuvent apparaître dans différentes sections GLOBAL d'un même programme. La plus récente est utilisée pour les PAGES et les ISAMS qui suivent.

Syntaxe

   NO_OBJ yes | no

3.3.15 PAGE_CENTER

Les PAGES ne sont pas centrées par défaut. Ce mot-clé permet de forcer le centrage de toutes les PAGES qui suivent.

Plusieurs définitions de ce mot-clé peuvent apparaître dans différentes sections GLOBAL d'un même programme. La plus récente est utilisée pour les PAGES qui suivent.

Syntaxe

   PAGE_CENTER yes | no

3.3.16 PAGE_AUTO

Les PAGES sont placées en colonne 0, ligne 0 par défaut. Ce mot-clé permet de forcer le mot-clé AUTO dans toutes les PAGES qui suivent, ce qui placera les PAGES en fonction de la position de l'option du MENU qui l'utilise.

Plusieurs définitions de ce mot-clé peuvent apparaître dans différentes sections GLOBAL d'un même programme. La plus récente est utilisée pour les PAGES qui suivent.

Syntaxe

   PAGE_AUTO yes | no

3.3.17 MENU_AUTO

Les MENUS sont placées en colonne 0, ligne 0 par défaut. Ce mot-clé permet de forcer le mot-clé AUTO dans tous les MENUS qui suivent, ce qui placera les MENUS en fonction de la position de l'option du MENU qui l'appelle.

Plusieurs définitions de ce mot-clé peuvent apparaître dans différentes sections GLOBAL d'un même programme. La plus récente est utilisée pour les MENUS qui suivent.

Syntaxe

   MENU_AUTO yes | no

3.3.18 CONFIRM_CREATE

Lors de la création d'un record soit via une PAGE (PG_edit_isam), soit via une MPAGE ou SMPAGE (MP_edit_isam), une confirmation est normalement demandée à l'utilisateur. On peut éviter ce comportement en utilisant ce mot-clé.

Syntaxe

   CONFIRM_CREATE yes | no

3.3.19 CONFIRM_DELETE

Lors de la destruction d'un record soit via une PAGE (PG_edit_isam), soit via une MPAGE ou SMPAGE (MP_edit_isam), une confirmation est normalement demandée à l'utilisateur. On peut éviter ce comportement en utilisant ce mot-clé.

Syntaxe

   CONFIRM_DELETE yes | no

3.3.20 FIX_DEC

3.3.21 DEL_EOF

Lors de l'édition d'un champ, si la première touche frappée en entrant dans le champ est un caractère et pas une touche d'édition, le contenu du champ tout entier est remplacé par ce caractère (et les suivants). Lorsque des champs de grandes tailles sont utilisés, ce comportement est parfois sévère. Ce mot-clé permet de choisir le mode d'édition.

Plusieurs définitions de ce mot-clé peuvent apparaître dans différentes sections GLOBAL d'un même programme. La plus récente est utilisée pour les PAGES qui suivent.

Syntaxe

   DEL_EOF yes | no

3.3.22 SYNC

Lors de la mise à jour d'un ISAM, les records nouveaux ou modifiés sont toujours écrits physiquement sur disque pour éviter les problèmes en cas de panne de courant par exemple. Cette méthode est évidemment considérablement plus lente que la méthode de caching.

Cette option permet de choisir la stratégie qui convient.

Si plusieurs définitions de ce mot-clé apparaissent dans différentes sections GLOBAL d'un même programme, seule la dernière est retenue.

Syntaxe

   SYNC yes | no

3.3.23 CLOCK_SECS

L'horloge qui apparaît dans l'écran (voir CLOCK_POS) peut ou non contenir un compteur de seconde. En UNIX, étant donné la lenteur d'affichage, il est parfois préférable de supprimer les secondes.

Si plusieurs définitions de ce mot-clé apparaissent dans différentes sections GLOBAL d'un même programme, seule la dernière est retenue.

Syntaxe

   CLOCK_SECS yes | no

3.3.24 BOX_1

Certains terminaux et la version 5 du MS DOS posent parfois des problèmes lorsqu'il s'agit d'afficher les caractères semi-graphiques doubles. Il est éveidemment possible de modifier les définitions de ces caractères en adaptant le driver. Une façon plus simple est de placer BOX_1 dans la section GLOBAL du programme. Tous les caractères semi-graphiques doubles seront automatiquement remplacés en cours d'edxécution par leur équivalent en simples lignes.

Syntaxe

   BOX_1 yes | no

3.3.25 MENU_COLOR

Ce mot-clé permet de fixer le background des MENUS par défaut à la couleur choisie.

Plusieurs définitions de ce mot-clé peuvent apparaître dans différentes sections GLOBAL d'un même programme. La plus récente est utilisée pour les MENUS qui suivent.

Syntaxe

   MENU_COLOR  color

color est un mot parmi les suivants :

DEFAULT | REVERSE | UNDERLINE | BOLD | INVISIBLE |
BLINKING | DIM | BLUE | GREEN | CYAN | RED |
MAGENTA | YELLOW | WHITE |BLACK

3.3.26 PAGE_COLOR

Ce mot-clé permet de fixer le background des PAGES par défaut à la couleur choisie.

Plusieurs définitions de ce mot-clé peuvent apparaître dans différentes sections GLOBAL d'un même programme. La plus récente est utilisée pour les PAGES qui suivent.

Syntaxe

   PAGE_COLOR  color

color est un mot parmi les suivants :

DEFAULT | REVERSE | UNDERLINE | BOLD | INVISIBLE |
BLINKING | DIM | BLUE | GREEN | CYAN | RED |
MAGENTA | YELLOW | WHITE |BLACK

3.3.27 FIELD_COLOR

Ce mot-clé permet de fixer le background des champs des PAGES par défaut à la couleur choisie.

Plusieurs définitions de ce mot-clé peuvent apparaître dans différentes sections GLOBAL d'un même programme. La plus récente est utilisée pour les PAGES qui suivent.

Syntaxe

   FIELD_COLOR  color

color est un mot parmi les suivants :

DEFAULT | REVERSE | UNDERLINE | BOLD | INVISIBLE |
BLINKING | DIM | BLUE | GREEN | CYAN | RED |
MAGENTA | YELLOW | WHITE |BLACK

3.3.28 PAGE_BOX

Le cadre des PAGES est par défaut nul (pas de cadre). Ce mot-clé fixe une valeur par défaut au cadre des toutes les PAGES qui suivent la section GLOBAL.

Plusieurs définitions de ce mot-clé peuvent apparaître dans différentes sections GLOBAL d'un même programme. La plus récente est utilisée pour les PAGES qui suivent.

Syntaxe

   PAGE_BOX 0 | 1 | 2 | 3

3.3.29 PAGE_SHADOW

L'ombrage des PAGES est par défaut nul (pas d'ombrage). Ce mot-clé fixe une valeur par défaut pour toutes les PAGES qui suivent la section GLOBAL.

Plusieurs définitions de ce mot-clé peuvent apparaître dans différentes sections GLOBAL d'un même programme. La plus récente est utilisée pour les PAGES qui suivent.

Syntaxe

   PAGE_SHADOW 0 | 1 | 2 | 3

3.3.30 HELPFILE

Fixe le nom du fichier d'aide associé au programme.

Si plusieurs définitions de ce mot-clé apparaissent dans différentes sections GLOBAL d'un même programme, seule la dernière est retenue.

Syntaxe

   HELPFILE "filename"

3.3.31 TRANS_FILE

Non implémenté.

3.3.32 SMPAGE_BPG

En l'absence de définition d'une BPG dans une SMPAGE, la PAGE de définition de l'ISAM défini par défaut est utilisée (p_<isam_name>).

La directive SMPAGE_BPG dans une section GLOBAL permet de forcer (YES par défaut) ou non (NO) une BPG dans la MPAGE générée à partir de la SMPAGE. De cette façon, si on souhaite qu'un SMPAGE n'ait pas de BPG (cas sans édition par exemple), il suffit de placer une section GLOBAL avant la définition de cette SMPAGE :

            GLOBAL SMPAGE_BPG NO
SMPAGE xxx {
.. définition de la SMPAGE ..
}
GLOBAL SMPAGE_BPG YES

Syntaxe

    SMPAGE_BPG yes | no

3.3.33 USER_NAME

Ce mot-clé est utilisé dans le cadre d'une sérialisation du programme. Il permet de fixer le nom de l'utilisateur de l'application. Ce nom est affiché à chaque lancement du programme, lors de l'appel à SCR_init().

Le nom de l'utilisateur, le numéro de série et la date limite d'utilisation sont encryptés dans le programme et permettent de construire une clé d'activation qui sera vérifiée à chaque lancement de programme.

Si plusieurs définitions de ce mot-clé apparaissent dans différentes sections GLOBAL d'un même programme, seule la dernière est retenue.

Syntaxe

    USER_NAME "nom de l'utilisateur"

3.3.34 APPL_NAME

Ce mot-clé permet de fixer le nom de l'application. Ce nom est affiché à chaque lancement du programme, lors de l'appel à SCR_init().

Si plusieurs définitions de ce mot-clé apparaissent dans différentes sections GLOBAL d'un même programme, seule la dernière est retenue.

Syntaxe

    APPL_NAME "Nom de l'application"

3.3.35 SERIAL_NB

Ce mot-clé est utilisé dans le cadre d'une sérialisation du programme. Il permet de fixer le numéro de série de l'application. Celui-ci est affiché à chaque lancement du programme, lors de l'appel à SCR_init().

Le nom de l'utilisateur, le numéro de série et la date limite d'utilisation sont encryptés dans le programme et permettent de construire une clé d'activation qui sera vérifiée à chaque lancement de programme.

Si plusieurs définitions de ce mot-clé apparaissent dans différentes sections GLOBAL d'un même programme, seule la dernière est retenue.

Syntaxe

    SERIAL_NB "numéro de série"

3.3.36 LIM_DATE

Ce mot-clé est utilisé dans le cadre d'une sérialisation du programme. Il permet de fixer la date limite d'utilisation de l'application.

Le nom de l'utilisateur, le numéro de série et la date limite d'utilisation sont encryptés dans le programme et permettent de construire une clé d'activation qui sera vérifiée à chaque lancement de programme.

Si plusieurs définitions de ce mot-clé apparaissent dans différentes sections GLOBAL d'un même programme, seule la dernière est retenue.

Syntaxe

    LIM_DATE yyyymmdd

Les applications compilées en mode C ou Ascii se comportent comme suit :

Les applications compilées en mode objet (-o) réagissent de la façon suivante :

3.3.37 PGALIGN

Certains systèmes, notamment ceux à processeur RISC, ne tolèrent pas le cast de pointeurs non alignés sur une limite de mot (4 bytes) vers des pointeurs sur des valeurs numériques. Ainsi, l'expression

        char    Ptr[30];
...
*(long *)(Ptr + 13)

provoque une erreur au moment de son exécution et plante le programme (bus error).

Certains compilateurs possèdent une option de type "misalign" pour tolérer quand-même ces expressions, mais pas tous.

Cette situation se présente lors de l'utilisation par des programmes de valeurs directes vers les champs des PAGES ou des ISAM : l'expression

        pg_VAL

est définie dans le fichier .h généré par scr4_e comme

        (*(long *)(pg->pg_rec + 23))

par exemple.

Pour résoudre le problème, le programme scr4 (de même que scr4_e) offre les options -pgalign et -isalign.

Alternativement, les sections GLOBAL peuvent contenir les mots-clés

        PGALIGN YES | NO
ISALIGN YES | NO

Par défaut, ces options sont inactives, ce qui rend les programmes compatibles avec les versions précédentes.

il faut noter que dans le cas des ISAMS, l'option d'alignement se traduit par une perte de place non seulement en mémoire, comme dans le cas des pages, mais également sur fichier, puisque le record de l'ISAM est adapté en conséquence.

3.3.38 ISALIGN

Cette option permet d'aligner les champs sur des limites de mot. Une discussion complète peut être trouvé dans le chapitre PGALIGN.

3.3.39 CLOSEBOX

Indique si les pages qui suivent doivent par défaut posséder un closebox, qui pourra être déclenchée à l'aide de la souris lors de l'exécution de l'application.

Cette option est par défaut fixée à No. Dans le cas des Mpages, il est préférable de positionner cette variable à No, car les Little Pages de la Multi-Page contiendraient toutes un tel close box, ce qui serait inélégant.

        CLOSEBOX {Yes | No}

3.3.40 VIEW_ORDER

Le mot-clé VIEW_ORDER permet de spécifier si l'ordre d'édition de toutes les PAGES de l'application doit être l'ordre visuel ou non.

L'ordre d'édition des champs dans la page est défini de la façon suivante :

Les touches TAB et s-TAB permettent le déplacement dans les champs de la PAGE comme défini ci-dessus. Les touches ENTER et LINEFEED font de même, sauf dans le cas des champs MENU et DIR, dans lesquels ENTER ouvre le MENU pour sélectionner une option.

        VIEW_ORDER {Yes | No}

La valeur par défaut définie dans la section GLOBAL peut être modifiée localement dans une page par les mots-clé VIEW_ORDER et NO_VIEW_ORDER.

3.3.41 IMPORT_REQUIRED

L'attribut REQUIRED défini dans les champs des ISAM n'estpar défaut pas importée dans la PAGE. Il est cependant possible de l'importer soit de façon globale pour toutes les PAGE, soit localement :

        GLOBAL {IMPORT_REQUIRED YES ou NO}

indique que pour toutes les PAGES dont la définition suit, les valeurs REQUIRED ou COMPULSORY sont importées (ou non) des ISAM vers les PAGES.

On peut modifier le comportement localement dans la PAGE :

        PAGE {
...
IMPORT_REQUIRED YES ou NO
...
}

détermine le comportement pour la seule PAGE en cours de définition.

En l'absence de définition, REQUIRED ou COMPULSORY n'est PAS importé pour maintenir la compatibilité avec les versions pré-4.19.

3.3.42 IMPORT_TODAY

Contrairement à REQUIRED, cette valeur est importée par défaut des champs des ISAM vers les PAGES. On peut annuler ce comportement localement ou globalement par la directive IMPORT_TODAY:

        GLOBAL {IMPORT_TODAY NO ou YES}

Au sein d'une PAGE :

        PAGE {
...
IMPORT_TODAY NO ou YES
...
}

3.3.43 BC_AUTO_CREATE

Lors du début de l'édition des lignes d'un BC, si aucun n'enregistrement n'est définit, un nouveau est automatiquement créé.

Pour éviter ce traitement, on peut spécifier :

    BC_AUTO_CREATE No

dans la section GLOBAL ou

    BC_AUTO_CREATE No ou AUTO_CREATE No

dans la définition du BC.

3.3.44 MP_AUTO_CREATE

Lors du début de l'affichage d'une MPAGE, il se peut qu'aucun record ne soit trouvé. Dans ce cas, soit une création est automatiquement proposée (c'est le cas par défaut), soit aucun affichage ne peut être réalisé. Ce sera alors à l'utilisateur de presser INSERT pour en créer un nouveau ou ESCAPE pour quitter.

En spécifiant dans la section GLOBAL

    MP_AUTO_CREATE No

ou

    MP_AUTO_CREATE No ou AUTO_CREATE No

dans la définition d'une MPAGE, la création n'est pas proposée automatiquement.

3.3.45 BC_LPG_MEM

Tous les enregistrements des lignes de BC sont conservés en mémoire en permanence. Comme les LPG peuvent contenir des champs CODEISAM, à chaque affichage d'une ligne, il faut relire un ou plusieurs ISAM pour compléter la LPG.

Pour éviter les lenteurs dues à ce processus (répété en permanence), on peut conserver en mémoire le contenu des LPG.

Cependant, pour les applications pour lesquelles la mémoire est une denrée précieuse, on peut souhaiter ne pas conserver le contenu des LPG en mémoire.

En spécifiant dans la section GLOBAL

    BC_LPG_MEM No

ou

    BC_LPG_MEM No ou LPG_MEM No

dans la définition d'un BC, le contenu des LPG n'est pas conservé en mémoire.

"LPG_MEM No" permet de gagner de la mémoire, mais génère une perte de temps. Par défaut, les LPG sont conservées en mémoire.

3.3.46 MP_LPG_MEM

Comme la MPAGE affiche plusieurs records simultanément, un certain nombre sont conservés en mémoire (BUF_SIZE). Comme les LPG peuvent contenir des champs CODEISAM, à chaque affichage d'une ligne, il faut relire un ou plusieurs ISAM pour compléter la PAGE.

Pour éviter les lenteurs dues à ce processus (répété en permanence), on conserve en mémoire le contenu des LPG.

Cependant, pour les applications pour lesquelles la mémoire est une denrée précieuse, on peut souhaiter ne pas conserver le contenu des LPG en mémoire.

En spécifiant dans la section GLOBAL

    MP_LPG_MEM No

ou

    MP_LPG_MEM No ou LPG_MEM No

dans la définition d'une MPAGE, le contenu des LPG n'est pas conservé en mémoire.

"LPG_MEM No" permet de gagner de la mémoire, mais génère une perte de temps. Par défaut, les LPG sont conservées en mémoire.

3.3.47 ISI_MEM

Conserver en mémoire les infos des ISAM. Utilisé pour construire des bases Ctree+.

3.3.48 CHECK_BOX_TXT

Cadre des radio buttons. Les directives GLOBAL permettent de modifier en mode caractère les caractères qui encadrent le bouton et le caractère qui indique que le bouton est coché. Par défaut, il s'agit des crochets et d'un X.

On peut les modifier comme dans l'exemple suivant.

Exemple

    GLOBAL CHECK_BOX_TXT  "| |"
GLOBAL CHECK_BOX_CHAR "O"

3.3.49 CHECK_BOX_CHAR

Caractère Check_Box ON. Les directives GLOBAL permettent de modifier en mode caractère les caractères qui encadrent le bouton et le caractère qui indique que le bouton est coché. Par défaut, il s'agit des crochets et d'un X.

On peut les modifier comme dans l'exemple suivant.

Exemple

    GLOBAL CHECK_BOX_TXT  "| |"
GLOBAL CHECK_BOX_CHAR "O"

3.3.50 RADIO_TXT

Cadre des radio buttons. Les directives GLOBAL permettent de modifier en mode caractère les caractères qui encadrent le bouton et le caractère qui indique que le bouton est coché. Par défaut, il s'agit des crochets et d'un X.

On peut les modifier comme dans l'exemple suivant.

Exemple

    GLOBAL RADIO_TXT  "{ }"
GLOBAL RADIO_CHAR "+"

3.3.51 RADIO_CHAR

Caractère Radio button ON. Les directives GLOBAL permettent de modifier en mode caractère les caractères qui encadrent le bouton et le caractère qui indique que le bouton est coché. Par défaut, il s'agit des crochets et d'un X.

On peut les modifier comme dans l'exemple suivant.

Exemple

    GLOBAL RADIO_TXT  "{ }"
GLOBAL RADIO_CHAR "+"

3.3.52 WIN_VLINE

Garde les DRAW VLINE sous Windows.

3.3.53 WIN_HLINE

Garde les DRAW HLINE sous Windows.

3.3.54 WIN_NCP

Fixe la largeur de colonnes en points Windows

3.3.55 WIN_FIXED

Police non proportionnelle dans les boîtes de dialogue sous Windows.

3.3.56 WIN_SKIP

3.3.57 WIN_NLPFLD

hauteur d'une ligne contenant un champ editable

3.3.58 WIN_NLPTXT

hauteur d'une ligne contenant un DRAW texte

3.3.59 WIN_NLPVLINE

Hauteur d'une ligne contenant un DRAW VLINE

3.3.60 WIN_NLPHLINE

hauteur d'une ligne contenant un DRAW HLINE

3.3.61 WIN_NLPNULL

hauteur d'une ligne ne contenant rien

3.3.62 WIN_ATTR

3.3.63 WIN_NCPFLD

3.3.64 WIN_NOCOLOR

Suppression générale des couleurs héritées de la définition des champs dans les boîtes de dialogue.

Si on veut éviter les couleurs pour certains champs de certaines pages seulement, il faut donner l'attribut DEFAULT aux champs concernés.

Syntaxe

    WIN_NOCOLOR {Yes | No}

3.3.65 GE2EQ

Lors de la recherche sur un index composite multi-champ dans une base de données, limite la recherche GE au dernier champ non vide (SQL). Tous les premiers champs définis sont recherchés sur EQ, le dernier seul sur GE. De plus, la requête effectue un ORDER BY uniquement sur le champ dont la contrainte est GE.

Cette valeur est fixée par défaut pour tous les index de tous les ISAM dont la définition suit.

Syntaxe

        GLOBAL  GE2EQ {Yes|No}

Supposons par exemple l'INDEX suivant :

    INDEX {fld1 fld2 fld3} DUP ASC Name idx1 Ge2Eq Yes

La requête générée pour IS_search(is, ..., SCR_GE) (si tous les champs sont non vides) est:

    Select * From tbl
WHERE fld1 = val1 AND fld2 = val2 AND fld3 >= val2
ORDER BY fld3

Dans le cas ou Ge2Eq vaut No, on aurait :

    Select * From tbl
WHERE fld1 >= val1 AND fld2 >= val2 AND fld3 >= val2
ORDER BY fld1, fld2, fld3

La différence en temps pour la deuxième requête peut être considérable pour des grandes tables.

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