adxseek permet de connaître la position des pointeurs de lecture et d'écriture sur des fichiers séquentiels.
adxseek ( expr_n )
adxseek ( expr_c )
Elément | Description | Restrictions |
expr_n | Expression de numérique entière. | expr_n = 0 ou expr_n = 1 |
expr_c | Expression de type Char. | Aucune. |
# Extraction du deuxième champ lu dans un fichier d'entrée et recopie
# sur un fichier de sortie, avec affichage des pointeurs de lecture / écriture
Openi "ENTREE"
Openo "SORTIE"
adxifs = ':' : adxirs = chr$(10) : I = 1
Repeat
Infbox "Lecture enregistrement : "-I-"Position="-adxseek(0)
Infbox "Ecriture enregistrement : "-I-"Position=";adxseek(1)
Rdseq CHAMP1, CHAMP2, CHAMP3
Wrseq CHAMP2
Until fstat <> 0
# Même chose avec des fichiers ouverts sous une abréviation
Openi "ENTREE" Using [ENT1]
Openo "SORTIE" Using [SOR1]
adxifs = ':' : adxirs = chr$(10) : I = 1
Repeat
Infbox "Lecture enregistrement : "-I-"Position="-adxseek("ENT1")
Infbox "Ecriture enregistrement : "-I-"Position="-adxseek("SOR1")
Rdseq CHAMP1, CHAMP2, CHAMP3
Wrseq CHAMP2
Until fstat <> 0
Lorsqu'on ouvre un fichier en lecture par Openi ou Openio sans abréviation, le pointeur de lecture, c'est-à-dire le décalage (en nombre d'octets) entre le début du fichier et les prochaines informations à lire, est retourné par la fonction adxseek(0). Si aucun fichier n'a été ouvert en lecture, adxseek(0) vaut 0.
De même, pour un fichier ouvert en écriture par Openo ou Openio sans abréviation, adxseek(1) contient le pointeur d'écriture, qui vaut 0 si aucun fichier n'est ouvert en écriture.
Si Openio sans abréviation est utilisé, on a toujours des valeurs identiques pour adxseek(0) et adxseek(1).
Pour un fichier ouvert sous une abréviation, adxseek("abrev")contient le pointeur de lecture ou d'écriture.
La variable adxseek(0) ou adxseek("abrev") peut être modifiée :
- par une lecture (Rdseq, Getseq),
- par un déplacement (instruction Seek).
La variable adxseek(1) ou adxseek("abrev") peut être modifiée :
- par une écriture (Wrseq, Putseq),
- par un déplacement (instruction Seek seulement si le fichier a été ouvert par Openio).
Ces variables ne peuvent être affectées directement (mode lecture uniquement).