Le fichier source est ${UPS_HOME}/upsvtm/demo/${UPS_LANGUAGE}/collection.upl.
upscmp Source=collection.upl
collection
upssng Source=collection.upl
Source Composant "Exemple d'emploi de l'interface collection" Version 4.0.0;
Fonction F(O1 : Nul Ou Caractere, O2 : Nul Ou Caractere) Retourner
ComparaisonObjet
/*********************************************************************************/
Debut
Si O1==Nul Ou O2==Nul Alors
Retourner ComparaisonNul;
Fin Si
Si O1<O2 Alors
Retourner ComparaisonAvant;
Fin Si
Si O1>O2 Alors
Retourner ComparaisonApres;
Fin Si
Retourner ComparaisonEgal;
Fin Fonction
Procedure EcrireIterateur(M : Caractere, I : IterateurDe Caractere)
/*****************************************************************/
Variable
/******/
C : Caractere;
Debut
Ecran.Ecrire(M);
Pour C=I.ParcoursAuDebut() JusquA I.DernierElement() Pas I.Suivant()
Faire
Ecran.Ecrire(C);
Fin Pour
Ecran.Ecrire("\n");
Fin Procedure
Procedure UtiliserCollection(M : Caractere, C : CollectionDe Caractere)
/*********************************************************************/
Variable
/******/
C2 : Nul Ou CollectionDe Caractere;
Debut
C2=C.Gauche(3);
EcrireIterateur(M+".Gauche(3)",IIterateur(C2));
C2=C.Droite(5);
EcrireIterateur(M+".Droite(5)",IIterateur(C2));
Fin Procedure
Principal
/*******/
Variable
/******/
A : Nul Ou ArbreBinaireDe Caractere;
L : Nul Ou ListeDe Caractere;
T : Tableau[9] De Caractere;
Debut
A=ArbreBinaireDe(F, Vrai);
A+="AA";
A+="AB";
A+="AC";
A+="AD";
A+="AE";
A+="AF";
A+="AG";
A+="AH";
A+="AI";
L=ListeDe("LA");
L+="LB";
L+="LC";
L+="LD";
L+="LE";
L+="LF";
L+="LG";
L+="LH";
L+="LI";
T[0]="TA";
T[1]="TB";
T[2]="TC";
T[3]="TD";
T[4]="TE";
T[5]="TF";
T[6]="TG";
T[7]="TH";
T[8]="TI";
UtiliserCollection("A", ICollection(A));
UtiliserCollection("L", ICollection(L));
UtiliserCollection("T", ICollection(T));
Fin Principal