ADELIA |
VADELIA |
SADELIA |
WADELIA |
MADELIA |
(I/B) |
(I/B) (C/S) |
(B) (S) |
(I/B) (C/S) |
(I) (C/S) |
Attention : dans le cas des programmes de type ADELIA, cet ordre n'est pas compatible avec le générateur C, et ne peut pas être utilisé sur un index.
Paragraphe d'utilisation
Tous
Syntaxe
LIRE_AV_ELT NomListe
LIRE_AV_ELT NomIndex
Description
Lorsque cet ordre s'applique sur une liste, il lit l'élément suivant de la liste NomListe et affecte les valeurs aux variables qui la composent.
Après l'exécution de cet ordre, l'élément courant est l'élément lu.
Lorsque cet ordre s'applique à un index, il lit l'élément suivant de l'index NomIndex et affecte les valeurs de l'élément correspondant de la liste associée à l'index aux variables qui la composent. L'élément lu devient l'élément courant de l'index, et l'élément courant de la liste associée à l'index.
Cette utilisation n'est pas compatible avec les programmes de type ADELIA.
La fonction prédéfinie &CODE_LST (sur la liste dans le cas d'une liste ou sur l'index dans le cas d'un index) permet de savoir si la lecture a abouti.
Voici les valeurs possibles :
Valeur |
|
*NON_TROUVE |
La lecture n'a pas trouvé d'élément (liste vide). |
*NORMAL |
La lecture a abouti. |
*OP_INVALIDE |
L'index n'existe pas (pas encore créé ou a été détruit). |
Par exemple
* Lecture du premier élément de la liste LST_ARTCLES,
* puis lecture des éléments suivants, jusqu'au dernier.
LIRE_P_ELT LST_ARTICLES
TANT_QUE &CODE_LST(LST_ARTICLES) = *NORMAL
...
LIRE_AV_ELT LST_ARTICLES
REFAIRE
* Exemple de lecture sur un index
LISTE MaListe Zone1 Zone2
INDEX_LISTE MonIndex MaListe Zone1
/* La liste contient 4 éléments avec les valeurs suivantes pour Zone1: 10, 2, 5, et 7
Zone1 = 4
LIRE_P_ELT MonIndex
* Lira l'élément de la liste avec Zone1 égal à 5
LIRE_AV_ELT MonIndex
* Lira l'élément de la liste avec Zone1 égal à 7