Le fichier source est ${UPS_HOME}/upsvtm/demo/${UPS_LANGUAGE}/quota.upl.
upscmp Source=quota.upl
quota
upssng Source=quota.upl
Source Composant "Exemple d'emploi des quotas" Version 4.0.0;
Public :
/*****/
Type T Defaut Quota
/*****************/
C : Caractere;
Constructeur();
Constructeur(CC : Caractere);
Procedure Quota CalculerStatistiques();
Fin Type
Variable
/******/
Public :
/******/
L : Nul Ou ListeDe T;
Constructeur T(CC : Caractere)
/**************************/
Debut
C=CC;
Fin Constructeur
Procedure Quota T.CalculerStatistiques()
/**************************************/
Variable
/******/
I : Entier;
Debut
Pour I=0 JusquA 10000 Faire
Attendre(1.0);
Fin Pour
Fin Procedure
Procedure Quota CalculerStatistiquesGlobalement()
/***********************************************/
Variable
/******/
I : Entier;
Debut
Pour I=0 JusquA 10000 Faire
Attendre(1.0);
Fin Pour
Fin Procedure
Procedure Synchroniser AlimenterListe()
/*************************************/
Variable
/******/
I : Entier;
Debut
Pour I=0 JusquA 10000 Faire
Si L==Nul Alors
L=ListeDe(T("coucou"));
Sinon
L+=T("coucou");
Fin Si
Fin Pour
Fin Procedure
Principal
/*******/
Variable
/******/
O : T;
Debut
Connecter("Administrateur", ");
RoleAdministrateur.AjouterQuotaAppel("quota", "CalculerStatistiquesGlobalement", 10, 1.0);
RoleAdministrateur.AjouterQuotaType("quota", "T", 10, 1.0);
AttraperException
O.CalculerStatistiques();
TraiterException
Defaut
Ecran.Ecrire("Exception:"+Exception.MessageErreur);
Fin Defaut
Fin AttraperException
AttraperException
CalculerStatistiquesGlobalement();
TraiterException
Defaut
Ecran.Ecrire("Exception:"+Exception.MessageErreur);
Fin Defaut
Fin AttraperException
AttraperException
RoleAdministrateur.FixerQuotaEntrepot("Systeme", 1000);
AlimenterListe();
TraiterException
Defaut
Ecran.Ecrire(Exception:"+Exception.MessageErreur);
Fin Defaut
Fin AttraperException
Fin Principal