Le fichier source est ${UPS_HOME}/upssdk/demo/${UPS_LANGUAGE}/ptrappel.upl.
upscmp Source=ptrappel.upl
ptrappel
upssng Source=ptrappel.upl
Source Composant "Exemple d'emploi des variables de type Procedure ou Fonction" Version 4.0.0;
Type T
/****/
Constructeur();
Procedure TP1();
Procedure TP2(AA : Caractere);
Fonction TF1() Retourner Booleen;
Fonction TF2() Retourner Entier;
Fonction TF3() Retourner Reel;
Fonction TF4(AA : Caractere) Retourner Caractere;
Fin Type
Type T2 >HeriteDe T
/****************/
Constructeur();
Fin Type
Variable
/******/
A : Nul Ou Procedure();
A2 : Nul Ou Procedure();
B : Nul Ou Procedure(AA : Caractere);
C : Nul Ou Fonction() Retourner Booleen;
D : Nul Ou Fonction() Retourner Entier;
E : Nul Ou Fonction() Retourner Reel;
F : Nul Ou Fonction(AA : Caractere) Retourner Caractere;
G : Booleen;
H : Entier;
I : Reel;
J : Caractere;
K : Nul Ou Procedure(AA : Entier Entree Sortie, BB : Reel Entree
Sortie, CC : Caractere Entree Sortie);
O : T;
O2 : T2;
Procedure P1()
/************/
Debut
Ecran.Ecrire("P1()");
Fin Procedure
Procedure P2(AA : Caractere)
/************************/
Debut
Ecran.Ecrire("P2()");
Ecran.Ecrire(AA);
Fin Procedure
Procedure P3()
/************/
Debut
Ecran.Ecrire("P3()");
Fin Procedure
Procedure P4(AA : Entier Entree Sortie, BB : Reel Entree Sortie,
CC : Caractere Entree Sortie)
/********************************************************************************************/
Debut
Ecran.Ecrire("P4()");
Ecran.Ecrire(AA);
Ecran.Ecrire(BB);
Ecran.Ecrire(CC);
AA=2;
BB=3.14;
CC="hello";
Fin Procedure
Fonction F1() Retourner Booleen
/*****************************/
Debut
Ecran.Ecrire("F1()");
Retourner Vrai;
Fin Fonction
Fonction F2() Retourner Entier
/****************************/
Debut
Ecran.Ecrire("F2()");
Retourner 1;
Fin Fonction
Fonction F3() Retourner Reel
/**************************/
Debut
Ecran.Ecrire("F3()");
Retourner 10.2;
Fin Fonction
Fonction F4(AA : Caractere) Retourner Caractere
/*********************************************/
Debut
Ecran.Ecrire("F4()");
Ecran.Ecrire(AA);
Retourner "coucou";<
Fin Fonction
Constructeur T()
/**************/
Debut
Fin Constructeur
Procedure T.TP1()
/***************/
Debut
Ecran.Ecrire("T.TP1()");
Fin Procedure
Procedure T.TP2(AA : Caractere)
/*****************************/
Debut
Ecran.Ecrire("T.TP2()");
Ecran.Ecrire(AA);
Fin Procedure
Fonction T.TF1() Retourner Booleen
/********************************/
Debut
Ecran.Ecrire("T.TF1()");
Retourner Vrai;
Fin Fonction
Fonction T.TF2() Retourner Entier
/*******************************/
Debut
Ecran.Ecrire("T.TF2()");
Retourner 1;
Fin Fonction
Fonction T.TF3() Retourner Reel
/*****************************/
Debut
Ecran.Ecrire("T.TF3()");
Retourner 10.2;
Fin Fonction
Fonction T.TF4(AA : Caractere) Retourner Caractere
/************************************************/
Debut
Ecran.Ecrire("F4()");
Ecran.Ecrire(AA);
Retourner "coucou";
Fin Fonction
Constructeur T2()
/***************/
Debut
Fin Constructeur
Principal
/*******/
Debut
A=P1;
A();
B=P2;
B("bonjour");
C=F1;
G=C();
Ecran.Ecrire(G);
D=F2;
H=D();
Ecran.Ecrire(H);
E=F3;
I=E();
Ecran.Ecrire(I);
F=F4;
J=F("bonjour");
Ecran.Ecrire(J);
Ecran.Ecrire("\n");
A=O.TP1;
A();
B=O.TP2;
B("bonjour");
C=O.TF1;
G=C();
Ecran.Ecrire(G);
D=O.TF2;
H=D();
Ecran.Ecrire(H);
E=O.TF3;
I=E();
Ecran.Ecrire(I);
F=O.TF4;
J=F("bonjour");
Ecran.Ecrire(J);
Ecran.Ecrire("\n");
K=P4;
H=1;
I=2.71;
J="bonjour";
K(H, I, J);
Ecran.Ecrire(H);
Ecran.Ecrire(I);
Ecran.Ecrire(J);
A=O2.TP1;
A();
Ecran.Ecrire("\n");
A2=P3;
Si A2==A Alors
Ecran.Ecrire("A2==A");
Sinon
Ecran.Ecrire("A2!=A");
Fin Si
Si A2!=A Alors
Ecran.Ecrire("A2!=A");
Sinon
Ecran.Ecrire("A2==A");
Fin Si
A2=A;
A2();
Fin Principal