Les types de données paramétrés

Commande de compilation...
Commande d'exécution...
Fichier source...

upscmp Source=typeprm.upl

Revenir en haut de la page...

typeprm

Revenir en haut de la page...

Source Composant "Exemple des définitions de types paramétrés" Version 1.0.0;

Enumere Type TA(PA : Type Defaut, PB : Enumere, PC : Constante) Defaut
/******************************************************/
Fin Type

Type TB(PA : Type Defaut) Defaut
/****************************/
Fin Type

Procedure TA.P1(X : Entier, Y : Nul Ou PA, Z : PB)
/******************************************/
Debut
Ecran.Ecrire("TA.P1");
D=X;
E=Y;
F=Z;
Fin Procedure

Fonction TA.F1() Retourner Nul Ou PA
/**********************************/
Debut
Ecran.Ecrire("TA.F1");
Retourner E;
Fin Fonction

Fonction TA.F2() Retourner PB
/***************************/
Debut
Ecran.Ecrire("TA.F2");
Retourner F;
Fin Fonction

Procedure TB.P2(X : Nul Ou PA)
/**************************/
Debut
Ecran.Ecrire("TB.P2");
B=X;
Fin Procedure

Fonction TB.F3() Retourner Nul Ou PA
/**********************************/
Debut
Ecran.Ecrire("TB.F3");
Retourner B;
Fin Fonction

Principal
/*******/ Variable Debut
VA=TA(Date, Couleur, 5);
VA.G[Bleu]="Bonjour Bleu";
VA.G[Blanc]="Bonjour Blanc";
VA.G[Rouge]="Bonjour Rouge";
Pour I=VA.H.BorneMin JusquA VA.H.BorneMax Faire Fin Pour
Ecran.Ecrire(VA.G[Bleu]);
Ecran.Ecrire(VA.G[Blanc]);
Ecran.Ecrire(VA.G[Rouge]);
Pour I=VA.H.BorneMin JusquA VA.H.BorneMax Faire Fin Pour
VA.P1(12,Date("10-10-1968"), Bleu);
Ecran.Ecrire(Caractere(VA.F1()));
C=VA.F2();
Ecran.Ecrire("\n");

VB=TA(TB, Couleur, 5);
VB.G[Bleu]="Bonjour Bleu";
VB.G[Blanc]="Bonjour Blanc";
VB.G[Rouge]="Bonjour Rouge";
Pour I=VB.H.BorneMin JusquA VB.H.BorneMax Faire Fin Pour
Ecran.Ecrire(VB.G[Bleu]);
Ecran.Ecrire(VB.G[Blanc]);
Ecran.Ecrire(VB.G[Rouge]);
Pour I=VB.H.BorneMin JusquA VB.H.BorneMax Faire Fin Pour
VB.P1(12, TB(Date), Bleu);
VC=VB.F1();
VC.P2(Date("10-10-1968"));
Ecran.Ecrire(Caractere(VC.F3()));
Ecran.Ecrire("\n");

VD=TB(TA);
VD.P2(TA(Date, Couleur, 5));
VD.B.G[Bleu]="Bonjour Bleu";
VD.B.G[Blanc]="Bonjour Blanc";
VD.B.G[Rouge]="Bonjour Rouge";
Pour I=VD.B.H.BorneMin JusquA VD.B.H.BorneMax Faire Fin Pour
Ecran.Ecrire(VD.B.G[Bleu]);
Ecran.Ecrire(VD.B.G[Blanc]);
Ecran.Ecrire(VD.B.G[Rouge]);
Pour I=VD.B.H.BorneMin JusquA VD.B.H.BorneMax Faire Fin Pour VD.B.P1(12,Date("10-10-1968"), Bleu);
VA=VD.F3();
Ecran.Ecrire(Caractere(VA.F1()));
Fin Principal

Revenir en haut de la page...