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

SCR/AL1 - TOME II. Les Objets

13. SMPAGES

13.2 Description d'une SMPAGE

ISAM

Il s'agit du nom de l'ISAM qui va être affiché par la MPAGE. Ce nom est requis.

INDEX

Le numéro de l'index d'affichage par défaut peut être défini par le mot-clé INDEX. Si l'index a un nom, son nom peut être fourni à la place de son numéro d'ordre.

Par défaut, l'index 0 est sélectionné.

EQ, LE, GE

Indique la condition de recherche. Si celle-ci est LE, l'ordre d'affichage est décroissant.

TITLE

C'est le texte titre qui sera transmis à la MPAGE.

FOOTNOTE

C'est le texte de la footnore qui sera transmis à la MPAGE. Par défaut, la footnote prend la valeur suivante :

    Footnote "ESC:Quitter-INS:Créer-DEL:Détruire-ENTER:Modifier"

BPG

La Big Page de la MPAGE est celle qui permet d'éditer ou de définir un record de la base de données. Par défaut, le nom de cette PAGE est construit en préfixant le nom de l'ISAM par "p_". Ce nom est celui de la PAGE générée automatiquement par la commande scr4_e -i.

Si ce nom ne convient par, on peut définir ou nommer la PAGE adéquate à l'aide du mot-clé BPG :

Exemple

    BPG "my_page"

NP

Le nombre de LPG qui doit être visible dans l'écran est déterminé en fonction de la taille de l'écran et du nombre de champs de la APG.

Par défaut, 4 lignes sont laissées libres au-dessus et en-dessous de la MPAGE générée. Si ce nombre ne convient pas, le nombre de LPG peut être spécifié par ce paramètre.

LINE et COL

Normalement, la MPAGE générée est centrée dans l'écran. Si cela n'est pas souhaitable, on peut préciser la position du coin supérieur gauche de la MPAGE. Si seule LINE est donné, la MPAGE restera centrée dans l'écran dans le sens vertical et inversément.

Le nombre de LPG s'adapte automatiquement à LINE, sauf si le paramètre NPG est fourni par ailleurs.

SCR commands

Il est possible de passer à la MPAGE générée des instructions libres qui se placeront en fin de définition de la MPAGE, permettant ainsi de modifier les valeurs standard créées.

Il suffit de placer ces instructions dans un string au sein de la définition de la SMPAGE.

APG

La définition de la APG (Around Page) se limite à l'énumération des fields qui se trouveront dans celle-ci. Deux types de champs sont possibles : ceux input de l'ISAM édité et ceux, output déduits par le biais d'un CODE et appartenant à un autre ISAM.

Chaque champ commence par un moins ou un plus selon son type. Ces champs seront placés l'un en-dessous de l'autre dans la APG.

Il est possible d'ajouter des instructions qui seront reportées telles quelles dans la définition de la PAGE générée automatiquement en plaçant ces instructions entre doubles quotes après le mot APG.

Champs input

Ces champs commencent par un moins (-). Ensuite, ET DANS CET ORDRE, on trouve :

Champs output

Ces champs commencent par un plus (+). Ensuite, ET DANS CET ORDRE, on trouve :

LPG

La définition de la LPG (Around Page) se limite à l'énumération des fields qui se trouveront dans celle-ci. Deux types de champs sont possibles : ceux input de l'ISAM édité et ceux, output déduits par le biais d'un CODE et appartenant à un autre ISAM.

Il est possible d'ajouter des instructions qui seront reportées telles quelles dans la définition de la PAGE générée automatiquement en plaçant ces instructions entre doubles quotes après le mot LPG.

Chaque champ commence par un moins ou un plus selon son type. Ces champs seront placés l'un à côté de l'autre dans la LPG, séparés par une colonne.

La définition des champs est la même que dans le cas de APG.

Exemple

ISAM is_post {
"is_post"

FIELD string 6 NAME code TITLE "Code postal : " REQUIRED UPPER
FIELD zstring 41 NAME commune TITLE "Commune ... : " REQUIRED

INDEX {code sqz} NODUP ASC NAME code
INDEX {commune sqz} DUP ASC NAME commune
}

ISAM is_client {
FIELD string 6 Name code TITLE "Code client : " UPPER
FIELD string 30 Name nom TITLE "Nom client : "
FIELD string 6 Name post TITLE "Code postal : " UPPER
...
INDEX {code} NODUP ASC
INDEX {nom:20 sqz} DUP ASC
}

SMPAGE mp_client {
TITLE "CLIENTS"
ISAM is_client
"FNKEY {F3 {ABORT} F10 F5 {C_FN Print(\"TEST\");}}"

APG
- code
- nom

LPG
- code
- nom 20
- "CdPost" post "Code is_post code"
+ is_post commune 20
}

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