/***************************************************************/
Interface IFluxFormate Implemente Public : IFlux Defaut TailleSegment 4 ConserverObjets
/* Objet : Definition de l'interface pour les flux formates. */
/***************************************************************/
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'Objet. */
/*-------------------------------------------------------------*/
Prive :
EstInstanceDe : Type Lecture Public;
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'IFlux. */
/*-------------------------------------------------------------*/
Prive :
ModeOuverture : ModeOuvertureFlux Lecture Public Trace;
NomFlux : Caractere Lecture Public Trace;
FinDeFlux : Booleen Lecture Public;
ModeOptimisation : ModeOptimisationFlux Lecture Public;
EstMultiplexe : Booleen Lecture Public;
/*-------------------------------------------------------------*/
/* Proprietes propres. */
/*-------------------------------------------------------------*/
Prive :
FormatDuDocument : FormatsDocumentSupportes Lecture Public;
Public :
FormatPage : FormatsPageSupportes Virtuel;
HauteurPage : Entier Virtuel;
LargeurPage : Entier Virtuel;
HauteurEnteteDePage : Entier Virtuel;
HauteurPiedDePage : Entier Virtuel;
EspaceEnteteDePage : Entier Virtuel;
EspacePiedDePage : Entier Virtuel;
HauteurCorps : Entier Virtuel;
LargeurCorps : Entier Virtuel;
MargeHaute : Entier Virtuel;
MargeBasse : Entier Virtuel;
MargeGauche : Entier Virtuel;
MargeDroite : Entier Virtuel;
Orientation : OrientationPage Virtuel;
SauterLigneAutomatiquement : Booleen Virtuel;
NumeroPage : Entier Virtuel;
HauteurEnteteDeCorps>> : Entier Virtuel;
HauteurPiedDeCorps : Entier Virtuel;
TitreDocument : Nul Ou Caractere Virtuel;
/*-------------------------------------------------------------*/
/* Heritage des methodes d'Objet. */
/*-------------------------------------------------------------*/
Public :
Fonction Optimiser(Invariant) Identique(O : Nul Ou Objet) Retourner Nul Ou Booleen;
Procedure Convertir(O : Nul Ou Objet);
Fonction Optimiser(Invariant) CreeParLeServeur() Retourner Entier;
Fonction Optimiser(Invariant) CreeParLeProcessus() Retourner Entier;
Fonction Optimiser(Invariant) CreeDansLEntrepot() Retourner Entrepot;
Fonction Cloner(EntrepotCible : Nul Ou Entrepot=Nul, Profondeur : ModeClonage = ClonageObjetSeul) Retourner Nul Ou Objet;
Fonction LirePropriete(NomPropriete : Caractere) Retourner Nul Ou Objet;
Procedure EcrirePropriete(NomPropriete : Caractere, Valeur : Nul Ou Objet);
Fonction IncrementerDecrementerPropriete(NomPropriete : Nul Ou Caractere, Incrementer : Booleen, Prefixe : Booleen) Retourner Nul Ou Objet;
Procedure SupprimerPropriete(NomPropriete : Caractere);
Fonction Optimiser(Invariant) EnumererProprietes(NumeroPropriete : Entier, TypePropriete : Nul Ou Type=? Sortie, PeutEtreNul : Booleen=? Sortie, Aide : Nul Ou Caractere=? Sortie, NomEnumere : Nul Ou Caractere=? Sortie) Retourner Nul Ou Caractere;
Fonction Optimiser(Invariant) Adresse() Retourner Nul Ou Caractere;
Prive :
Fonction Exporter(E : Nul Ou IEchangeElementaire) Retourner Boolean;
Fonction Importer(E : Nul Ou IEchangeElementaire, EntrepotCible : Nul Ou Entrepot=Nul, EstFiltre : Booleen=Faux, V : Entier=0, R : Entier=0, C : Entier=0) Retourner Nul Ou Objet;
/*-------------------------------------------------------------*/
/* Heritage des methodes d'IFlux. */
/*-------------------------------------------------------------*/
Public :
Constructeur Habilitation ();
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) Retourner Nul Ou Entier;
Fonction LireUnMot(C : Caractere Sortie) 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);
Fonction LirePosition() Retourner Entier;
Procedure FixerPosition(Position : Entier, PositionReference : PositionFlux=PositionFluxDebut);
Procedure Vider();
Procedure Tronquer();
/*-------------------------------------------------------------*/
/* Methodes propres. */
/*-------------------------------------------------------------*/
Public :
Rappel ContenuEnteteDePage(F: IFluxFormate);
Rappel ContenuPiedDePage(F: IFluxFormate);
Rappel ContenuEnteteDeCorps(F: IFluxFormate);
Rappel ContenuPiedDeCorps(F: IFluxFormate);
Rappel TitreColonne(NomColonne : Caractere, Titre : Nul Ou Caractere=Nul Sortie);
Prive :
Destructeur(MettreEnAnteMemoire : Booleen) Retourner Booleen;
Fin Interface
L'interface IFluxFormate modélise un flux de données en entrée pour lecture, en sortie pour écriture ou en entrée-sortie pour lecture-écriture.
Le flux de données est structuré en un document qui peut être au format donné par les valeurs de l'énuméré FormatsDocumentSupportes.
L'intérêt est de pouvoir lire et écrire des données de ce flux en déléguant le traitement de la mise en forme à Up ! Document.
L'interface IFluxFormate possède un constructeur implicite l'initialisant à flux fermé.
Variable
/******/
FichesPatients : IFluxFormate;
/* 'FichesPatients' est une variable de type IFluxFormate. Elle est toujours renseignée. */
FichesProspects : Nul Ou IFluxFormate;
/* 'FichesProspects' est une variable de type fichier. Elle n'est pas toujours renseignee. */
Principal
/*******/
Debut
...
Si FichesPatients==FichesProspects Alors
/* Egalité entre deux flux formates. */
...
Fin Si
Si FichesPatients!=FichesProspects Alors
/* Inégalité entre deux flux formates. */
...
Fin Si
Fin Principal
- | - | - | - | - | - | - | - | - |