Le fichier source est ${UPS_HOME}/upsvtm/demo/${UPS_LANGUAGE}/sysarc.upl.
upscmp Source=sysarc.upl
sysarc
upssng Source=sysarc.upl
Source Composant "Exemple d'emploi d'Up ! Archive" Version 4.0.0;
ImporterModule
/*************/
UpsArc(<UpsArc>, ImporterDefinitions);
Variable
/******/
MonArchive : Nul Ou ArchiveUpsArc;
Principal
/*******/
Variable
UtilisateurProprietaire : Entier;
GroupeProprietaire : Entier;
DateDernierAcces : Nul Ou Date;
DateDerniereModification : Nul Ou Date;
DateCreation : Nul Ou Date;
EstCache : Booleen;
L1 : Nul Ou ListeDe FichierListe;
FL : Nul Ou FichierListe;
Debut
MonArchive=ArchiveUpsArc("${UPS_HOME}/demo/tmp/${UPS_USER}/monarchive.upa", "/monarchive");
MonArchive.ChangerModeCompression(ModeCompressionAucun);
CreerRepertoire("/monarchive/tmp");
CopierFichier("/tmp/essai.txt", "/monarchive/essai.txt");
CreerRepertoire("/monarchive/tmp2");
CreerFichier("/monarchive/tmp2/essai.txt");
Si IlExisteRepertoire("/monarchive/tmp2") Alors
Ecran.Ecrire("Il existe repertoire '/monarchive/tmp2'");
Fin Si
Si IlExisteFichier("/monarchive/tmp2/essai.txt") Alors
Ecran.Ecrire("Il existe fichier '/monarchive/tmp2/essai.txt'");
Fin Si
ChangerDroitsDAcces("/monarchive/tmp2/essai.txt", DroitLectureEcriture, DroitLecture, DroitLecture);
Selon LireDroitsDAcces("/monarchive/tmp2/essai.txt", ?, ?) Faire
Cas Dans (DroitLectureEcriture, DroitLectureEcritureExecution) Faire
Ecran.Ecrire("Lecture, Ecriture et Execution");
Fin Cas
Defaut
Ecran.Ecrire("Autres droits");
Fin Defaut
Fin Selon
CopierFichier("/monarchive/tmp2/essai.txt", "/monarchive/tmp2/essai.sav");
RenommerFichier("/monarchive/tmp2/essai.sav", "/monarchive/tmp2/essai.bak");
SupprimerFichier("/monarchive/tmp2/essai.bak");
CopierRepertoire("/monarchive/tmp2", "/monarchive/tmp3");
SupprimerRepertoire("/monarchive/tmp2");
RenommerRepertoire("/monarchive/tmp3", "/monarchive/tmp2");
SupprimerRepertoire("/monarchive/tmp2");
Si IlExisteRepertoire("/monarchive/tmp2") Alors
Ecran.Ecrire("Il existe repertoire '/monarchive/tmp2'");
Fin Si
Si IlExisteFichier("/monarchive/tmp2/essai.txt") Alors
Ecran.Ecrire("Il existe fichier '/monarchive/tmp2/essai.txt'");
Fin Si
ChangerRepertoireCourant("/monarchive/tmp");
Ecran.Ecrire("RepertoireCourant="+LireRepertoireCourant());
Ecran.Ecrire("Taille essai.txt="+Caractere(LireCaracteristiquesFichier("/monarchive/essai.txt")));
Ecran.Ecrire("Taille essai.txt="+Caractere(LireCaracteristiquesFichier("/monarchive/essai.txt",
UtilisateurProprietaire, GroupeProprietaire, DateDernierAcces, DateDerniereModification, DateCreation, EstCache)));
Ecran.Ecrire(UtilisateurProprietaire);
Ecran.Ecrire(GroupeProprietaire);
Ecran.Ecrire(Caractere(DateDernierAcces));
Ecran.Ecrire(Caractere(DateDerniereModification));
Si EstCache Alors
Ecran.Ecrire("Est cache");
Sinon
Ecran.Ecrire("N'est pas cache");
Fin Si
Ecran.Ecrire("\n");
L1=ListerFichiers("/monarchive/", Nul);
Pour FL=L1.ParcoursAuDebut() JusquA L1.DernierElement() Faire
Ecran.Ecrire(FL.NomFichier);
Fin Pour
Ecran.Ecrire("\n");
CreerRepertoire("UpsArc://monarchive/tmp2");
CreerFichier("UpsArc://monarchive/tmp2/essai.txt");
Si IlExisteRepertoire("UpsArc://monarchive/tmp2") Alors
Ecran.Ecrire("Il existe repertoire 'UpsArc://monarchive/tmp2'");
Fin Si
Si IlExisteFichier("UpsArc://monarchive/tmp2/essai.txt") Alors
Ecran.Ecrire("Il existe fichier 'UpsArc://monarchive/tmp2/essai.txt'");
Fin Si
ChangerDroitsDAcces("UpsArc://monarchive/tmp2/essai.txt", DroitLectureEcriture, DroitLecture, DroitLecture);
Selon LireDroitsDAcces("UpsArc://monarchive/tmp2/essai.txt", ?, ?) Faire
Cas Dans (DroitLectureEcriture, DroitLectureEcritureExecution) Faire
Ecran.Ecrire("Lecture, Ecriture et Execution");
Fin Cas
Defaut
Ecran.Ecrire("Autres droits");
Fin Defaut
Fin Selon
CopierFichier("UpsArc://monarchive/tmp2/essai.txt", "UpsArc://monarchive/tmp2/essai.sav");
RenommerFichier("UpsArc://monarchive/tmp2/essai.sav", "UpsArc://monarchive/tmp2/essai.bak");
SupprimerFichier("UpsArc://monarchive/tmp2/essai.bak");
CopierRepertoire("UpsArc://monarchive/tmp2", "UpsArc://monarchive/tmp3");
SupprimerRepertoire("UpsArc://monarchive/tmp2");
RenommerRepertoire("UpsArc://monarchive/tmp3", "UpsArc://monarchive/tmp2");
SupprimerRepertoire("UpsArc://monarchive/tmp2");
Si IlExisteRepertoire("UpsArc://monarchive/tmp2") Alors
Ecran.Ecrire("Il existe repertoire 'UpsArc://monarchive/tmp2'");
Fin Si
Si IlExisteFichier("UpsArc://monarchive/tmp2/essai.txt") Alors
Ecran.Ecrire("Il existe fichier 'UpsArc://monarchive/tmp2/essai.txt'");
Fin Si
ChangerRepertoireCourant("UpsArc://monarchive/tmp");
Ecran.Ecrire("RepertoireCourant="+LireRepertoireCourant());
Ecran.Ecrire("Taille essai.txt="+Caractere(LireCaracteristiquesFichier("UpsArc://monarchive/essai.txt")));
Ecran.Ecrire("Taille essai.txt="+Caractere(LireCaracteristiquesFichier("UpsArc://monarchive/essai.txt",
UtilisateurProprietaire, GroupeProprietaire, DateDernierAcces, DateDerniereModification, DateCreation, EstCache)));
Ecran.Ecrire(UtilisateurProprietaire);
Ecran.Ecrire(GroupeProprietaire);
Ecran.Ecrire(Caractere(DateDernierAcces));
Ecran.Ecrire(Caractere(DateDerniereModification));
Si EstCache Alors
Ecran.Ecrire("Est cache");
Sinon
Ecran.Ecrire("N'est pas cache");
Fin Si
Ecran.Ecrire("\n");
L1=ListerFichiers("UpsArc://monarchive/", Nul);
Pour FL=L1.ParcoursAuDebut() JusquA L1.DernierElement() Faire
Ecran.Ecrire(FL.NomFichier);
Fin Pour
Ecran.Ecrire("\n");
MonArchive=Nul;
Fin Principal