En raison du fait que UCHAR est défini comme un typedef dans <windows.h>, toutes les déclarations faisant apparaître UCHAR sont remplacées par des U_ch.
WIN_VLINE et WIN_HLINE permettent d'éliminer les lignes verticales et horizontales dans les Dialog Box générés par scr4_e -w. WIN_FIXED demande d'utiliser une police de caractères de largeur fixe dans les Dialog boxes.
GLOBAL WIN_HLINE Yes | No
GLOBAL WIN_VLINE Yes | No
GLOBAL WIN_FIXED Yes | No
Correction dans la lecture et le sauvetage des mots de passe.
Cette fonction permet d'accumuler des messages dans un fichier local (en général à des fins de test ou de debugging. Elle prend des paramètres comparables à ceux de printf().
Sa syntaxe est identique à celle de printf. Elle écrit par défaut dans le fichier debug.win.
Le fichier est à chaque fois ouvert et fermé pour permettre d'arrêter le programme n'importe tout en conservant les résultats dans le fichier. Cela peut être un facteur de lenteur dans les applications.
On peut changer le nom du fichier en fixant la variable
char *DebugFilename;
Si cette variable est nulle, le fichier est debug.win. Sinon, elle contient le nom du fichier contenant les messages.
Comme le fichier est à chaque appel ouvert et fermé, on peut sans problème changer le nom du fichier à n'importe quel moment.
Cette fonction recherche le string str de longeur lg dans le fichier filename et retourne la position du début du string.
long SCR_FindStringPos(char *filename, U_ch *str, int lg)
Retourne :
Les cas délicats comme la recherche de "12123" dans "1212123" sont correctement traités.
Le buffer interne passe de 256 à 512 bytes en espérant régler certains problèmes.
Correction : free de tableaux internes.
Lorsqu'une recherche est effectuée sur un ISAM qui n'a pas d'index, la recherche s'effectue toujours dans l'ordre de la DB (SCR_DB). Auparavant, il fallait le spécifier sinon un plantage était possible.
Le programme d'impression classique (PR_select(), .. PR_send()) imprime dans les versions Windows sur l'imprimante par défaut de Windows.
Les caractères semi-graphiques sont traités correctement, en deux épaisseurs de trait.
Pour réaliser ce travail, un nouveau groupe de fonctions, disponible uniquement sous Windows a été développé. Ce groupe (Wpr*) offre des possibilités plus étendues que le groupe PR_*, en exploitant les outils fournis par l'environnement Windows.
Ce programme remplace dans une liste de fichiers la partie du fichier comprise entre deux tags par le contenu d'un fichier. Il est nécessaire pour modifier automatiquement les barres navigationnelles dans les fichiers HTML.
Ce programme permet de diviser un fichier HTML en sous-fichiers en découpant sur les titres <Hn>.
Ce programme crée la table des matières d'un fichier HTML et de ses sous-fichiers (fichiers référencés).
Ce programme vérifie les liens présents dans un fichier HTML et les sous-fichiers. Il établit un rapport reprenant tous les fichiers référencés et les classe par type.
Il n'y a pas de recherche en dehors du système de fichiers locaux.
La syntaxe SCR4_AR WIN équivaut à SCR4_AR D : dans les deux cas, c'est tlib qui est utilisé.
Le message sonore utilisé lors de l'affichage d'une boîte de question est supprimé.
L'édition des champs dans une page dont le nom n'est pas défini pouvait planter un programme.
Correction des champs avec CODEISAM avec application à une liste limitée de champs :
ISAM is_post CODE {adres1}
Le programme plantait en Windows lors de la lecture du fichier .scr.
Si les pointeurs de ces fonctions sont nuls, aucune opération n'a lieu. Les vérifications ne sont donc plus nécessaires.
Le choix des couleurs dans une application DOSWIN est possible comme dans les applications DOS standard. L'utisateur peut donc adapter les couleurs de son application comme il le souhaite. Le fichier qui mémorise la configuration des couleurs est le même qu'en DOS: \scr4cnf.00.
Pour assurer la compatibilité avec le DOS, seize couleurs de base ont été choisies dans la palette de base de Windows. Ces couleurs peuvent être modifiées par le programmeur dans la fonction WscrDOSUserInit().
Pour modifier les couleurs de base, il faut changer la variable WSCR_COLORS de la façon suivante.:
#include <scr4w.h>
extern COLORREF WSCR_COLORS[];
...
WSCR_COLORS[0] = RGB(red, green, blue);
...
WSCR_COLORS[15] = RGB(red, green, blue);
où red, green et blue sont des valeurs comprises entre 0 et 255. Il y a 16 éléments dans le tableau WSCR_COLORS, chacun définissant une couleur.
Lors de l'affichage des OPTIONS OFF d'un MENU, trois cas sont distingués (au lieu de deux auparavant).
Ce nouvel objet consiste en une série de PAGES auxquelles sont adjointes quelques informations complémentaires.
Toutes les pages sont présentées soit sous forme d'une boîte de fiches (Properties), soit successivement (Wizard).
Il suffit de passer les informations suivantes :
Ces pages ne comportent pas en principe de boutons, les boutons étant proposés par défaut en-dessous de chaque fiche.
typedef struct _tpgs_ {
short tp_type;
short tp_nb;
short *tp_pgsnbs;
U_ch *tp_title;
U_ch **tp_pgstitles;
} TPAGES;
Fonction de création et d'édition :
WscrEditTabbedPages(HWND hwndOwner, TPAGES *tpgs)
Les boutons OK et Cancel sont présents par défaut.
Si help vaut 1, le bouton HELP est activé.
MyPropertySheet(HWND hwndOwner)
{
TPAGES tpg;
short pgsnbs[10];
U_ch **titles[10];
titles[0] = "Titre page 1";
titles[1] = "Page 2";
titles[2] = "Page 3";
pgsnbs[0] = SCR_NU(pg1);
pgsnbs[1] = SCR_NU(pg2);
pgsnbs[2] = SCR_NU(pg3);
tpg.tp_type = 0;
tpg.tp_nb = 3;
tpg.tp_pgsnbs = pgsnbs;
tpg.tp_title = "Titre général";
tpg.tp_pgstitles = titles;
WscrEditTabbedPages(hMainWnd, &tpg);
}
Dans une version future, une action TP_EDIT sera implémentée.
Un nouveau manuel fait son apparition et concerne les portages et les spécificités de la versions Win32 de SCR/AL1.
Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be