Le fichier source est ${UPS_HOME}/upssdk/demo/${UPS_LANGUAGE}/persistant.upl.
upscmp Source=persistant.upl Persistant=Oui
persistant
upssng Source=persistant.upl Persistant=Oui
Source Composant "Exemple d'emploi de la persistance" Version 4.0.0;
Enumere
/*****/
Couleur Dans (Bleu="bleu", Blanc="blanc", Rouge="rouge");
Type TT1 Defaut
/*************/
A1 : Caractere;
B1 : Nul Ou Date;
C1 : Nul Ou Entier;
C2 : Entier;
D1 : Nul Ou Couleur;
D2 : Couleur;
Constructeur();
Fin Type
Type TT2 Defaut
/*************/
A1 : Caractere;
B1 : Nul Ou Date;
C1 : Nul Ou Entier;
C2 : Entier;
D1 : Nul Ou Couleur;
D2 : Couleur;
Constructeur();
Prive :
/*****/
Procedure AllouerRessource();
Procedure LibererRessource();
Fin Type
Variable
/******/
A1 : Caractere;
B1 : Nul Ou Date;
C1 : Nul Ou Entier;
C2 : Entier;
D1 : Nul Ou Couleur;
D2 : Couleur;
E1 : TT1;
E2 : TT2;
Prive :
/*****/
Procedure TT2.AllouerRessource()
/******************************/
Debut
Fin Procedure
Procedure TT2.LibererRessource()
/******************************/
Debut
Fin Procedure
Principal
/*******/
Debut
A1+="A";
Ecran.Ecrire(A1);
Si B1==Nul Alors
B1=Date(01, 01, 1900);
Sinon
B1=B1.AjouterAnnees(1);
Fin Si
Ecran.Ecrire(Caractere(B1));
Si C1==Nul Alors
C1=1;
Sinon
C1++;
Fin Si
Ecran.Ecrire(C1);
Ecran.Ecrire(++C2);
Si (D1==Nul) Ou (D1==Rouge) Alors
D1=Bleu;
SinonSi D1==Bleu Alors
D1=Blanc;
Sinon
D1=Rouge;
Fin Si
Ecran.Ecrire(Couleur(D1));
Si D2==Rouge Alors
D2=Bleu;
SinonSi D2==Bleu Alors
D2=Blanc;
Sinon
D2=Rouge;
Fin Si
Ecran.Ecrire(Couleur(D2));
Ecran.Ecrire("\n");
E1.A1+="A";
Ecran.Ecrire(E1.A1);
Si E1.B1==Nul Alors
E1.B1=Date(01, 01, 1900);
Sinon
E1.B1=E1.B1.AjouterAnnees(1);
Fin Si
Ecran.Ecrire(Caractere(E1.B1));
Si E1.C1==Nul Alors
E1.C1=1;
Sinon
E1.C1++;
Fin Si
Ecran.Ecrire(E1.C1);
Ecran.Ecrire(++E1.C2);
Si (E1.D1==Nul) Ou (E1.D1==Rouge) Alors
E1.D1=Bleu;
SinonSi E1.D1==Bleu Alors
E1.D1=Blanc;
Sinon
E1.D1=Rouge;
Fin Si
Ecran.Ecrire(Couleur(E1.D1));
Si E1.D2==Rouge Alors
E1.D2=Bleu;
SinonSi E1.D2==Bleu Alors
E1.D2=Blanc;
Sinon
E1.D2=Rouge;
Fin Si
Ecran.Ecrire(Couleur(E1.D2));
Ecran.Ecrire("\n");
E2.A1+="A";
Ecran.Ecrire(E2.A1);
Si E2.B1==Nul Alors
E2.B1=Date(01, 01, 1900);
Sinon
E2.B1=E2.B1.AjouterAnnees(1);
Fin Si
Ecran.Ecrire(Caractere(E2.B1));
Si E2.C1==Nul Alors
E2.C1=1;
Sinon
E2.C1++;
Fin Si
Ecran.Ecrire(E2.C1);
Ecran.Ecrire(++E2.C2);
Si (E2.D1==Nul) Ou (E2.D1==Rouge) Alors
E2.D1=Bleu;
SinonSi E2.D1==Bleu Alors
E2.D1=Blanc;
Sinon
E2.D1=Rouge;
Fin Si
Ecran.Ecrire(Couleur(E2.D1));
Si E2.D2==Rouge Alors
E2.D2=Bleu;
SinonSi E2.D2==Bleu Alors
E2.D2=Blanc;
Sinon
E2.D2=Rouge;
Fin Si
Ecran.Ecrire(Couleur(E2.D2));
Fin Principal