/****************************************************************/
Interface IArchive Defaut TailleSegment 2 ConserverObjets
/* Objet : Interface definissant une archive. */
/****************************************************************/
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'Objet. */
/*-------------------------------------------------------------*/
Prive :
EstInstanceDe : Type Lecture Public;
/*-------------------------------------------------------------*/
/* Proprietes propres. */
/*-------------------------------------------------------------*/
Prive :
NomArchive : Caractere Lecture Public;
PointMontageArchive : Caractere Lecture Public;
Droits : DroitsDAcces Lecture Public;
/*-------------------------------------------------------------*/
/* 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;
/*-------------------------------------------------------------*/
/* Methodes propres. */
/*-------------------------------------------------------------*/
Public :
Constructeur Habilitation (NomDeLArchive : Caractere, PointDeMontage : Caractere,
MotDePasse : Nul Ou Caractere=Nul, DroitsDemandes : DroitsDAcces=LectureEcriture);
Prive :
Destructeur(MettreEnAnteMemoire : Booleen) Retourner Booleen;
Fin Interface
L'interface IArchive modélise une archive de format quelconque : Up ! Archive, format PkWare de WinZip, format Tar d'Unix, etc.
L'interface IArchive possède un constructeur explicite dont les paramètres NomDeLArchive, PointDeMontage, MotDePasse et DroitsDemandes représentent respectivement le nom du fichier de l'archive, son point de montage dans le système de fichiers virtuel, le mot de passe la protégeant et les droits d'accès demandés.
Le paramètre NomDeLArchive a pour valeur un nom de fichier complet. L'extension dépend du format de l'archive retenu.
Le paramètre PointDeMontage a pour valeur un nom de répertoire virtuel.
Selon le format retenu :
Si l'archive n'existe pas, elle est créée. Si l'archive existe déjà, elle est ouverte.
Si une erreur survient lors de l'ouverture de l'archive, l'exception ArchiveInvalide ou MotDePasseArchiveInvalide est envoyée.
Variable
/******/
ArchivePatients : IArchive;
ArchiveProspects : IArchive;
Principal
/*******/
Debut
...
Si ArchivePatients==ArchiveProspects Alors
/* Egalité entre deux archives. */
...
Fin Si
Si ArchivePatients!=ArchiveProspects Alors
/* Inégalité entre deux archives. */
...
Fin Si
Fin Principal
- | - | - | - | - | - | - | - | - |