/****************************************************************/
Type BoiteAuxLettresElectronique Defaut Final TailleSegment 2 ConserverObjets
/* Objet : Definition d'une boite aux lettres electronique. */
/****************************************************************/
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'Objet. */
/*-------------------------------------------------------------*/
Prive :
EstInstanceDe : Type Lecture Public;
/*-------------------------------------------------------------*/
/* Proprietes propres. */
/*-------------------------------------------------------------*/
Prive :
UtilisateurPere : Nul Ou Utilisateur Virtuel Lecture Public Trace;
PointDeMontageArchive : Caractere Virtuel 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 (U : Nul Ou Utilisateur, M : Nul Ou Caractere=Nul);
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;
Procedure Habilitation Supprimer();
Fonction Habilitation Optimiser(NulAbsorbant) CreerCourrierElectronique(ObjetDuCourrier : Nul Ou Caractere, EstUrgent : Booleen=Faux, AdresseElectronique : Nul Ou Caractere=Nul) Retourner Nul Ou CourrierElectronique;
Fonction Habilitation ListerCourriersElectroniques(NomRepertoire : Nul Ou Caractere, CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou CourrierElectronique;
Procedure Habilitation EnvoyerCourriersElectroniques();
Procedure Habilitation AjouterAdresseElectronique(AdresseElectronique : Caractere);
Procedure Habilitation ModifierAdresseElectronique(AdresseElectroniqueAvant : Caractere, AdresseElectroniqueApres:Caractere);
Procedure Habilitation SupprimerAdresseElectronique(AdresseElectronique : Caractere);
Fonction Habilitation Optimiser(NulAbsorbant) ImporterCourrierElectronique(NomFichier : Nul Ou Caractere,
NomRepertoire : Nul Ou Caractere, EstBrouillon : Booleen, EstEnvoye : Booleen, EstIndesirable : Booleen, EstNonLu : Booleen, EstRecu : Booleen,
EstRepondu : Booleen, EstSupprime : Booleen, EstTransfere : Booleen, EstUrgent : Booleen) Retourner Nul Ou CourrierElectronique;
Prive :
Destructeur(MettreEnAnteMemoire : Booleen) Retourner Booleen;
Fin Type
Le type BoiteAuxLettresElectronique modélise un boîte aux lettres conservant les courriers électroniques.
Il possède un constructeur explicite possédant deux paramètres U et M représentant respectivement l'utilisateur d'appartenance et son mot de passe.
A la construction, si la boîte aux lettres existe, son archive est ouverte en lecture et écriture. Sinon, son archive est créée et formatée. A la destruction, l'archive est fermée sauf il a été demandé de la supprimer.
Voici les répertoires standards d'une boîte aux lettres :
Répertoire | Description |
/DRAFT | Pour conserver les courriers brouillon. |
/INBOX | Pour conserver les courriers nouvellement reçus. |
/OUTBOX | Pour conserver les courriers à envoyer. |
/TRASH | Corbeille où sont placés les courriers supprimés. |
Les fichiers et les répertoires de l'archive de la boîte aux lettres sont directement accessible par le point de montage PointDeMontageArchive.
Variable
/******/
BoitePatients : Nul Ou BoiteAuxLettresElectronique;
BoiteProspects : Nul Ou BoiteAuxLettresElectronique;
Principal
/*******/
Debut
...
BoitePatients=BoiteAuxLettresElectroniques("MesPatients", "MonMotDePasse");
BoiteProspects=BoiteAuxLettresElectroniques("MesClients", "MonMotDePasse");
...
Si BoitePatients==BoiteProspects Alors
/* Egalité entre deux boîtes aux lettres. */
...
Fin Si
Si BoitePatients!=BoiteProspects Alors
/* Inégalité entre deux boîtes aux lettres. */
...
Fin Si
Fin Principal
- | - | - | - | - | - | - | - | - |