RDSEQ |
Rdseqpermet de lire les données d'un fichier texte ouvert par Openi ou Openio.
Rdseqliste_varia[ Usingclasse]
Elément | Description | Restrictions |
Liste des | Aucune. | |
Variable exprimée sous l'une des formes suivantes : | Aucune. | |
Liste | Le nombre d' | |
Expression entière d'une dimension de la variable. | Doit être comprise entre l'indice de début et l'indice de fin de la dimension considérée. | |
Abréviation désignant le fichier ouvert. | Aucune. |
# Lecture du fichier passwd
Char NAME(20), PASSWORD(20)
Integer USR_NO, GROUP_NO
Char COMMENT(50), LOGIN_DIR(50), SHELL(50)
Openi "/etc/passwd"
adxifs = ':' : adxirs = chr$(10)
Repeat
Rdseq
# ... Suite du traitement de la ligne ...
Until fstat <> 0
Openi
# Lecture des 10 premiers mots de la ligne
Char MOTS(30)(10)
adxirs = ' ' :# 1 espace
adxifs = chr$(10)
Rdseq MOTS
# Lecture sur 3 fichiers séquentiels des 10 premiers mots de la ligne
Char MOT1(30)(10)
Char MOT2(30)(10)
Char MOT3(30)(10)
adxirs = ' ' :# 1 espace
adxifs = chr$(10)
Openi filpath('TRT','ZINSTRUC1','txt') Using [FIC1]
Openi filpath('TRT','ZINSTRUC2','txt') Using [FIC2]
Openi filpath('TRT','ZINSTRUC3','txt') Using [FIC3]
Rdseq
Rdseq
Rdseq
Openi Using [FIC1]
Openi Using [FIC2]
Openi Using [FIC3]
Rdseqlit enregistrement par enregistrement un ensemble de champs. Chaque champ est lu comme une chaîne de caractères et transféré dans la variable correspondante, après une traduction automatique.
La clause Using permet de préciser la classe du fichier texte sur lequel on lit. Il est maintenant possible de traiter plusieurs fichiers texte en même temps.
Dans le cas d'une variable mono-dimensionnée pour laquelle on ne précise pas d'indice, on lit autant de champs que la variable comporte d'éléments (dans la mesure du possible, comme cela est expliqué plus bas). Dans le cas d'une variable multi-dimensionnée, on devra nécessairement faire suivre son nom d'une au moins de ses dimensions (ce qui nous ramène au cas d'une variable mono-dimensionnée) ou d'un ensemble d'indices (pour caractériser un élément particulier de la variable).
Rdseqs'utilise conjointement avec les variables système Adonix adxirs pour définir le séparateur d'enregistrements et adxifs pour définir le séparateur de champs et adxium pour définir le codage de la chaîne de caractères :
Ces trois variables peuvent être affectées pour chaque fichier pour l'instruction Iomode.
Attention ! Rdseqne peut pas lire un fichier codé en UCS2.
Pour être lu entièrement par Rdseq, chaque champ doit contenir au plus 255 caractères. La lecture se fait dans tous les cas jusqu'à la fin de l'enregistrement ou du fichier. Si un enregistrement du fichier comporte plus de champs que le nombre de variables donné en argument, les champs restants sont ignorés; dans le cas inverse, les variables 'en trop' sont mises à zéro.
Les champs vides sont possibles et acceptés dans le cas où le séparateur de champs n'est pas l'espace. Si ce séparateur est l'espace, plusieurs espaces sont considérés comme un seul séparateur (ce qui permet de séparer des mots sans se préoccuper du nombre d'espaces entre chaque mot).
On peut lire un clob depuis un fichier séquentiel au format défini par adxium par l'instruction Rdseq.
La variable système Adonix fstat est mise à 1 si la lecture a buté sur la fin du fichier. Dans ce cas, les variables qui n'ont pas pu être lues sont remises à 0.
La fonction adxseek(0) ou adxseek(classe) (pour un fichier ouvert avec une classe) permet de connaître la position courante (en nombre d'octets) par rapport au début du fichier. Cette variable vaut -1 si aucun fichier séquentiel n'a été ouvert en lecture.
Un fichier ASCII contenant des lettres accentuées ne peut pas être lu en UTF8. On aurait l'erreur suivante : "valeur indéfinie".
ERDIM(55) | Variableà plus de 2 dimensions. |
ERVARI( 6) | Variableinexistante. |
ERCLAS( 7) | Classeinexistante. |
WRSEQ - OPENI - OPENIO - ADXSEEK - SEEK - FSTAT - ADXIFS- ADXIRS - ADXIUM - IOMODE
Adonix X3(r) L4G |