Les calendriers

Ce programme présente l'usage des calendriers de planification de tâches.

Le fichier source est ${UPS_HOME}/upsvtm/demo/${UPS_LANGUAGE}/calendrier.upl.

Mode compilé

Commande de compilation

upscmp Source=calendrier.upl

Commande d'exécution

calendrier

Mode interprété

upssng Source=calendrier.upl

Fichier source

Source Composant "Exemple d'emploi des calendriers" Version 4.0.0;

Variable
/******/
FileDAttente
/**********/

Procedure AFaire1()
/*****************/
Debut
Ecran.Ecrire("Dans AFaire1");
Ecran.Ecrire("Date="+Caractere(DateSysteme()));
Ecran.Ecrire("\n");
Fin Procedure

Procedure AFaire2()
/*****************/
Debut
Ecran.Ecrire("Dans AFaire2");
Ecran.Ecrire("Date="+Caractere(DateSysteme()));
Ecran.Ecrire("\n");
Fin Procedure

Principal
/*******/
Debut
MaFile.ActiverJournal(Vrai);
D=DateSysteme();
Ecran.Ecrire("Reference="+Caractere(D));

C1=Calendrier("MonCalendrier1");
PC11=PeriodeCalendrier(PeriodeJournaliere, D+10, 10);
C1.AjouterPeriodeIncluse(PC11);
PC12=PeriodeCalendrier(PeriodeJournaliere, D+20, 30, Nul, D+60);
C1.AjouterPeriodeExclue(PC12);

C2=Calendrier("MonCalendrier2");
PC2=PeriodeCalendrier(PeriodeHebdomadaire, D+20, 20);
C2.AjouterPeriodeIncluse(PC2);

T=AFaire1()||MaFile;
T.PlanifierPeriodiquement(C1);
T=AFaire2()||MaFile;
T.PlanifierPeriodiquement(C2);

Attendre(120.0);
C1.SupprimerPeriodeIncluse(PC11);
C1.SupprimerPeriodeExclue(PC12);

Attendre(120.0);
C2.SupprimerPeriodeIncluse(PC2);

Ecran.Ecrire("Fini");
Fin Principal

Résultat de l'exécution

Reference=20/04/2004 16:19:20 Dans AFaire1 Date=20/04/2004 16:19:30 Dans AFaire2 Date=20/04/2004 16:19:40 Dans AFaire1 Date=20/04/2004 16:19:50 Dans AFaire2 Date=20/04/2004 16:20:00 Dans AFaire1 Date=20/04/2004 16:20:00 Dans AFaire2 Date=20/04/2004 16:20:20 Dans AFaire1 Date=20/04/2004 16:20:20 Dans AFaire1 Date=20/04/2004 16:20:30 Dans AFaire2 Date=20/04/2004 16:20:40 Dans AFaire1 Date=20/04/2004 16:20:40 Dans AFaire1 Date=20/04/2004 16:20:50 Dans AFaire2 Date=20/04/2004 16:21:00 Dans AFaire1 Date=20/04/2004 16:21:00 Dans AFaire1 Date=20/04/2004 16:21:10 Dans AFaire2 Date=20/04/2004 16:21:20 Dans AFaire2 Date=20/04/2004 16:21:40 Dans AFaire2 Date=20/04/2004 16:22:00 Dans AFaire2 Date=20/04/2004 16:22:20 Dans AFaire2 Date=20/04/2004 16:22:40 Dans AFaire2 Date=20/04/2004 16:23:00