Les fichiers sources sont dans le répertoire ${UPS_HOME}/upssdk/demo/${UPS_LANGUAGE}/libb/.
upscmp Source=libb.upl
Source Module "Exemple de bibliothèque dynamique" Version 4.0.0 ModuleDynamique;
Composant Dans "c:/up/exemples/libb1.upl";
Composant Dans "c:/up/exemples/libb2.upl";
Source Composant "Exemple de bibliothèque dynamique" Version 4.0.0 RattacherA "c:/up/exemples/libb.upl";
Constante
/*******/
ConB1A=1;
ConB1B=2.9;
Protege :
/*******/
ConB1C=2;
ConB1D=3.9;
Prive :
/*****/
ConB1E=3;
ConB1F=4.9;
Enumere
/*****/
EnuB1A Dans (EnuB1A_1, EnuB1A_2, EnuB1A_3);
Protege :
/*******/
EnuB1B Dans (EnuB1B_1, EnuB1B_2, EnuB1B_3);
Prive :
/*****/
EnuB1C Dans (EnuB1C_1, EnuB1C_2, EnuB1C_3);
Variable
/******/
VarB1A : Entier;
VarB1B : Reel;
Protege :
/*******/
VarB1C : Entier;
VarB1D : Reel;
Prive :
/*****/
VarB1E : Entier;
VarB1F : Reel;
Public :
/******/
VarB1G : EnuB1A;
Protege :
/*******/
VarB1H : EnuB1B;
Prive :
/*****/
VarB1I : EnuB1C;
Prive :
/*****/
Procedure ProB1C(A : Entier, B : Reel, C : EnuB1C)
/************************************************/
Debut
Ecran.Ecrire("Debut ProB1C");
Ecran.Ecrire(ConB1A);
Ecran.Ecrire(ConB1B);
VarB1A=A;
Ecran.Ecrire(VarB1A);
VarB1B=B;
Ecran.Ecrire(VarB1B);
VarB1I=C;
Ecran.Ecrire("Fin ProB1C");
Fin Procedure
Protege :
/*******/
Procedure ProB1B(A : Entier, B : Reel, C : EnuB1B)
/************************************************/
Debut
Ecran.Ecrire("Debut ProB1B");
Ecran.Ecrire(ConB1C);
Ecran.Ecrire(ConB1D);
VarB1C=A;
Ecran.Ecrire(VarB1C);
VarB1D=B;
Ecran.Ecrire(VarB1D);
VarB1H=C;
Ecran.Ecrire("Fin ProB1B");
Fin Procedure
Public :
/******/
Procedure ProB1A(A : Entier, B : Reel, C : EnuB1A)
/************************************************/
Debut
Ecran.Ecrire("Debut ProB1A");
Ecran.Ecrire(ConB1E);
Ecran.Ecrire(ConB1F);
VarB1E=A;
Ecran.Ecrire(VarB1E);
VarB1F=B;
Ecran.Ecrire(VarB1F);
ProB1C(A*2, B*2, EnuB1C_2);
VarB1G=C;
Ecran.Ecrire("Fin ProB1A");
Fin Procedure
Source Composant "Exemple de bibliothèque dynamique" Version
4.0.0 RattacherA "c:/up/exemples/libb.upl";
Constante
/*******/
ConB2A=1;
ConB2B=2.9;
Protege :
/*******/
ConB2C=2;
ConB2D=3.9;
Prive :
/*****/
ConB2E=3;
ConB2F=4.9;
Enumere
/*****/
EnuB2A Dans (EnuB2A_1, EnuB2A_2, EnuB2A_3);
Protege :
/*******/
EnuB2B Dans (EnuB2B_1, EnuB2B_2, EnuB2B_3);
Prive :
/*****/
EnuB2C Dans (EnuB2C_1, EnuB2C_2, EnuB2C_3);
Variable
/******/
VarB2A : Entier;
VarB2B : Reel;
Protege :
/*******/
VarB2C : Entier;
VarB2D : Reel;
Prive :
/*****/
VarB2E : Entier;
VarB2F : Reel;
Public :
/******/
VarB2G : EnuB2A;
Protege :
/*******/
VarB2H : EnuB2B;
Prive :
/*****/
VarB2I : EnuB2C;
Prive :
/*****/
Procedure ProB2C(A : Entier, B : Reel, C : EnuB2C)
/************************************************/
Debut
Ecran.Ecrire("Debut ProB2C");
Ecran.Ecrire(ConB2A);
Ecran.Ecrire(ConB2B);
VarB2A=A;
Ecran.Ecrire(VarB2A);
VarB2B=B;
Ecran.Ecrire(VarB2B);
VarB2I=C;
Ecran.Ecrire("Fin ProB2C");
Fin Procedure
Protege :
/*******/
Procedure ProB2B(A : Entier, B : Reel, C : EnuB2B)
/************************************************/
Debut
Ecran.Ecrire("Debut ProB2B");
Ecran.Ecrire(ConB2C);
Ecran.Ecrire(ConB2D);
VarB2C=A;
Ecran.Ecrire(VarB2C);
VarB2D=B;
Ecran.Ecrire(VarB2D);
VarB2H=C;
Ecran.Ecrire("Fin ProB2B");
Fin Procedure
Public :
/******/
Procedure ProB2A(A : Entier, B : Reel, C : EnuB2A)
/************************************************/
Debut
Ecran.Ecrire("Debut ProB1A");
Ecran.Ecrire(ConB2E);
Ecran.Ecrire(ConB2F);
VarB2E=A;
Ecran.Ecrire(VarB2E);
VarB2F=B;
Ecran.Ecrire(VarB2F);
ProB2C(A*2, B*2, EnuB2C_2);
ProB2B(A*3, B*3, EnuB2B_2);
ProB1B(A*4, B*4, EnuB1B_2);
VarB2G=C;
Ecran.Ecrire("Fin ProB2A");
Fin Procedure