Comment utiliser le navigateur SanityCheck

Ce chapitre décrit le navigateur SanityCheck.


Note: Le navigateur est un outil très puissant qui vous laisse modifier presque tout dans un fichier de structure 4D. Il est donc facile d'endommager un fichier si on ne maîtrise pas ses actions.

Comprendre le navigateur

On peut appréhender le navigateur comme un ResEdit natif pour les fichiers de structure et les objets 4D. Le navigateur permet la visualisation des données internes de votre structure. Des modèles sont fournis pour la plupart des types d'objets de bas niveau. Ils permettent de modifier les structures de vos bases de données. Il faut être attentif et faire des sauvegardes si on souhaite faire des modifications.

À quoi sert le navigateur ? Si vous avez réellement une énumération détériorée, SanityCheck peut la réparer pour vous, ou si vous connaissez un peu ces modèles, vous pouvez la réparer vous-même. Ouvrez la et mettez la liste à 0x0000...c'est réparé. Avec les modèles, la puissance arrive entre vos mains, en marge d'ACI, d'e-Node et du concepteur de SanityCheck. Quand quelque chose ne va pas, ce n'est plus une boîte noire pour vous. Vous pouvez intervenir pour éventuellement résoudre les problèmes vous-même.

Pour afficher le navigateur

1 Ouvrez le fichier de structure
2 Sélectionnez la commande Explorateur dans le menu fichier.
SanityCheck analyse d'abord le fichier de structure (si ce n'est déjà fait) puis ouvre la fenêtre du navigateur.
Remarquez qu'en plus de la case à cocher ID en hexa et des boutons radio Hex, texte et modèle, il est possible de trier la liste de droite en cliquant sur l'en-tête de l'ID, de la taille ou de l'information.


Types de ressources 4D connus


SanityCheck reconnaît de nombreux types standards de ressources 4D :

type Description
CC4D Méthode
FO4D Formulaires
FI4D Tables
TF4DTF4D Noms de formulaires
BA4D Barre de menu
DBPR Méthodes base (sur démarrage serveur)
FGS# Liste des modèles de formulaires
FON# Liste des polices
HE4D Éléments de bulles d'aide
LE4D Nom des énumérations (peut être EN4D ou List)
LIBA Liste des barres de menu
LiHe Liste des bulles d'aide
List Une énumération (nouveau type de EN4D)
Look Préférences d'environnement
MEN4 Un menu
PIC# Liste des images
PICT Une image
PR4D Préférences 4D
ST4D Filtres (styles)
Styl Définition du style
TP4D Liste des méthodes
WL4D Préférences du bureau
WN4D Nom des tables
EN4D Une énumération (ancienne version, voir "List")
expl Préférences du navigateur
FGps Modèle de formulaire
l___ Position de la fenêtre
m___ Position du menu fenêtre
mem_ Préférences de mémoire
pass Position de la fenêtre de mots de passe
stru Position de la fenêtre de structure (mode structure)
xfon Préférences de plate-forme

Exemple
Une des erreurs identifiées par SanityCheck pendant l'analyse d'une base de données est l'utilisation d'un mot réservé comme nom d'une table ou d'un champ. En utilisant le navigateur, on peut rapidement et facilement modifier ce nom.

Pour cela, sélectionnez le type FI4D et sélectionnez la table contenant l'erreur.


Double-cliquez sur le nom de la table dans la liste ; SanityCheck affiche un écran dans lequel on peut modifier de nombreux attributs de la table, tels que le nom de la table et des champs.


Cherchez le champ à modifier, changez le nom puis cliquez sur le bouton Enregistrer.

Comprendre les modèles du navigateur

On peut créer ses propres modèles avec SanityCheck (sachez cependant que nous fournirons de nouveaux modèles aussi vite que nous le pourrons). Vous devez au préalable connaître le fonctionnement des ressources TMPL. Référez-vous à la documentation de ResEdit ou Resorcerer pour plus d'informations.

Les "Tags" couramment supportés sont présentés dans la liste ci-dessous. Les tags sont des marqueurs internes utilisés par 4D pour spécifier le début d'une structure de données. 4D Utils utilise ces marqueurs lorsqu'on sélectionne l'option "Récupération par marqueurs de fiches".

Nous envisageons d'ajouter d'autres modèles ultérieurement.

