Définition...
Opérateurs...
Exemple...
Traduction...
/***************************************************************/
Type Fichier Implemente Public : IFlux Defaut Final
/* Objet : Encapsulation du type Fichier. */
/***************************************************************/
Public :
/*-------------------------------------------------------------*/
/* Heritage des methodes de IFlux. */
/*-------------------------------------------------------------*/
Constructeur();
Procedure Lire(B : Booleen Sortie);
Fonction Lire(B : Binaire Sortie, Nombre : Nul Ou Entier) Retourner Nul Ou Entier;
Fonction Lire(C : Caractere Sortie, Nombre : Nul Ou Entier) Retourner Nul Ou Entier;
Procedure Lire(E : Entier Sortie);
Procedure Lire(R : Reel Sortie);
Fonction LireUneLigne(C : Caractere Sortie, Nombre : Nul Ou Entier) Retourner Nul Ou Entier;
Fonction LireUnMot(C : Caractere Sortie, Nombre : Nul Ou Entier) Retourner Nul Ou Entier;
Procedure Ecrire(B : Nul Ou Booleen);
Procedure Ecrire(C : Nul Ou Binaire);
Procedure Ecrire(C : Nul Ou Caractere);
Procedure Ecrire(E : Nul Ou Entier);
Procedure Ecrire(R : Nul Ou Reel);
Procedure Fermer();
Fonction Optimiser(Invariant) LirePageDeCode() Retourner PagesDeCodesSupportees;
Procedure ChangerPageDeCode(P : PagesDeCodesSupportees);
/*-------------------------------------------------------------*/
/* Methodes propres. */
/*-------------------------------------------------------------*/
Constructeur Optimiser(Invariant, NulAbsorbant) (NomDuFichier : Nul Ou Caractere, ModeOuverture : ModeOuvertureFichier);
Constructeur Optimiser(Invariant, NulAbsorbant) (NomDuFichier : Nul Ou Caractere, ModeOuverture : ModeOuvertureFichier, TailleBufferIO : Entier);
Fonction LirePosition() Retourner Entier;
Procedure FixerPosition(Position : Entier);
Procedure DeposerSurDisque();
Procedure Effacer();
Procedure Vider();
Fin Type
Le type Fichier possède un constructeur explicite permettant d'ouvrir un fichier en lecture, en écriture ou en lecture-écriture selon le paramètre ModeOuverture. Pour connaître la signification de la valeur de ModeOuverture, veuillez vous reporter à la fiche ModeOuvertureFlux.
Si NomFichier ou ModeOuverture est Nul, le fichier n'est pas ouvert.
Si le nom du fichier comporte un fichier d'accès, alors le séparateur de chemin peut être indifféremment division /
ou division inversée \
. En ce cas, Up ! System réalise la transcription du séparateur en le séparateur natif de la plate-forme.
Le nom du fichier peut comporter des variables environnement précédées par dollar $
. En ce cas, Up ! System réalise la substitution des variables environnement par leur valeur.
Le nom du fichier peut comporter un accès distant introduit par l'opérateur arrobase @
. En ce cas, l'opérateur doit introduire un nom d'un serveur disponible parmi les noeuds de la topologie gérée par Up ! Object Request Broker. L'objet est alors créé sur ce serveur et non en local.
Le paramètre TailleBufferIO permet de spécifier la taille du tampon en octets pour faire des accès par bloc. Par défaut, sa valeur est de 1024 octets. Une taille de zéro signifie de faire des lectures/écritures directement sur le disque.
Si une erreur survient lors de l'ouverture, les exceptions OuvertureEcriture ou OuvertureLecture sont envoyées.
Variable
FichesPatients : Fichier;
/* 'FichesPatients' est une variable de type fichier. Elle est toujours renseignée. */
FichesProspects : Nul Ou Fichier;
/* 'FichesProspects' est une variable de type fichier. Elle n'est pas toujours renseignee. */
Principal
Debut
FichesPatients=Fichier("$APP_HOME/fiches.txt", LectureTexte);
/* Ouverture du fichier 'fiches.txt' en lecture mode texte. Le chemin d'accès à ce fichier est donné par la variable environnement APP_HOME. */
...
Si FichesPatients==FichesProspects Alors
/* Egalité entre deux fichiers. */
...
Fin Si
Si FichesPatients!=FichesProspects Alors
/* Inégalité entre deux fichiers. */
...
Fin Si
Fin Principal
Akte | File | 文件 | Archivo | - | - | - | - |