Les opérateurs

Ce programme présente la déclaration et l'usage des méthodes pour des types.

Le fichier source est ${UPS_HOME}/upssdk/demo/${UPS_LANGUAGE}/operateur.upl.

Mode compilé

Commande de compilation

upscmp Source=operateur.upl

Commande d'exécution

operateur

Mode interprété

upssng Source=operateur.upl

Fichier source

Source Composant "Exemple d'emploi des opérateurs" Version 4.0.0;

Type TypeA
/********/
Fin Type

Operateur TypeA.=(C : Nul Ou TypeA)
/*********************************/
Debut
A=C.A;
B=C.B;
Fin Operateur

Operateur TypeA.==(C : Nul Ou TypeA) Retourner Nul Ou Booleen
/***********************************************************/
Debut
Retourner A==C.A;
Fin Operateur

Operateur TypeA.!=(C : Nul Ou TypeA) Retourner Nul Ou Booleen
/***********************************************************/
Debut
Retourner A!=C.A;
Fin Operateur

Operateur TypeA.+(C : Nul Ou Entier) Retourner TypeA
/**************************************************/
Variable Debut
R.A=A+C;
R.B=B;
Retourner R;
Fin Operateur

Operateur TypeA.-(C : Nul Ou Entier) Retourner TypeA
/**************************************************/
Variable Debut
R.A=A-C;
R.B=B;
Retourner R;
Fin Operateur

Operateur TypeA.++(P : Booleen) Retourner TypeA
/*********************************************/
Variable Debut
Si P Alors Sinon Fin Si
R.B=B;
Retourner R;
Fin Operateur

Operateur TypeA.--(P : Booleen) Retourner TypeA
/*********************************************/
Variable Debut
Si P Alors Sinon Fin Si
R.B=B;
Retourner R;
Fin Operateur

Operateur TypeA.[](I : Nul Ou Entier) Retourner Caractere
/*******************************************************/
Debut
Retourner B.Milieu(I,1);
Fin Operateur

Operateur TypeA.()() Retourner Caractere
/**************************************/
Debut
Retourner B;
Fin Operateur

Operateur TypeA.Comme(C : Caractere) Retourner Nul Ou Booleen
/***********************************************************/
Debut
Retourner B Comme C;
Fin Operateur

Principal
/*******/
Variable
/******/
Debut
VA.A=1;
VA.B="coucou";
VB=VA+2;
VB=VA-1;
VB+=2;
VB-=1;
Ecran.Ecrire(VB.A);
Ecran.Ecrire(VB.B);
Si VA==VB Alors Fin Si
Si VA!=VB Alors Fin Si
Ecran.Ecrire("\n");

VB=VA++;
Ecran.Ecrire(VB.A);
Ecran.Ecrire(VB.B);
VB=++VA;
Ecran.Ecrire(VB.A);
Ecran.Ecrire(VB.B);
VB=VA--;
Ecran.Ecrire(VB.A);
Ecran.Ecrire(VB.B);
VB=--VA;
Ecran.Ecrire(VB.A);
Ecran.Ecrire(VB.B);
Ecran.Ecrire(VA[1]);
Ecran.Ecrire(VA());
Ecran.Ecrire("\n");

Si "ABCD" Comme "A*" Alors Sinon Fin Si
Si "ABCD" Comme "A?CD" Alors Sinon Fin Si
Si "ABCD" Comme "AB[ZCY]D" Alors Sinon Fin Si
Si "ABCD" Comme "AB[A-D]D" Alors Sinon Fin Si Si "ABCD" Comme "AB[ZXY]D" Alors Sinon Fin Si
Si "ABCD" Comme "AB![ZCY]D" Alors Sinon Fin Si
Si "ABCD" Comme "AB![A-D]D" Alors Sinon Fin Si
Si "ABCD" Comme "AB![ZXY]D" Alors Sinon Fin Si
Si VA Comme "cou*" Alors Sinon Fin Si
Si "ABCD" Comme "AB*|XY*" Alors Sinon Fin Si
Si "ABCD" Comme "XY*|AB*" Alors Sinon Fin Si
Fin Principal

Résultat de l'exécution

1 coucou VA==VB 1 coucou 3 coucou 3 coucou 1 coucou o coucou ABCD Comme A* ABCD Comme A?CD ABCD Comme AB[ZCY]D ABCD Comme AB[A-D]D Non ABCD Comme AB[ZXY]D Non ABCD Comme AB![ZCY]D Non ABCD Comme AB![A-D]D ABCD Comme AB![ZXY]D VA Comme cou* ABCD Comme AB*|XY* ABCD Comme XY*|AB*