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_AR_ELT NomListe
LIRE_AR_ELT NomIndex
Description
Lorsque cet ordre s'applique sur une liste, il lit l'élément précédent 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 précédent 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
* Ce bloc effectue d'abord la lecture du dernier élément de la liste LST_CLIENTS,
* puis lit les précédents jusqu'au début.
LIRE_D_ELT LST_CLIENTS
TANT_QUE &CODE_LST(LST_CLIENTS) = *NORMAL
...
LIRE_AR_ELT LST_CLIENTS
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_AR_ELT MonIndex
* Lira l'élément de la liste avec Zone1 égal à 2