Le fichier source est ${UPS_HOME}/upsvtm/demo/${UPS_LANGUAGE}/annuaire.upl.
upscmp Source=annuaire.upl
annuaire
upssng Source=annuaire.upl
Source Composant "Exemple d'emploi des annuaires" Version 4.0.0;
ImporterModule UpsOrb(<UpsOrb.upi>, ImporterDefinitions);
Variable
/******/
A : Nul Ou Annuaire;
Procedure AfficherAnnuaire2(An : Nul Ou Annuaire, Chemin : Caractere)
/*******************************************************************/
Variable
L : Nul Ou ListeDe Caractere;
C : Caractere;
Debut
L=An.LireArborescenceAnnuaire(Chemin);
Si L!=Nul Alors
Pour C=L.ParcoursAuDebut() JusquA L.DernierElement() Faire
Si Chemin!="/" Alors
Ecran.Ecrire(Chemin+"/"+C);
AfficherAnnuaire2(An, Chemin+"/"+C);
Sinon
Ecran.Ecrire(C);
AfficherAnnuaire2(An,C);
Fin Si
Fin Pour
Fin Si
Fin Procedure
Procedure AfficherAnnuaire(An : Nul Ou Annuaire)
/**********************************************/
Debut
Ecran.Ecrire(An.NomAnnuaire);
AfficherAnnuaire2(An, "/");
Ecran.Ecrire("\n");
Fin Procedure
Principal
/*******/
Variable
/******/
L : Nul Ou ListeDe Caractere;
C : Caractere;
Debut
A=Annuaire("MonAnnuaire");
A.EcrireEntree("/coucou", "/COUCOU");
A.EcrireEntree("/hello", "/HELLO");
A.EcrireEntree("/guten tag", "/GUTEN TAG");
A.EcrireEntree("/coucou/coucou", "/COUCOU/COUCOU");
A.EcrireEntree("/hello/coucou", "/HELLO/COUCOU");
A.EcrireEntree("/coucou/hello", "/COUCOU/HELLO");
A.EcrireEntree("/hello/hello", "/HELLO/HELLO");
A.EcrireEntree("/hello/guten tag", "/HELLO/GUTEN TAG");
A.EcrireEntree("/coucou/guten tag", "/COUCOU/GUTEN TAG");
A.EcrireEntree("/guten tag/coucou", "/GUTEN TAG/COUCOU");
A.EcrireEntree("/guten tag/hello", "/GUTEN TAG/HELLO");
A.EcrireEntree("/guten tag/guten tag", "/GUTEN TAG/GUTEN TAG");
AfficherAnnuaire(A);
Ecran.Ecrire(Caractere(A.LireEntree("/coucou")));
Ecran.Ecrire(Caractere(A.LireEntree("/coucou/coucou")));
Ecran.Ecrire(Caractere(A.LireEntree("/coucou/guten tag")));
Ecran.Ecrire(Caractere(A.LireEntree("/coucou/hello")));
Ecran.Ecrire(Caractere(A.LireEntree("/hello")));
Ecran.Ecrire(Caractere(A.LireEntree("/hello/coucou")));
Ecran.Ecrire(Caractere(A.LireEntree("/hello/guten tag")));
Ecran.Ecrire(Caractere(A.LireEntree("/hello/hello")));
Ecran.Ecrire(Caractere(A.LireEntree("/guten tag")));
Ecran.Ecrire(Caractere(A.LireEntree("/guten tag/coucou")));
Ecran.Ecrire(Caractere(A.LireEntree("/guten tag/guten tag")));
Ecran.Ecrire(Caractere(A.LireEntree("/guten tag/hello")));
Ecran.Ecrire("\n");
A.SupprimerEntree("/hello/hello");
A.SupprimerEntree("/guten tag", Vrai);
A.EcrireEntree("/hello", "/HELLO !!!");
A.EcrireEntree("/coucou/hello", "/COUCOU/HELLO !!!");
A.RenommerEntree("/coucou", "/salut", Vrai);
A.RenommerEntree("/hello/guten tag", "/good morning/schluss");
Ecran.Ecrire(Caractere(A.LireEntree("/hello")));
Ecran.Ecrire(Caractere(A.LireEntree("/salut/hello")));
Ecran.Ecrire(Caractere(A.LireEntree("/salut")));
Ecran.Ecrire("\n");
AfficherAnnuaire(A);
AnnuaireLocal.EcrireEntree("/coucou", "/COUCOU");
AnnuaireLocal.EcrireEntree("/hello", "/HELLO");
AnnuaireLocal.EcrireEntree("/guten tag", "/GUTEN TAG");
AnnuaireLocal.SupprimerEntree("/hello");
AnnuaireLocal.RenommerEntree("/guten tag", "/schluss");
AfficherAnnuaire(AnnuaireLocal);
L=LireArborescenceAnnuaireGlobal(");
Pour C=L.ParcoursAuDebut() JusquA L.DernierElement() Faire
Ecran.Ecrire(C+"="+LireEntreeAnnuaireGlobal(C));
Fin Pour
Fin Principal