Openi permet d'ouvrir ou de fermer un fichier séquentiel en lecture seulement.
Openi [ exp_nomfic [, exp_depl ] ] [ Using abrev ]
Elément | Description | Restrictions |
exp_nomfic | Expression de type Char dont le résultat est le chemin d'un fichier (Unix ou MS-DOS) | Aucune. |
exp_depl | Expression numérique de la valeur initiale du déplacement (seek). | 0 <= exp_depl <= taille du fichier. |
abrev | Abréviation désignant le fichier ouvert. | Aucune. |
# Ouverture d'un fichier avec saut des 10 premiers caractères
Openifilpath('tmp','rdfile',''), 10
# Fermeture du dernier fichier ouvert pour lecture
Openi
# On veut lire sur l'entrée standard (clavier)
Openi "*"
# Ouverture d'un fichier se trouvant sur la machine "distrib"
Openi"distrib@"+[L]NOMFIC
# Ouverture du fichier X3.ini se trouvant sur le client
Openi"#@C:\X3\X3.ini"
# Ouverture de deux fichiers
Openifilpath('tmp','rdfile1','') Using [YYY]
Openifilpath('tmp','rdfile2','') Using [ZZZ]
# Fermeture des deux fichiers précédemment ouvert
Openi Using [YYY]
Openi Using [ZZZ]
Openi avec exp_nomfic permet d'ouvrir un fichier pour lecture par Rdseq et Getseq.
Openi sans exp_nomfic permet de fermer ce fichier.
Par convention, le poste client est désigné par le serveur #.
La valeur donnée en 2ème paramètre permet de débuter les lectures à une position donnée du fichier. En son absence, ou s'il est nul, la lecture débutera en début de fichier. Dans tous les cas, l'ordre Seek permet de se déplacer pendant la lecture. La fonction adxseek(0) ou adxseek(abrev) permet de connaître la position dans le fichier.
La clause Using permet d'attribuer une abréviation à un fichier séquentiel ouvert. Par conséquent, il est possible d'ouvrir jusqu'à 16 fichiers séquentiels simultanément sous réserve de la valeur du paramètre adxmso.
Fichier sans abréviation :
Fichier avec abréviation :
Si le fichier est inexistant, une erreur (PAFIC) sera provoquée.
Erreur | Description |
ERMODE (10) | exp_nomfic n'est pas de type Char ou exp_depl n'est pas de type numérique. |
ERDOM (50) | exp_depl < 0. |
ERACCE (27) | Accès impossible (permission refusée). |
PAFIC (20) | Fichier (ou répertoire du chemin d'accès) inexistant. |
ERSEEK (57) | Le fichier est l'entrée standard (exp_nomfic='*') et exp_depl <> 0. |
ERCHAN (60) | Pas assez de canaux pour l'ouverture (qui en nécessite un). |
ERSYST (25) | Erreur système (problème à la connexion sur machine distante). |