Le fichier source est ${UPS_HOME}/upssdk/demo/${UPS_LANGUAGE}/type2.upl.
upscmp Source=type2.upl
type2
upssng Source=type2.upl
Source Composant "Exemple de définition de types" Version 4.0.0;
Entrepot
/******/
MonEntrepot;
Public :
/******/
Type TA Entrepot MonEntrepot TailleSegment 10
/*******************************************/
Public :
A : Booleen;
B : Nul Ou Booleen;
C : Entier;
D : Nul Ou Entier;
E : Reel;
F : Nul Ou Reel;
G : Caractere;
Protege :
/*******/
H : Entier;
Prive :
/*****/
I : Entier;
Public :
/******/
Constructeur();
Procedure P1();
Protege :
/*******/
Procedure P1(PA : Entier);
Prive :
/*****/
Fonction F1() Retourner Nul Ou Entier;
Destructeur(MettreEnAnteMemoire : Booleen) Retourner Booleen;
Fin Type
Protege :
/*******/
Type TB
/*****/
Public :
/******/
A : Booleen;
B : Nul Ou Booleen;
C : Entier;
D : Nul Ou Entier;
E : Reel;
F : Nul Ou Reel;
G : Caractere;
Protege :
/*******/
H : Entier;
Prive :
/*****/
I : Entier;
Public :
/******/
Constructeur();
Procedure P1();
Protege :
/*******/
Procedure P1(PA : Entier);
Prive :
/*****/
Fonction F1() Retourner Nul Ou Entier;
Destructeur(? : Booleen) Retourner Booleen;
Fin Type
Prive :
/*****/
Type TC
/*****/
Public :
/******/
A : Booleen;
B : Nul Ou Booleen;
C : Entier;
D : Nul Ou Entier;
E : Reel;
F : Nul Ou Reel;
G : Caractere;
Protege :
/*******/
H : Entier;
Prive :
/*****/
I : Entier;
Public :
/******/
Constructeur();
Procedure P1();
Protege :
/*******/
Procedure P1(PA : Entier);
Prive :
/*****/
Fonction F1() Retourner Nul Ou Entier;
Destructeur(? : Booleen) Retourner Booleen;
Fin Type
Public :
/******/
Constructeur TA()
/***************/
Debut
A=Vrai;
B=Vrai;
C=10;
D=11;
E=20.1;
F=21.2;
G="A";
Fin Constructeur
Procedure TA.P1()
/***************/
Debut
Ecran.Ecrire("TA.P1");
Fin Procedure
Protege :
/*******/
Procedure TA.P1(PA : Entier)
/************************/
Debut
Ecran.Ecrire("TA.P2");
Ecran.Ecrire(PA);
Fin Procedure
Prive :
/*****/
Fonction TA.F1() Retourner Nul Ou Entier
/**************************************/
Debut
Ecran.Ecrire("TA.F1";
Retourner D;
Fin Fonction
Destructeur TA(MettreEnAnteMemoire : Booleen) Retourner Booleen
/*************************************************************/
Debut
Ecran.Ecrire("TA.Destructeur()");
Retourner MettreEnAnteMemoire;
Fin Destructeur
Public :
/******/
Constructeur TB()
/***************/
Debut
A=Vrai;
B=Vrai;
C=20;
D=21;
E=30.1;
F=31.2;
G="B";
Fin Constructeur
Procedure TB.P1()
/***************/
Debut
Ecran.Ecrire("TB.P1");
Fin Procedure
Protege :
/*******/
Procedure TB.P1(PA : Entier)
/************************/
Debut
Ecran.Ecrire("TB.P2");
Ecran.Ecrire(PA);
Fin Procedure
Prive :
/*****/
Fonction TB.F1() Retourner Nul Ou Entier
/**************************************/
Debut
Ecran.Ecrire("TB.F1");
Retourner D;
Fin Fonction
Destructeur TB(? : Booleen) Retourner Booleen
/*******************************************/
Debut
Ecran.Ecrire("TB.Destructeur()");
Fin Destructeur
Public :
/******/
Constructeur TC()
/***************/
Debut
A=Vrai;
B=Vrai;
C=30;
D=31;
E=40.1;
F=41.2;
G="C";
Fin Constructeur
Procedure TC.P1()
/***************/
Debut
Ecran.Ecrire("TC.P1");
Fin Procedure
Protege :
/*******/
Procedure TC.P1(PA : Entier)
/************************/
Debut
Ecran.Ecrire("TC.P2");
Ecran.Ecrire(PA);
Fin Procedure
Prive :
/*****/
Fonction TC.F1() Retourner Nul Ou Entier
/**************************************/
Debut
Ecran.Ecrire("TC.F1");
Retourner D;
Fin Fonction
Destructeur(? : Booleen) Retourner Booleen
/****************************************/
Debut
Ecran.Ecrire("TC.Destructeur()");
Fin Destructeur
Principal
/*******/
Variable
/******/
VA : TA;
VB : TB;
VC : TC;
Debut
Ecran.Ecrire(VA.A);
Ecran.Ecrire(VA.B);
Ecran.Ecrire(VA.C);
Ecran.Ecrire(VA.D);
Ecran.Ecrire(VA.E);
Ecran.Ecrire(VA.F);
Ecran.Ecrire(VA.G);
Ecran.Ecrire("\n");
Ecran.Ecrire(VB.A);
Ecran.Ecrire(VB.B);
Ecran.Ecrire(VB.C);
Ecran.Ecrire(VB.D);
Ecran.Ecrire(VB.E);
Ecran.Ecrire(VB.F);
Ecran.Ecrire(VB.G);
Ecran.Ecrire("\n");
Ecran.Ecrire(VC.A);
Ecran.Ecrire(VC.B);
Ecran.Ecrire(VC.C);
Ecran.Ecrire(VC.D);
Ecran.Ecrire(VC.E);
Ecran.Ecrire(VC.F);
Ecran.Ecrire(VC.G);
Ecran.Ecrire("\n");
Ecran.Ecrire("?+100");
VA.C=VA.C+100;
VA.D=VA.D+100;
VA.E=VA.E+100.0;
VA.F=VA.F+100.0;
VA.G=VA.G+"BCDEF";
Ecran.Ecrire(VA.C);
Ecran.Ecrire(VA.D);
Ecran.Ecrire(VA.E);
Ecran.Ecrire(VA.F);
Ecran.Ecrire(VA.G);
Ecran.Ecrire("\n");
Ecran.Ecrire("?+=100");
VA.C+=100;
VA.D+=100;
VA.E+=100.0;
VA.F+=100.0;
VA.G+="BCDEF";
Ecran.Ecrire(VA.C);
Ecran.Ecrire(VA.D);
Ecran.Ecrire(VA.E);
Ecran.Ecrire(VA.F);
Ecran.Ecrire(VA.G);
Ecran.Ecrire("\n");
Ecran.Ecrire("?-=100");
VA.C-=100;
VA.D-=100;
VA.E-=100.0;
VA.F-=100.0;
Ecran.Ecrire(VA.C);
Ecran.Ecrire(VA.D);
Ecran.Ecrire(VA.E);
Ecran.Ecrire(VA.F);
Ecran.Ecrire("\n");
Ecran.Ecrire("?*=2");
VA.C*=2;
VA.D*=2;
VA.E*=2;
VA.F*=2;
Ecran.Ecrire(VA.C);
Ecran.Ecrire(VA.D);
Ecran.Ecrire(VA.E);
Ecran.Ecrire(VA.F);
Ecran.Ecrire("\n");
Ecran.Ecrire("?/=2");
VA.C\=2;
VA.D\=2;
VA.E/=2;
VA.F/=2;
Ecran.Ecrire(VA.C);
Ecran.Ecrire(VA.D);
Ecran.Ecrire(VA.E);
Ecran.Ecrire(VA.F);
Ecran.Ecrire("\n");
Ecran.Ecrire("?^=2");
VA.C^=2;
VA.D^=2;
VA.E^=2;
VA.F^=2;
Ecran.Ecrire(VA.C);
Ecran.Ecrire(VA.D);
Ecran.Ecrire(VA.E);
Ecran.Ecrire(VA.F);
Ecran.Ecrire("\n");
Ecran.Ecrire("?&=255");
VA.C&=255;
VA.D&=255;
Ecran.Ecrire(VA.C);
Ecran.Ecrire(VA.D);
Ecran.Ecrire("\n");
Ecran.Ecrire("?|=127");
VA.C|=127;
VA.D|=127;
Ecran.Ecrire(VA.C);
Ecran.Ecrire(VA.D);
Ecran.Ecrire("\n");
Ecran.Ecrire("?>>=2");
VA.C>>=2;
VA.D>>=2;
Ecran.Ecrire(VA.C);
Ecran.Ecrire(VA.D);
Ecran.Ecrire("\n");
Ecran.Ecrire("?<<=2");
VA.C<<=2;
VA.D<<=2;
Ecran.Ecrire(VA.C);
Ecran.Ecrire(VA.D);
Ecran.Ecrire("\n");
VA.C=0;
VA.D=0;
VA.E=0.0;
VA.F=0.0;
Ecran.Ecrire("?++");
Ecran.Ecrire(VA.C++);
Ecran.Ecrire(VA.D++);
Ecran.Ecrire(VA.E++);
Ecran.Ecrire(VA.F++);
Ecran.Ecrire("\n");
Ecran.Ecrire("?--");
Ecran.Ecrire(VA.C--);
Ecran.Ecrire(VA.D--);
Ecran.Ecrire(VA.E--);
Ecran.Ecrire(VA.F--);
Ecran.Ecrire("\n");
Ecran.Ecrire("++?");
Ecran.Ecrire(++VA.C);
Ecran.Ecrire(++VA.D);
Ecran.Ecrire(++VA.E);
Ecran.Ecrire(++VA.F);
Ecran.Ecrire("\n");
Ecran.Ecrire("--?");
Ecran.Ecrire(--VA.C);
Ecran.Ecrire(--VA.D);
Ecran.Ecrire(--VA.E);
Ecran.Ecrire(--VA.F);
Ecran.Ecrire("\n");
VA.P1();
VB.P1();
VC.P1();
Fin Principal