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

SCR/AL1 - Evolutions récentes

27. Modification apportées dans la version 4.23 (décembre 1995)

Variables globales

SCR_STEP_BCCOUNT

long SCR_STEP_BCCOUNT : incrément du compteur de lignes dans les bons de commandes. Lors de la création d'une ligne à la fin d'un bon de commande, le numéro interne du record est incrémenté de cette valeur. Cette variable est fixée par défaut à 20L et peut être modifiée par l'utilisateur, notamment pour en diminuer la valeur si le nombre de lignes du BC est très élevé.

DT_MONTHS_NAMES

    char    *DT_MONTHS_NAMES[] = {
"JAN", "FEB", "MAR", "APR", "MAY", "JUN",
"JUL", "AUG", "SEP", "OCT", "NOV", "DEC"
};

Cette variable est utilisée lors de l'affichage du calendrier par la fonction DT_calendar(). Elle peut être adaptée pour tenir compte de la langue de l'application. Le nombre de mois et de lettres par mois doit cependant être maintenu.

    Exemple :

char *FR_MONTHS_NAMES[] = {
"Jan", "Fév", "Mar", "Avr", "Mai", "Jun",
"Jul", "Aou", "Sep", "Oct", "Nov", "Déc"
};
extern char *DT_MONTHS_NAMES[];
...
DT_MONTHS_NAMES = FR_MONTHS_NAMES;

DT_DAYS_NAMES

    char *DT_DAYS_NAMES = "Mo Tu Wd Th Fr Sa Su";

Cette variable est utilisée lors de l'affichage du calendrier par la fonction DT_calendar(). Elle peut être adaptée pour tenir compte de la langue de l'application. Le nombre de caractères doit cependant être maintenu.

GLOBAL : LOCK_FN, LOCK_TXT, LOCK_DELAY

La section GLOBAL peut contenir les mots-clés suivants en liaison avec la mise en veille d'une application :

            LOCK_TXT "texte"
LOCK_DELAY secs
LOCK_FN action_defn

Les deux premiers permettent respectivement de fixer le texte qui doit apparaître dans l'écran pendant la mise en veille et le délai à partir duquel la mise en veille doit être activée.

L'action définie par le mot-clé LOCK_FN est exécutée à la fin du lockscreen, c'est-à-dire avant que l'application ne redémarre : par exemple, il peut s'agir de l'affichage d'une PAGE avec demande d'un mot de passe.

Cette fonctionnalité permet de protéger un écran qui est abandonné en cours d'application.

Edition des menus

Lors de l'édition d'un MENU, la touche LINEFEED a le même comportement que la touche ENTER.

PG_SCAN_ISAM

Cette action (en C, PG_scan_isam()) arrête le comptage lorsqu'une touche est pressée, ce qui n'était pas le cas auparavant.

SCR4C6 (SCR4 pour la version ctree 6)

Deux nouvelles options sont disponibles uniquement dans le cas de ctree plus v.6 :

Nouvelles fonctions pour la version 6 de Ctree Plus

Les fonctions suivantes sont ajoutées à la librairie de fonctions de ctree 6:

Comptage du nombre d'enregistrements entre 2 clés

On fixe les valeurs de l'enregistrement de départ et de fin de recherche, ainsi que le numéro de l'index:

        IS_set_firstv(is, idx)

et

        IS_set_lastv(is, idx)

On calcule ensuite le nombre d'engistrements entre les deux clés :

        long IS_search_nb_2val(is)

Ce calcul est rapide car aucun enregistrement n'est lu : seuls les index sont consultés.

Déplacement rapide dans une clé donnée

Ces fonctions effectuent une recherche dans un index donné, sans lire l'enregistrement lui-même tant que cela n'est pas explicitement demandé. Il est donc impossible de connaître la valeur des champs de l'enregistrement courant!

On lance la recherche (en principe la condition est SCR_EQ ou SCR_EQ1 ..SCR_EQn):

        IS_search_rec_idx(is, nu_index, cond)

Si une clé est trouvée on peut lire la clé suivante ou la précédente:

        IS_prev_rec_idx(is)

et

        IS_next_rec_idx(is)

Enfin, on peut forcer la lecture de l'enregistrement complet:

        IS_read_current(is)

Impressions

Généralisation de la fonction PR_listing():

    PR_listing_fn(pr, pg_ref, pg_scan, cmp, file, fn)

Cette fonction est identique à PR_listing() avec un filtre supplémentaire: fn est un pointeur sur une fonction qui s'exécute avant le traitement de chaque record et permet le rejet de certains enregistrements.

Sa syntaxe est :

        int fn(ISAM *is, long nb_read, long nb_found, int success)

Elle se comporte comme les fonctions utilisateurs dans le cas des SCAN (SC_scan_page p.ex.).

Si fn retourne 0, l'enregistrement est traité normalement. Si fn retourne 1, l'enregistrement n'est pas imprimé mais la lecture continue. Si fn retourne -1, la lecture est interrompue.

Structure des PRINTERS (PR_DEF)

Le nombre de tabulations verticales et horizontales sont modifiées : 20 tabulations horizontales (TABS nn nn ...) et 15 tabulations verticales (VTABS nn nn ...).

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