/****************************************************************/
Type ArchiveUpsArc Implemente Public : IArchive Defaut Final TailleSegment 2 ConserverObjets
/* Objet : Echange au format UpsArc. */
/****************************************************************/
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'Objet. */
/*-------------------------------------------------------------*/
Prive :
EstInstanceDe : Type Lecture Public;
/*-------------------------------------------------------------*/
/* Heritage des propriétés d'IArchive. */
/*-------------------------------------------------------------*/
Prive :
NomArchive : Caractere Lecture Public;
PointMontageArchive : Caractere Lecture Public;
Droits : DroitsDAcces Lecture Public;
/*-------------------------------------------------------------*/
/* Propriétés propres. */
/*-------------------------------------------------------------*/
Prive :
ModeCompression : ModeCompressionFlux 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;
/*-------------------------------------------------------------*/
/* Heritage des methodes d'IArchive. */
/*-------------------------------------------------------------*/
Public :
Constructeur Habilitation (NomDeLArchive : Caractere, PointDeMontage : Caractere,
MotDePasse : Nul Ou Caractere=Nul, DroitsDemandes : DroitsDAcces=LectureEcriture);
/*-------------------------------------------------------------*/
/* Methodes propres. */
/*-------------------------------------------------------------*/
Public :
Operateur Optimiser(Invariant, NulAbsorbant) ==(A : Nul Ou ArchiveUpsArc) Retourner Nul Ou Booleen;
Operateur Optimiser(Invariant, NulAbsorbant) !=(A : Nul Ou ArchiveUpsArc) Retourner Nul Ou Booleen;
Procedure Habilitation ChangerModeCompression(ModeDeCompression : ModeCompressionFlux=ModeCompressionAucun);
Procedure Habilitation Compacter();
Fonction Habilitation Verifier(EnvoyerMessage : Nul Ou Procedure (Libelle : Caractere)=Nul) Retourner Booleen;
Fonction Habilitation Reparer(EnvoyerMessage : Nul Ou Procedure (Libelle : Caractere)=Nul) Retourner Booleen;
Prive :
Destructeur(MettreEnAnteMemoire : Booleen) Retourner Booleen;
Fin Type
L'interface ArchiveUpsArc modélise une archive au format Up ! Archive.
L'interface ICanal 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.
Si le paramètre DroitsDemandes n'autorise pas l'écriture, alors l'archive est montée en lecture seule. Aucun accès en écriture n'est possible, même la vérification ou la réparation.
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 : ArchiveUpsArc;
ArchiveProspects : ArchiveUpsArc;
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
- | - | - | - | - | - | - | - | - |