L4G >  Openi  

Afficher tout Masquer tout

Openi permet d'ouvrir ou de fermer un fichier séquentiel en lecture seulement.

 

Syntaxe

   Openi [ exp_nomfic [, exp_depl ] ]  [ Using abrev ]

 

Paramètres

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.

 

Exemples

   # 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]

 

Description

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 :

  • La fonction adxseek(0) permet de connaître la position dans le fichier.
  • Il ne peut y avoir qu'un seul fichier séquentiel sans abréviation ouvert par Openi ou Openio, à un instant donné. L'ouverture en lecture d'un fichier aura pour action de refermer un fichier qui aurait été précédemment ouvert par Openi ou Openio.
  • Openi utilisé sans paramètre permet de fermer le fichier précédemment ouvert ou de faire cesser l'affectation du clavier en entrée.

Fichier avec abréviation :

  • La fonction adxseek(abrev) permet de connaître la position dans le fichier.
  • On ne peut pas avoir plusieurs fichiers ouverts sous la même abréviation à un instant donné. L'ouverture d'un fichier sous une  même abréviation ( y compris dans un sous-programme) aura pour effet de refermer le fichier ouvert précédemment.
  • Openi, utilisé avec la clause using abrev uniquement, permet de fermer le fichier précédemment ouvert sous cette abréviation.

Si le fichier est inexistant, une erreur (PAFIC) sera provoquée.

Particularités Web

En web, il n'est pas possible d'ouvrir un fichier sur le poste client.

Erreurs associées

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).

 

Mots-clés associés

OPENO - OPENIO - SEEK - GETSEQ - PUTSEQ - RDSEQ - WRSEQ - IOMODE - ADXIFS - ADXIRS - ADXIUM - ADXSEEK - ADXMAC - ADXMSO