Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

  • xRepair lit séquentiellement le fichier des données indiqué en entrée (attention : entrez le nom du fichier des clés s'il s'agit d'un séquentiel-indexé) et vérifie la longueur de chaque enregistrement lu.

  • On utilise le dictionnaire des données pour rechercher la longueur des enregistrements (cas d'un fichier à tailles d'enregistrement variables) ; si on trouve pas, on la cherche dans le fichier paramètres portant le nom xRepairF.TXT. Ce fichier peut contenir la "description" d'un ou plusieurs fichiers et peut être garni soit manuellement (avant d'appeler xRepair), soit automatiquement par le programme. Rappel : Xtools permet d'indiquer, dans l'en tête d'un fichier physique, le nom du dictionnaire et le mnémonique du fichier dans le dictionnaire.

  • Chaque fichier déclaré dans xRepair peut être marqué "Complet" (ce qui signifie que toutes les longueurs d'enregistrement possibles sont indiquées) ou "Non complet" (ce qui signifie que certaines longueurs d'enregistrement peuvent manquer). Attention : xRepair n'autorise le mode de correction automatisée que sur un fichier marqué "Complet". Remarque : il peut être intéressant de passer xRepair une première fois sur tous les fichiers (intègres) de vos applications, afin de constituer (définitivement) le fichier xRepairf.txt. Un fichier xRepairf.txt entièrement constitué est d'ailleurs nécessaire si vous désirez piloter régulièrement l'utilitaire Xverif.

  • Lorsque xRepair rencontre une longueur d'enregistrement non spécifiée dans xRepairf.txt ET que le fichier traité est marqué "non complet", il demande si cette longueur doit être ajoutée au fichier paramètres. En cas de réponse positive, il complète xRepairf.txt avec cette nouvelle longueur et poursuit la lecture.

  • Si le fichier traité est marqué "complet" ou en cas de réponse négative, xRepair considère que l'enregistrement lu est incorrect et que le fichier doit être corrigé. Remarque : si la question n'est pas posée (fichier marqué "complet"), vérifiez la longueur et le contenu de l'enregistrement affiché par xRepair et supposé erroné (au cas où cette longueur aurait été "oubliée" dans xRepairf.txt) ; si la longueur s'avère finalement correcte, abandonnez le programme, rajoutez manuellement cette longueur dans le fichier xRepairf.txt et relancez xRepair.


Correction des erreurs
La correction d'une erreur peut se faire de trois manières :

  • Correction automatisée. Avec cette méthode, xRepair invalide automatiquement les caractères n'appartenant pas à des enregistrements corrects.

  • Correction semi-automatique par pointage. Cette méthode consiste à repérer "visuellement" le premier enregistrement correct qui suit l'erreur et à se positionner sur sa longueur. Après validation, xRepair corrige automatiquement le fichier en invalidant les octets compris entre l'erreur et l'enregistrement pointé (il crée un ou plusieurs enregistrements à espace).

  • Correction manuelle. Cette méthode permet de modifier directement le contenu du fichier (y compris les octets " système ").

Ancre
Top_of_Correctionautomatis_e_htm
Top_of_Correctionautomatis_e_htm

...


