Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: Partie III: Description des SD par Sup.: 5 Utilitaires divers Préc.: Obtention d'informations générales Index Table des matières


5.4 Manipulation de fichiers

   

Utilitaire DEFDIR

  

SUBROUTINE DEFDIR( , , , )

INTEGER UNIT, IPGD, ILON, M(*)

Il est conseillé d'appeler cet utilitaire après l'ouverture de tout fichier en accès direct.

En réalité, il n'est obligatoire d'appeler cet utilitaire qu'avant l'appel de modules utilisant MEFDIR (manipulation des fichiers en accès direct à l'aide des utilitaires OUVDIR, LECDIR, ECRDIR, FERDIR, ... volontairement omis dans ce guide). Depuis la mise en application de la norme [Fortran 77], il est possible d'éviter l'emploi de MEFDIR en utilisant directement les ordres OPEN, READ, WRITE, CLOSE.

UNIT est le numéro d'unité du fichier (seule sa valeur absolue importe).

IPGD est le plus grand numéro de page que pourra contenir le fichier.

ILON est la longueur en mots d'une page.

M est le super-tableau (inutilisé).

Utilitaire OUVRIR

  

SUBROUTINE OUVRIR( , , , , )

INTEGER UNIT, RECL, IOSTAT

CHARACTER*(*) FILE, SPEC

Cet utilitaire ouvre un fichier (voir aussi OUVRIS). L'appel de cet utilitaire assure une meilleure portabilité que l'utilisation directe de l'ordre OPEN.

UNIT
est le numéro d'unité du fichier. Dans un ordre OPEN, ce numéro apparaîtrait après le mot-clé UNIT.
FILE
est le nom du fichier. Dans un ordre OPEN, ce nom apparaîtrait après le mot-clé FILE, sauf s'il est égal à ' '.
SPEC
est la liste des spécifications. Dans un ordre OPEN, ces spécifications apparaîtraient après les mots-clés STATUS, ACCESS, FORM, BLANK :

( STATUS =) OLD, NEW, SCRATCH ou UNKNOWN
( ACCESS =) SEQUENTIAL ou DIRECT
( FORM =) FORMATTED ou UNFORMATTED
( BLANK =) NULL ou ZERO

Ces spécifications sont données dans un ordre quelconque, séparées par des virgules, les blancs étant ignorés.

Les valeurs par défaut sont celles de la norme [Fortran 77] :

STATUS = UNKNOWN
ACCESS = SEQUENTIAL
FORM = FORMATTED si ACCESS = SEQUENTIAL
UNFORMATTED si ACCESS = DIRECT
BLANK = NULL

RECL
est la longueur d'un enregistrement, en unités-machines (cf. IINFO('RECL')). Dans un ordre OPEN, cette longueur apparaîtrait après le mot-clé RECL.

IOSTAT
est un code de retour. Dans un ordre OPEN, ce code apparaîtrait après le mot-clé IOSTAT. Si aucune erreur n'intervient à l'ouverture, IOSTAT = 0.

Exemple d'appel :

CALL OUVRIR(10, 'POBA.DIRECT', 'OLD, DIRECT', 1024, IOSTAT)

Utilitaire OUVRIS

  

SUBROUTINE OUVRIS( , , , )

INTEGER UNIT, RECL

CHARACTER*(*) FILE, SPEC

Cet utilitaire ouvre un fichier et arrête l'exécution en cas d'erreur.

Il évite ainsi au programmeur d'effectuer lui-même le test :

CALL OUVRIR(UNIT,FILE,SPEC,RECL,IOSTAT)

IF (IOSTAT.NE.0) CALL ARRET(IOSTAT)

Utilitaire TRUNIT

  

SUBROUTINE TRUNIT( )

INTEGER UNIT

Cet utilitaire trouve un numéro d'unité libre, c'est-à-dire connecté à aucun fichier. Il est souvent appelé avant OUVRIR.


Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: Partie III: Description des SD par Sup.: 5 Utilitaires divers Préc.: Obtention d'informations générales Index Table des matières