Le fichier source est ${UPS_HOME}/upssdk/demo/${UPS_LANGUAGE}/allouer.upl.
upscmp Source=allouer.upl
allouer
upssng Source=allouer.upl
Source Composant "Exemple de l'emploi d'Allouer / Liberer" Version 4.0.0;
Type TA Defaut
/************/
A : Entier;
Constructeur();
Prive :
Fonction Allouer() Retourner TA;
Procedure Liberer();
Fin Type
Variable
/******/
Prive :
L : Nul Ou ListeDe TA;
Prive :
Fonction TA.Allouer() Retourner TA
/********************************/
Variable
/******/
V : Nul Ou TA;
Debut
Si L!=Nul Alors
V=L.PremierElement();
L=L.Droite(L.NbElements-1);
Retourner V;
Fin Si
Retourner Objet.Allouer();
Fin Fonction
Prive :
Procedure TA.Liberer()
/********************/
Debut
Si L==Nul Alors
L=ListeDe(Objet);
Retourner;
Fin Si
Si L.NbElements==10 Alors
Objet.Liberer();
Retourner;
Fin Si
L=L+Objet;
Fin Procedure
Principal
Variable
/******/
A : Nul Ou TA;
B : Nul Ou TA;
Debut
A=TA();
A.A=1;
Ecran.Ecrire(A.A);
B=TA();
B.A=2;
Ecran.Ecrire(B.A);
A=Nul;
A=TA();
A.A=3;
Ecran.Ecrire(A.A);
Fin Principal