La méthode de correction manuelle consiste à modifier directement le contenu du fichier (et en particulier la ou les longueurs d'enregistrement erronées), de manière à rétablir des enregistrements de longueur correcte (en respectant la structure Harmony des fichiers de type N). Elle est fortement déconseillée si vous ne maîtrisez pas parfaitement cette structure de fichiers.
Si vous optez pour cette méthode, cliquez sur le bouton Correction manuelle.
Après détection de l'erreur, xRepair affiche le contenu physique du fichier, par bloc de 256 caractères (à droite en Ansi, à gauche en Hexadécimal). Il se positionne au départ sur le premier octet physique (en général, l'octet " réseau ") du dernier enregistrement correct.
A partir de là :

  • Positionnez-vous sur l'erreur en cliquant sur le bouton Pointer longueur suivante (attention à ce que le curseur pointe bien le premier octet de la dernière longueur correcte). (Remarque : plus généralement, vous pouvez progresser d'un enregistrement dans le fichier en plaçant le curseur sur le premier octet de la longueur d'un enregistrement correct, puis en cliquant sur le bouton Pointer longueur suivante.)

  • La nouvelle longueur pointée est incorrecte. Vous devez maintenant parcourir le fichier pour repérer les "bons" enregistrements et rétablir entre eux un "chaînage" correct. Vous devez bien entendu respecter la structure Harmony du fichier et vous ne devez pas "créer" des enregistrements dépassant 4 Ko. Remarque : si vous devez "créer" des enregistrements "sur" des données incorrectes, il faut les mettre à espace. Les touches de parcours sont listées ci-dessous.

  • Les modifications sont faites manuellement. Tous les octets du tableau sont modifiables, à droite en Ansi, à gauche en Hexadécimal. Pour vous aider à saisir une longueur d'enregistrement, placez le curseur à l'endroit où doit se trouver le premier octet de la longueur et tapez la touche F6 : vous pouvez alors saisir une valeur en décimal (qui sera automatiquement convertie en binaire et placée dans la longueur pointée).

  • Pour valider les modifications faites dans un bloc, tapez la touche F10. Après confirmation, le bloc est immédiatement réécrit sur disque et le programme repasse en mode consultation sur le bloc suivant. Pour modifier ce bloc, cliquez à nouveau sur le bouton Correction manuelle.

  • A la fin des corrections, tapez à nouveau F10 (en mode consultation). xRepair poursuit alors son traitement à la recherche d'une éventuelle nouvelle erreur.

  • Attention : Si la taille des enregistrements du fichier est fixe et si vous avez du "créer" un enregistrement de longueur différente, il est conseillé (impératif si vous faites des accès directs à ce fichier), après correction de toutes les erreurs, de recopier le fichier dans un nouveau fichier à même taille d'enregistrements fixe. Utilisez pour ce faire le choix de Xtools Fichier : Copier un fichier, en renseignant les champs Premier et Dernier enregistrement, afin de forcer la méthode de copie "partielle".

  • A la fin du programme, n'oubliez pas de régénérer les clés du fichier par Xreof.

...


La méthode de correction par pointage consiste à repérer "visuellement" le premier enregistrement correct qui suit l'erreur et à se positionner sur sa longueur. Si vous optez pour cette méthode, cliquez sur le bouton Correction par pointage.
Après détection de l'erreur, xRepair affiche le contenu physique du fichier, par bloc de 256 caractères (à droite en Ansi, à gauche en Hexadécimal). Il se positionne au départ sur le premier octet physique du dernier enregistrement correct.
A partir de là :

  • Positionnez-vous sur l'enregistrement erroné en cliquant sur le bouton Pointer longueur suivante (attention à ce que le curseur pointe bien le premier octet de la dernière longueur correcte). (Remarque : plus généralement, vous pouvez progresser d'un enregistrement dans le fichier en plaçant le curseur sur le premier octet de la longueur d'un enregistrement correct, puis en cliquant sur le bouton Pointer longueur suivante.)

  • Cet enregistrement va probablement contenir des caractères "anormaux" (espaces, zéros binaires, …). Vous devez maintenant parcourir la suite du fichier jusqu'à repérer "visuellement" un enregistrement qui vous semble correct par son contenu. Les touches de parcours sont listées ci-dessous.

  • Lorsqu'un enregistrement correct est trouvé, placez le curseur sur le premier octet de sa longueur. La valeur décimale correspondant à l'octet courant et à son suivant est affichée en haut à droite (zone Longueur pointée) : assurez-vous que vous pointez bien la longueur de l'enregistrement, en vérifiant cette valeur.

  • Validez par F10. xRepair corrige automatiquement le fichier en invalidant les octets compris entre l'erreur et l'enregistrement pointé (il crée un ou plusieurs enregistrements à espace). Il poursuit ensuite à la recherche d'une éventuelle nouvelle erreur.

  • Attention : Si la taille des enregistrements du fichier est fixe (et si xRepair a été obligé de créer un enregistrement vide de longueur différente), le programme vous le signale : il est conseillé (impératif si vous faites des accès directs à ce fichier), après correction de toutes les erreurs, de recopier le fichier dans un nouveau fichier à même taille d'enregistrements fixe. Utilisez pour ce faire le choix de Xtools Fichier : Copier un fichier, en renseignant les champs Premier et Dernier enregistrement, afin de forcer la méthode de copie "partielle".

  • A la fin du programme, n'oubliez pas de régénérer les clés du fichier par Xreof.

...

  • Est différente de la taille des enregistrements du fichier (cas d'un fichier à taille d'enregistrements fixe).

  • Est nulle.

  • Est supérieure au nombre d'octets restants dans le fichier.

  • N'est pas présente dans le fichier paramètres.