ADELIA |
VADELIA |
SADELIA |
WADELIA |
EADELIA |
(I/B) |
(I/B) (C/S) |
(B) (S) |
(I/B) (C/S) |
(B) (C/S) |
Paragraphe d'utilisation
Tous
Syntaxe
SCINDER_CHAINE ChaineSource ChaineSéparateur ListeAlpha
ChaineSource |
→ |
Variable alphanumérique | Constante alphanumérique |
ChaineSéparateur |
→ |
Variable alphanumérique | Constante alphanumérique |
ListeAlpha |
→ |
Liste avec une seule zone de type ALPHA(n) |
Description
Cet ordre éclate la chaîne ChaineSource en sous-chaînes dans la liste ListeAlpha, en fonction du, ou des, séparateur(s) présent(s) dans ChaineSéparateur.
L'ensemble des caractères dans ChaineSéparateur spécifie donc les délimiteurs possibles des sous-chaînes à rechercher dans ChaineSource (cf. exemple 3).
A noter qu'une sous-chaîne vide trouvée lors de la recherche n'est pas ajoutée à la liste ListeAlpha (cf. exemple 4).
La liste des résultats est vidée au préalable.
Cette ordre met à jour le mot réservé *CODE_RETOUR :
0 : exécution normale
1 : au moins une sous-chaîne a été tronquée car la zone de la liste était trop courte pour la contenir
-1 : erreur interne lors du traitement de l'ordre
Par exemple
Exemple n°1
ALPHA(50) SOUS_CHAINE
LISTE LST_RES SOUS_CHAINE
ALPHA(100) MA_CHAINE
MA_CHAINE = 'PAUL;PIERRE;DAVID'
SCINDER_CHAINE MA_CHAINE ';' LST_RES
* LST_RES contient 3 éléments 'PAUL', 'PIERRE', 'DAVID'
* *CODE_RETOUR = 0
Exemple n°2
ALPHA(4) SOUS_CHAINE4
LISTE LST_RES SOUS_CHAINE4
ALPHA(100) MA_CHAINE
MA_CHAINE = 'PAUL;PIERRE;DAVID'
SCINDER_CHAINE MA_CHAINE ';' LST_RES
* LST_RES contient 3 éléments 'PAUL', 'PIER', 'DAVI'
* *CODE_RETOUR = 1
Exemple n°3
ALPHA(50) SOUS_CHAINE
LISTE LST_RES SOUS_CHAINE
ALPHA(100) MA_CHAINE
MA_CHAINE = 'PAUL;PIERRE;DAVID'
SCINDER_CHAINE MA_CHAINE ';I' LST_RES
* LST_RES contient 5 éléments 'PAUL', 'P', 'ERRE', 'DAV', 'D'
* *CODE_RETOUR = 0
Exemple n°4
ALPHA(50) SOUS_CHAINE
LISTE LST_RES SOUS_CHAINE
ALPHA(100) MA_CHAINE
MA_CHAINE = 'PAUL;;DAVID'
SCINDER_CHAINE MA_CHAINE ';' LST_RES
* LST_RES contient 2 éléments 'PAUL', 'DAVID'
* *CODE_RETOUR = 0