09.03.99
Bibliothèque n°500: STRG v1.1
Auteur: Yoann DESIR
e-mail: YoannDESIR@yahoo.com
Cette bibliothèque contient un certain nombre d'utilitaires maison permettant de travailler sur les chaînes de caractères.
T5C: Prend en argument une chaîne au niveau 1. Découpe virtuellement cette chaîne en morceaux de 5 quartets, et permet de lire cette chaîne selon une mise en page de lignes de 10 blocs de 5 caractères.
REPLS: Programme de remplacement en chaîne. Nécessite une chaîne
dans laquelle s'effectuent les remplacements au niveau 3, une chaîne paterne
au niveau 2, et une chaîne au niveau 1 par laquelle remplacer toutes les
occurences de la chaîne niveau 2 dans la chaîne niveau 3.
Dans la chaîne niveau 2, le caractère ASCII n°127 signifie "caractère
quelconque". Le nombre de remplacements est renvoyé au niveau 1, la chaîne
éventuellement modifiée au niveau 2.
Seul inconvénient: l'emploi de REPLS nécessite souvent plus de place que de
raison; j'essaie actuellement de palier cet inconvénient.
REVS: La plus rapide et la plus compacte version que j'aie trouvée de ce programme, qui renvoie à l'envers la chaîne argument niveau 1.
CKSMS: Donne les CheckSums du contenu de la chaîne niveau 1, ligne de 50
caractères par ligne de 50 caractères.
Ce programme et les deux suivants sont surout utiles dans une optique
dépourvue de transferts HP-PC et de possibilité de sauvegarde informatique
des fichiers.
Dans ce cas, on peut envisager de sauvegarder sur papier les fichiers de
petite taille, ou du moins leurs quartets constitutifs.
CKSMS permet de sécuriser la resaisie ultérieure des quartets tapés.
( cf plus bas )
CHK: Vérifie que la liste des entiers-binaires du niveau 2 ( homologue de
celle obtenue par CKSMS ) correspond à la chaîne de quartets du niveau 1.
Chaque entier-binaire doit être identique au code de redondance cyclique
de la ligne de 50 caractères à laquelle il correspond.
En cas d'erreur de saisie, la pile telle que la laisse CHK sert d'argument
à EDIT LINE.
EDIT LINE: Doit être lancé en cas d'erreur de saisie détectée par CHK: ne pas
modifier la pile, et appuyer sur l'icône
----> Exemple typique d'utilisation de l'ensemble CKSMS, CHK et EDIT LINE:
O->ST: Inclut l'objet du niveau 1 dans une chaîne dont le contenu est
identique aux quartets de l'objet argument.
S->OB: Opération réciproque. Attention, n'importe quelle chaîne ne peut
servir d'argument.
COM2S: Compare deux chaînes aux niveaux 1 et 2. En cas d'identité, aucun
résultat renvoyé. En cas de différence, la position du caractère différant
entre les deux chaînes est renvoyée au niveau 1.
GTDF: A partir du résultat renvoyé par COM2S en cas de chaînes différentes,
renvoie aux niveaux 2 et 1 les deux caractères différents des chaînes
initialement comparées.
SCAN STR : Permet de limiter le nombre de mots par ligne dans une chaîne
fournie au niveau 1. Si plusieurs mots occupent plus de 22 caractères,
les mots en fin de ligne sont placés dans la ligne suivante.
STCRC: Calcule le Code de Redondance Cyclique des quartets CONTENUS dans la
chaîne au niveau 1.
Voilà, pour information supplémentaire, écrivez-moi un e-mail...
En appuyant sur
- Ecrire sur papier les quartets constitutifs d'un objet créé;
- Obtenir les ChkSums par CKSMS, et les noter à proximité;
Pour récupérer l'objet dans toute son intégrité,
- Taper les quartets constitutifs de cet objet, consciencieusement notés;
- Saisir les ChkSums correspondant aux différentes lignes, sous forme de
liste d'entiers-binaires;
- Vérifier la conformité de la chaîne avec la liste de binaires par CHK;
- En cas d'erreur, utiliser EDIT LINE.
Ex.: 1: 'A' => 1: "H."
84E201014 C2A20 E0000 84E201014
Si un alinéa est rencontré dans la ligne suivante, une ligne supplémentaire
est créée.
Ex.: C2A20 F0000 11920 50000 au niveau 1 => <4AD7h>,
Crc des quartets <11920 50000>. Essayez par exemple d'effectuer BYTES sur
l'entier-système <5h>, dont les quartets sont justement <11920 50000>...