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

SCR/AL1 - Evolutions récentes

3. Modifications apportées dans la version 4.48 (juillet 1999)

Programmes

La plupart des programmes ont été portés en 32 bits. Par exemple scr4_h est remplacé par scr4w_h.

scr4w_h

Les topics peuvent être référencés par <-topic> au lieu de <topic>. Voir scr4_hm.

Les noms des topics peuvent atteindre 255 caractères. Idem pour la longueur des lignes de texte.

scr4_mkh

Les topics repris sous forme <-topic> sont conservés dans l'extraction des aides. Comme avant, les caractères < et > sont doublés, sauf dans le cas <-...>.

scr4w_ah

L'index généré pour l'aide HTML contient les mots créés par les instructions .topicalias dans les fichiers source.

Nouveaux paramètres, notamment pour générer les fichiers nécessaires pour les fichies d'aide HTML.

Exemple d'utilisation (makefile)

        sql.chm : sql.m
scr4w_h $(MFLAGS) -c sql.m -o tmp.hlp
scr4w_hm -c -i tmp -t introduction
del tmp.hlp
scr4w_ah -i tmp.a2m -o sql.htm -tcolor 0 -tborder 0 -hcw
-hhc sql.hhp

scr4w_hm

Nouveau paramètre -it qui supprime la mise en italique des sujets.

Ne dumpe plus les topics définis avec <-topic> dans le fichier .m à la suite du topic où il est référencé.

P.ex :

        <level1>
bla bla
La fonction <-SCR_vtom()> peut ...
>

Dans la génération du fichier d'aide, la table des matières contient normalement:

            level1
SCR_vtom()

sauf si SCR_vtom() était défini auparavant. Avec <-topic>, topic ne sera pas placé à cet endroit de la table des matières.