Type Description
OCNT Compteur de liste
LSTC Début de liste avec compteur
LSTB Début de liste indéfinie
LSTE Fin de liste
DVDR Ligne de séparation
DLNG Mot long décimal
DWRD Mot décimal
DBYT Octet décimal
HLNG Mot long hexadécimal
HWRD Mot hexadécimal
HBYT Octet hexadécimal
ULNG Mot long non signé
UWRD Mot non signé
UBYT Octet non signé
RECT Rectangle
FWRD Mot de remplissage
PSTR Chaîne Pascal
Pnnn Chaîne Pascal de longueur nnn en hexa.
Hnnn Champ hexa de taille fixe nnn en hexa
CHAR Un caractère

Tous les types suivants concernent SanityCheck. Ils sont identiques à HWRD ci-dessus, mis à part qu'ils font référence à un lien. Ils activent le bouton que l'on voit sur le modèle.

Type Description
CC4D Méthode
MEN4 Menu
TF4D Liste des formulaires d'une table
BA4D Barre de menus
LE4D Liste des énumérations
FI4D Table (avec les champs)
FO4D Formulaire
List Énumération (peut être EN4D ou une énumération)
HE4D Bulle d'aide

En utilisant ces informations et les modèles de SanityCheck, vous pouvez créer vos propres modèles, si nécessaire.

Si vous créez un modèle que vous souhaitez partager avec les autres utilisateurs de SanityCheck, vous pouvez nous l'envoyer et nous l'intégrerons dans une prochaine version.

Nous ajouterons de nombreux modèles à la nouvelle version de SanityCheck. Notre objectif est d'avoir un modèle pour chaque type.

Utilisation du modèle de mots de passe

Vous pouvez modifier les données internes de vos mots de passe avec SanityCheck. C'est très pratique lorsque quelque chose ne va pas et que 4D ne se comporte pas normalement.

Nous vous recommandons vivement de ne jamais changer le nombre de mots de passe et de groupes. N'essayez pas d'effacer le dernier mot de passe en diminuant le nombre de mots de passe. Les données sont stockées dans un format selon lequel les groupes se trouvent juste après les mots de passe, donc diminuer le nombre de mots de passe entraîne des informations non valides pour les groupes.

Nous envisageons d'améliorer cette zone afin de proposer une meilleure ergonomie pour l'accès aux mots de passe. En attendant, n'utilisez cette zone que pour modifier les informations et surtout pas pour supprimer des mots de passe ou des groupes.


Remarque: Les mots de passe sont en écriture seulement, c'est-à-dire que vous ne pouvez ni les voir, ni les copier. Vous pouvez seulement les changer si vous le souhaitez.

Remarque: Puisque le navigateur n'est actif qu'après avoir entré le mot de passe du SuperUtilisateur, vous devez avoir le mot de passe SuperUtilisateur pour accéder au modèle des mots de passe.


Pour afficher le modèle Mots de passe d'un fichier de structure.

1 Ouvrez et analysez un fichier de structure
2 Ouvrez le navigateur
3 Sélectionnez l'article PA4D dans la liste des types
La liste à droite affiche 2 éléments. Le premier contient les noms d'utilisateur et le deuxième les groupes. Double-cliquez sur l'un des deux pour le modifier. Suivez les instructions sur le formulaire affiché.


Remarque: effectuez toujours une sauvegarde juste avant d'effectuer des changements dans un fichier de structure avec SanityCheck, et faites très attention lors de la modification des mots de passe.


Utilisation du navigateur pour effacer des objets

Vous devez très rarement utiliser le navigateur pour effacer un objet de votre fichier 4D. Quoi qu'il en soit, si c'est nécessaire, voici quelques règles à respecter :

o N'effacez par les objets de type FI4D (tables/fichiers). Vous êtes presque certain de causer de sérieux problèmes à votre fichier de structure.

o N'effacez pas vos objets PA4D - 4D ne pourra plus ouvrir votre structure, et SanityCheck ne pourra pas vous aider à recréer les informations de vos mots de passe perdus.

o Remarquez que lorsque SanityCheck a fini de supprimer des objets et que vous le relancez , de nouvelles alertes sont générées. Elles sont de type [311] et annoncent qu'un 'espace inutilisé' apparaît dans votre structure. Car bien que les objets aient été détruits, la table d'allocation (bitmap/freemap) n'est pas mise à jour par SanityCheck. La raison de ce fonctionnement est que si le bitmap/freemap est endommagé au départ, SanityCheck n'en est pas affecté et l'effacement reste propre. Vous pouvez lancer 4D Utils et compacter pour effacer l'espace inutilisé de votre table d'allocation .