8.6 L’INSTRUCTION STRING

Voici la syntaxe de STRING :

Les zones de données émettrices et réceptrices doivent être alphanumériques et les transferts de données suivent les règles correspondantes. Si la zone réceptrice est plus grande il n’y a pas remplissage par des blancs à droite. De même nom-de-donnée-résultat n’est jamais réinitialisée à blanc, c’est le travail du programmeur.

DELIMITED BY permet de spécifier une limite de transfert de données, soit en fonction de la taille “SIZE”, soit en fonction du ou des caractères de nom-de-donée-3 ou litéral-3. Ces caractères là ne sont pas transmis.

POINTER permet de préciser la position de gauche du début du transfert dans la zone résultat. La variable nom-de-pointeur est un numérique. Normalement cette valeur est incrémentée de 1 par caractère transféré.
OVERFLOW en option avec POINTER indique l’ordre impératif à exécuter.

Exemple :

STRING "CECI EST LE TITRE " GROUPE BLANC "1999"
DELIMITED BY SIZE INTO L80.

STRING INFO DELIMITED BY SIZE INTO L80
WITH POINTER PT ON OVERFLOW
PERFORM PAR-ERREUR.

String A delimited by size B delimited by space C delimited by ‘*’ into …