Ne marque plus de lien vers le topic courant (lors d'une utilisation de scr4_hh p.ex.).

scr4_mki

Nouvelles variables internes : $system et $windows. Ces variables permettent de retrouver automatiquement les noms de directory système de windows (p.ex : c:\winnt\system32 ou d:\windows).

Corrections dans le traitement réponses aux questions concernant le remplacement de fichiers existant.

scr4_e

Nouveau paramètre -t1l : extrait le titre des PAGES de la première ligne du SCREEN associé à la PAGE.

Editeur mt

scr4w_mv

Nouvelle option -zip qui zippe les fichiers avant de les placer dans le répertoire cible.

scr4_m2a

Ce programme traduit un fichier .mif (généré par Frame Maker vers 5 ou supérieure) en format manuel SCR/AL1 (fichier .m).

Il peut s'intégrer dans un programme batch par exemple pour générer un fichier .chm (HTML HELP) à partir d'un fichier Frame.

Il fait partie de la suite des outils de création de manuels.

Ses paramètres sont :

Si le fichier Frame d'origine contient des graphiques et/ou des équations, il y a lieu de sauver le fichier Frame en HTML. Ce sauvetage va générer des fichiers .gif pour tous les graphiques et équations nécessaires.

Le programme scr4_m2a incorporera de la sorte les images au bons endroits du texte.

scr4w_od

Amélioration des messages d'erreur et corrections pour MySQL.

Variables et Fonctions

WDdlgMsgBox()

Correction dans les numéros de réponses lorsque le texte de la question dépasse une ligne.

SCR_printf_tbl(filename, tbl, seps)

Crée le fichier filename et y stocke le tableau de strings tbl.

Debug() et fonctions associées

Si DebugFilename[0] == 0, il n'y a pas de debug effectué. Cela permet d'éviter des répétitions du type :

        if(DEBUG_ON) Debug(...)

Pour annuler un debug, il suffit de faire :

        DebugFilename = MYFILENAME;
MYFILENAME[0] = 0;
Debug(...);

WscrPgUndisplay() et PG_undisplay() en SCR4W32

Correction : le focus était perdu après ces fonctions. Le focus revient maintenant à la fenêtre père de la fenêtre détruite par l'une de ces fonctions.

SCR_get_key() et SCR_hit_key() en SCR4W32

Implémenté en version Windows. Ces fonctions opèrent de la même façon qu'en mode DOSW32 et Unix. Elles retournent les mêmes caractères ou codes de touches (SCR_F1, ...).

Par rapport aux applications standards, si une fenêtre est lancée à l'aide de la souris, cette fenêtre prend la main sur les évènements qui se produisent. La fonction SCR_get_key() lancée avant ne recevra donc pas les évènements clavier tant que la fenêtre sera active.

Profiles

Les fonctions SCR_prof_load(), SCR_prof_save(), SCR_prof_load_pwd(), SCR_prof_save_pwd() gèrent de façon plus intelligente les modifications successives d'une application.

Les noms des PAGES et des MENUS ayant l'attribut PROFILE sont stockés dans le fichier de prf de façon à ce qu'ils puissent être retrouvés même si certaines PAGES ou MENUS ont été modifiés ou déplacés dans les sources de l'application.

Dans cette nouvelle version, on conserve donc les contenus des PAGES d'une version à l'autre dans la plupart des cas.

Nouvelles touches gérées en DOSW32

    SCR_C_TAB : Ctrl+Tab
SCR_S_C_TAB : Shift+Ctrl+Tab

LANGAGE SCR/AL1

ISAM

FIELD ISAM is fld ISAM is fld ... : hérite du type et de la longueur d'un champ d'un autre ISAM

Intégrité référentielle (projet)

    FIELD ISAM isam fld

indique que le champ hérite du type du champ fld de l'isam (3 max.)

    INDEX {...} FOREIGN refisam idxname

indique que les champs de l'index idxname l'isam doivent exister dans l'ISAM de référence pour les WRITE et REWRITE sauf si les champs sont vides.

    INDEX ... FOREIGN ... CHECK

Les champs de l'ISAM de référence ne peuvent être modifiés ni détruits s'ils sont utilisés dans l'ISAM courant

    INDEX ... FOREIGN ... UPDATE

idem CHECK sauf que les modifications sont permises dans l'ISAM de référence et répercutées en cascade sur l'ISAM courant (Update et Delete).

    FIELD FOREIGN refisam fldname [UPDATE] [CHECK]

Comme ISAM isam fld + recherche dans refisam un index NODUP commençant par fldname. S'il n'en existe pas, erreur. Si UPDATE ou CHECK, ajoute au besoin un index dans l'ISAM courant pour permettre la recherche en cas de modification de refisam. Si l'index NODUP de refisam contient plus d'un champ, il faut utiliser FOREIGN dans INDEX.

Langage et interpréteur A2M

Instruction .lf_on :

Lorsque lfon est activé (les sauts de lignes sont respectés), les lignes blanches ne séparent plus les paragraphes. Cela permet de garder les exemples dans un seul paragraphe, ce qui est plus élégant lorsqu'un fond est appliqué au paragraphe (plus de séparation au milieu de l'exemple).

Nouveaux tags

Les tags suivants en A2m permettent de diviser les fichiers d'aide en topics successifs. Ils permettent en plus de définir des alias et de fixer le comportement des liens (majuscules/minuscules, début de mots, etc).

    .topic nb level text
.topiclink auto=yes|no case=yes|no partial=yes|no title=yes|no
.topicslink auto=yes|no case=yes|no partial=yes|no title=yes|no
.topicalias texte
..... comment (généré par scr4_hm)

Nouveau tag \g...\G pour indiquer les caractères grecs (HTML uniquement pour l'instant).

Amélioration

Améliration dans la génération HTML des tableaux. Plus de première ligne inutile.

SCAN et SQL

La requête de sélection générée pour les SCAN (pages et isams) est largement améliorée. En particulier, si les bornes de recherche pour un champ donné sont identiques, la WHERE CLAUSE se présente comme

        field = 'value'

et non pas comme

        field <= 'value' AND field >= 'value'

Ceci permet de gagner un temps considérable avec certaines bases de données.

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