/***************************************************************/
Type Enregistrement Defaut Final TailleSegment 8 ConserverObjets
/* Objet : Destription d'un enregistrement. */
/***************************************************************/
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'Objet. */
/*-------------------------------------------------------------*/
Prive :
EstInstanceDe : Type Lecture Public;
/*-------------------------------------------------------------*/
/* Proprietes propres. */
/*-------------------------------------------------------------*/
Prive :
NomEnregistrement : Caractere Virtuel Lecture Public Trace;
TypeEnregistrement : Nul Ou Type 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 :
Fonction ListerChamps(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou Champ;
Constructeur Habilitation (Nom : Caractere, TypeDeLEnregistrement : Nul Ou Type, ListeDeChamps : ListeDe Nul Ou Champ);
Operateur Optimiser(Invariant, NulAbsorbant) ==(E : Nul Ou EchangeIDoc) Retourner Nul Ou Booleen;
Operateur Optimiser(Invariant, NulAbsorbant) !=(E : Nul Ou EchangeIDoc) Retourner Nul Ou Booleen;
Prive :
Destructeur(MettreEnAnteMemoire : Booleen) Retourner Booleen;
Fin Type
Le type Enregistrement modélise un enregistrement composés d'une succession de champs.
Le type Enregistrement possède un constructeur pour lesquels les paramètres Nom, TypeDeLEnregistrement et ListeDeChamps représentent respectivement son nom, son type et la liste de ses champs.
Le type TypeDeLEnregistrement associé à l'enregistrement doit être non Nul s'il correspond à un objet à exporter ou à importer : à chaque champ de cet enregistrement correspond une propriété de ce type, dans le même ordre et du même type. Le type TypeDeLEnregistrement doit être Nul pour ignorer l'enregistrement.
Variable
/******/
MesChampsEmploye : Nul Ou ListeDe Nul Ou Enregistrement;
MonEnregistrementEmploye : Nul Ou Enregistrement;
Principal
/*******/
Debut
...
MesChampsEmploye=ListeDe(Enregistrement(Nul, 0, 5, EnregistrementTypeCaractere, "Z2EDP"));
MesChampsEmploye+=Enregistrement("Nom", 5, 20, EnregistrementTypeCaractere);
MesChampsEmploye+=Enregistrement("Numero", 30, 5, EnregistrementTypeEntier);
MesChampsEmploye+=Enregistrement("Salaire", 40, 10, EnregistrementTypeReel);
MonEnregistrementEmploye=Enregistrement("Employe", Employe, MesChampsEmploye);
...
Fin Principal
- | - | - | - | - | - | - | - | - |