OPENO |
Openopermet d'ouvrir et de fermer un fichier séquentiel en écriture seulement.
Openo [ exp_nomfic [, exp_depl ] ] [ Usingabrev]
Elément | Description | Restrictions |
Expression de type Char dont le résultat est le chemin d'un fichier (Unix ou MS-DOS). | Aucune. | |
Expression numérique de la valeur initiale du déplacement (seek). | 0 <= exp_depl <= taille dufichier. | |
Abréviation désignant le fichier ouvert. | Aucune. |
# Ouverture d'un fichier pour écriture avec troncature préliminaire
Openofilpath('tmp','rdfile',''), 1024
# Fermeture du dernier fichier ouvert pour écriture
Openo
# On veut écrire sur la sortie standard (écran)
Openo "*"
# Création d'un fichier rempli d'octets nuls !
NOMFIC = '/tmp/octets.nuls' : TAILLE = 100000
OpenoNOMFIC :# Ouverture+création si inexistant,troncature
Openo NOMFIC, TAILLE :# Réouverture en l'amenant à la bonne taille
# Ouverture d'un fichier se trouvant sur la machine "distrib"
Openo"distrib@"+[L]NOMFIC
# Ouverture du fichier X3.ini se trouvant sur le client
Openo"#@C:\X3\X3.ini"
# Ouverture de deux fichiers
Openofilpath('tmp','rdfile1','') Using [YYY]
Openo filpath('tmp','rdfile2','')Using [ZZZ]
# Fermeture des deux fichiers précédemment ouvert
Openo Using [YYY]
Openo Using [ZZZ]
Openopermet d'ouvrir un fichier pour écriture par Wrseq et Putseq.
Par convention, le poste client est désigné par le serveur #.
La valeur donnée en 2ème paramètre permet de tronquer le fichier au préalable à une longueur donnée avant de commencer les écritures, c'est-à-dire :
Lorsque l'ouverture est faite, la fonction adxseek(1) ou adxseek(abrev) contient la position courante du pointeur, c'est-à-dire ici la taille actuelle du fichier éventuellement tronqué.
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 Openoest utilisé avec un nom de fichier égal à '*', la sortie standard d'Adonix (enprincipe l'écran) est affectée au fichier ouvert, ce qui permet d'écrire lescaractères à l'écran sans décodage.
Dans tous les cas, Openoconserve le fichier avec tous ses liens s'il y en a (il ne fait jamaisd'effacement du fichier, toujours des troncatures). Pour supprimer les liens dufichier s'il existe, il faut l'effacer ou le recopier au préalable (par exemplegrâce à l'instruction System).
Si aucun paramètre de troncature n'est donné,
Openocrée un fichier s'il n'existe pas, seulement si celui-ci a été ouvert pourtroncature (exp_depl = 0) ou pour ajout en fin de fichier (exp_depl < 0).Dans les autres cas, l'erreur PAFIC est provoquée.
Pour ne pas avoir à effacer le fichier à tronquer,
Il importe de prendre garde aux accès concurrents à un fichier ouvert par
Les écritures dans un fichier étant bufferisées, elles ne sont effectivesqu'après la fermeture de ce fichier par l'
En web, il n'est pas possible d'ouvrir un fichier sur le poste client.
ERMODE(10) | exp_nomficn'est pas de type Char ou exp_depl n'est pas de type numérique. |
ERDOM(50) | Le2ème argument n'est pas entier. |
ERMDISK(44) | Plusde place sur disque. |
ERACCE(27) | Accèsimpossible (permission refusée). |
PAFIC(20) | Fichier(ou répertoire du chemin d'accès) inexistant. |
ERULIM(65) | Taillemaxi autorisée pour un fichier atteinte. |
ERCHAN(60) | Pasassez de canaux disponibles pour l'ouverture (qui en nécessite 1). |
ERSYST(25) | Erreursystème (problème à la connexion sur machine distante). |
OPENI - OPENIO - SEEK - GETSEQ - PUTSEQ - RDSEQ - WRSEQ - IOMODE -ADXIFS - ADXIRS -
Adonix X3(r) L4G |