Cette version demande une recompilation complète de vos sources (.f et .c)
Quatre nouvelles fonctions ont été ajoutées à la librairie scr4o pour permettre de gérer simplement les différences de codification entre le standard ASCII du DOS et le standard ANSI de Windows.
SCR_AnsiToOem()
SCR_OemToAnsi()
SCR_AnsiToOemChar()
SCR_OemToAnsiChar()
Transforme un caractère ASCII-PC en caractère ANSI (Latin 1). Seuls les caractères supérieurs à 127 sont modifiés.
Une bijection est définie entre les deux ensembles de caractères (ces ensembles sont largement distincts) de telle sorte que les fonctions SCR_OemToAnsiChar() et SCR_AnsiToOemChar() sont réciproques.
Valeur de retour : le caractère traduit
Transforme un caractère ANSI (Latin-1) en caractère ASCII PC. Seuls les caractères supérieurs à 127 sont modifiés.
Une bijection est définie entre les deux ensembles de caractères (ces ensembles sont largement distincts) de telle sorte que les fonctions SCR_OemToAnsiChar() et SCR_AnsiToOemChar() sont réciproques.
Valeur de retour : le caractère traduit
Transforme une chaîne de caractères ANSI (Latin-1) en ASCII-PC. Seuls les caractères supérieurs à 127 sont modifiés.
Une bijection est définie entre les deux ensembles de caractères (ces ensembles sont largement distincts) de telle sorte que les fonctions SCR_OemToAnsi() et SCR_AnsiToOem() sont réciproques.
Les deux paramètres (ansi et oem) peuvent être identiques pour effectuer une transformation "sur place".
Valeur de retour : un pointeur vers la chaîne oem résultat
Transforme une chaîne de caractères ASCII-PC en ANSI (Latin-1). Seuls les caractères supérieurs à 127 sont modifiés.
Une bijection est définie entre les deux ensembles de caractères (ces ensembles sont largement distincts) de telle sorte que les fonctions SCR_OemToAnsi() et SCR_AnsiToOem() sont réciproques.
Les deux paramètres (ansi et oem) peuvent être identiques pour effectuer une transformation "sur place".
Valeur de retour : un pointeur vers la chaîne ansi résultat
SCR_change_ext() et SCR_cat_ext() se comportaient de façon erronée dans le cas de fichiers contenant ../ ou ./.
Syntaxe : scr4_o2a filename ...
scr4_a2o filename ...
Syntaxe : scr4_vlf filename
Le programme mt s'est enrichi de nouveaux paramètres, notamment pour permettre de l'utisation dans Windows.
La fonction WscrDOSUserInit() offre une chance à l'utilisateur d'agir sur le comportement du programme avant le lancement de la boucle principale du programme Windows et la création de la fenêtre DOSWIN.
On peut ainsi par exemple vérifier certaines conditions d'exécution ou fixer la taille de la fenêtre en changeant SCR_PAGE_SIZE. Cette modification (SCR_PAGE_SIZE) ne peut en effet plus avoir lieu dans le main(), la fenêtre étant déjà créée.
Ce module permet de linker une application SCR/AL1 DOSWIN (ou DOSW32) qui n'a pas d'interface écran, comme une fonction d'impression en background.
Uniformisation des fichiers de profile (.prf). Ces fichiers sont dorénavant identiques en DOS, DOS32, DOSWIN ou DOSW32. Par contre, ils restent différents pour chaque architecture (INTEL, MOTOROLA, RISC, ...).
Il en va de même pour les fichier .scr et .cmt. Par conséquent, la génération de ces fichiers peut se faire indifféremment par scr4_e, s4wc_e, s4w_e ou s32w_e.
Il est à noter que le fichier .c généré contient différents #ifdef DOSWIN pour distinguer la gestion des drivers entre les versions Dos et Windows. Il faut donc que le paramètre -DDOSWIN soit inclus dans la ligne de compilation.
Action exécutée avant de lancer la recherche dans un ISAM. Si elle retourne une valeur non nulle, la recherche n'a pas lieu. Cette action permet par exemple de formatter un champ faisant partie d'un index avant de lancer la recherche.
Syntaxe :
SEARCH_FN {act_defn}
Correction de cette fonction lorque // se trouve en début de nom.
Les appels à
popen(pgm, "w+")
sont remplacés par
popen(pgm, "w")
L'ancienne version ne fonctionnant pas dans toutes les versions de Unix.
Correction du passage de dates le 29/2 dans les années bisextiles.
Les champs HIDDEN ne sont plus repris lors du passage d'index à index dans la APG.
Lorsqu'un programme n'est pas lancé avec un interface écran (SCR_mini_init() au lieu de SCR_init(), le SCAN (qui utilise la fonction SC_hit_key()) ne peut être arrêté en pressant un touche.
Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be