Les dictionnaires

Ce programme présente l'usage du dictionnaire de données et de traitements maintenu par Up ! Kernel.

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

Pour exécuter, ne pas oublier de créer un entrepôt MonEntrepot dans la configuration du noyau d'exécution. Ce programme nécessite sa définition.

Mode compilé

Commande de compilation

upscmp Source=dictionnaire.upl AdaptateurDictionnaire=Oui AdaptateurServeurUpsNet=Oui

Commande d'exécution

dictionnaire

Mode interprété

upssng Source=dictionnaire.upl

Fichier source

Source Composant "Exemple d'emploi des dictionnaires" Version 4.0.0;

Enumere
/*****/
Public : Prive :
Entrepot
/*******/
Public :
Public :
/*****/
Type C1 Defaut
/************/
Public :
/******/ Prive :
/******/ Public :
/******/
Fin Type

Type C2 Defaut
/************/
Fin Type

Variable
/******/
Public :
/******/ Prive :
/******/
Exception
/*******/
Public :
/******/ Prive :
/*****/
Procedure C1.Ecrire1(Prm : Nul Ou Booleen)
/****************************************/
Debut
Ecran.Ecrire(Prm);
Fin Procedure

Procedure C1.Ecrire2(Prm : Nul Ou Entier)
/***************************************/
Debut
Ecran.Ecrire(Prm);
Fin Procedure

Procedure C1.Ecrire3(Prm : Nul Ou Reel)
/*************************************/
Debut
Ecran.Ecrire(Prm);
Fin Procedure

Procedure C1.Ecrire3(Prm : Nul Ou Caractere)
/******************************************/
Debut
Ecran.Ecrire(Prm);
Fin Procedure

Procedure Appel1()
/****************/
Debut
Ecran.Ecrire("Appel1();");
Fin Procedure

Procedure Appel2(Prm1 : Booleen, Prm2 : Entier, Prm3 : Reel, Prm4 : Caractere Entree Sortie)
/*****************************************************************************************/
Debut
Ecran.Ecrire("Appel2("+Caractere(Prm1)+","+Caractere(Prm2)+","+Caractere(Prm3)+","+Prm4+");");
Prm4="hello Appel2";
Fin Procedure

Fonction Appel3() Retourner Booleen
/*********************************/
Debut
Ecran.Ecrire("Appel3();");
Retourner Vrai;
Fin Fonction

Fonction Appel4(Prm1 : Booleen, Prm2 : Entier, Prm3 : Reel, Prm4 : Caractere Entree Sortie) Retourner Booleen
/***********************************************************************************************************/
Debut
Ecran.Ecrire("Appel4("+Caractere(Prm1)+","+Caractere(Prm2)+","+Caractere(Prm3)+","+Prm4+");");
Prm4="hello Appel4";
Retourner Vrai;
Fin Fonction

Fonction Appel5() Retourner Entier
/********************************/
Debut
Ecran.Ecrire("Appel5();");
Retourner 10;
Fin Fonction

Fonction Appel6(Prm1 : Booleen, Prm2 : Entier, Prm3 : Reel, Prm4 : Caractere Entree Sortie) Retourner Entier
/**************************************************************************************************/
Debut Ecran.Ecrire("Appel6("+Caractere(Prm1)+","+Caractere(Prm2)+","+Caractere(Prm3)+","+Prm4+");");
Prm4="hello Appel6";
Retourner 10;
Fin Fonction

Fonction Appel7() Retourner Reel
/******************************/
Debut
Ecran.Ecrire("Appel7();");
Retourner 11.11;
Fin Fonction

Fonction Appel8(Prm1 : Booleen, Prm2 : Entier, Prm3 : Reel, Prm4 : Caractere Entree Sortie) Retourner Reel
/********************************************************************************************************/
Debut
Ecran.Ecrire("Appel8("+Caractere(Prm1)+","+Caractere(Prm2)+","+Caractere(Prm3)+","+Prm4+");");
Prm4="hello Appel8";
Retourner 11.11;
Fin Fonction

Fonction Appel9() Retourner Caractere
/***********************************/
Debut
Ecran.Ecrire("Appel9();");
Retourner "schuss";
Fin Fonction

Fonction Appel10(Prm1 : Booleen, Prm2 : Entier, Prm3 : Reel, Prm4 : Caractere Entree Sortie) Retourner Caractere
/******************************************************************************************************/
Debut
Ecran.Ecrire("Appel10("+Caractere(Prm1)+","+Caractere(Prm2)+","+Caractere(Prm3)+","+Prm4+");");
Prm4="hello Appel10";
Retourner "schuss";
Fin Fonction

Principal
/*******/
Variable
Debut
L=ListeDe(Objet(Vrai));
L+=Objet(5);
L+=Objet(3.14159);
L+=Objet("salut");

P=Global.EnumererEnumeres(++Numero, A);
TantQue P!=Nul Faire Fin TantQue
Ecran.Ecrire("\n");

Numero=0;
Pr=Global.EnumererEntrepots(++Numero, A);
TantQue Pr!=Nul Faire Fin TantQueBR> Ecran.Ecrire("\n");

Numero=0;
T=Global.EnumererTypes(++Numero, A);
TantQue T!=Nul Faire Fin TantQue
Ecran.Ecrire("\n");

Numero=0;
P=Global.EnumererVariables(++Numero, T, EstNul, A, ?);
TantQue P!=Nul Faire Fin TantQue
Ecran.Ecrire("\n");

Numero=0;
E=Global.EnumererExceptions(++Numero, A);
TantQue E!=Nul Faire Fin TantQue
Ecran.Ecrire("\n");

Numero=0;
Ap=C1.EnumererMethodes(++Numero, P, A);
TantQue Ap!=Nul Faire Fin TantQue
Ecran.Ecrire("\n");

Numero=0;
Ap=Global.EnumererAppels(++Numero, P, A);
TantQue Ap!=Nul Faire Fin TantQue
Ecran.Ecrire("\n");

Global.EcrireVariable("VA1", Objet(Vrai));
Ecran.Ecrire("VA1="+Caractere(VA1));
Ecran.Ecrire("VA1="+Caractere(Booleen(Global.LireVariable("VA1"))));
Global.EcrireVariable("VB1", Objet(Vrai));
Ecran.Ecrire("VB1="+Caractere(VB1));
Ecran.Ecrire("VB1="+Caractere(Booleen(Global.LireVariable("VB1"))));

Global.EcrireVariable("VC1", Objet(10));
Ecran.Ecrire("VC1="+Caractere(VC1));
Ecran.Ecrire("VC1="+Caractere(Entier(Global.LireVariable("VC1"))));
Global.EcrireVariable("VD1", Objet(20));
Ecran.Ecrire("VD1="+Caractere(VD1));
Ecran.Ecrire("VD1="+Caractere(Entier(Global.LireVariable("VD1"))));

Global.EcrireVariable("VE1", Objet(11.11));
Ecran.Ecrire("VE1="+Caractere(VE1));
Ecran.Ecrire("VE1="+Caractere(Reel(Global.LireVariable("VE1"))));
Global.EcrireVariable("VF1", Objet(22.22));
Ecran.Ecrire("VF1="+Caractere(VF1));
Ecran.Ecrire("VF1="+Caractere(Reel(Global.LireVariable("VF1"))));

Global.EcrireVariable("VG1", Objet("coucou"));
Ecran.Ecrire("VG1="+VG1);
Ecran.Ecrire("VG1="+Caractere(Global.LireVariable("VG1")));
Global.EcrireVariable("VH1", Objet("coucou"));
Ecran.Ecrire("VH1="+VH1);
Ecran.Ecrire("VH1="+Caractere(Global.LireVariable("VH1")));
Ecran.Ecrire("\n");

Ecran.Ecrire("++VC1="+Caractere(Entier(Global.IncrementerDecrementerVariable("VC1", Vrai, Vrai))));
Ecran.Ecrire("++VD1="+Caractere(Entier(Global.IncrementerDecrementerVariable("VD1", Vrai, Vrai))));
Ecran.Ecrire("VC1--="+Caractere(Entier(Global.IncrementerDecrementerVariable("VC1", Faux, Faux))));
Ecran.Ecrire("VD1--="+Caractere(Entier(Global.IncrementerDecrementerVariable("VD1", Faux, Faux))));
Ecran.Ecrire("++VE1="+Caractere(Reel(Global.IncrementerDecrementerVariable("VE1", Vrai, Vrai))));
Ecran.Ecrire("++VF1="+Caractere(Reel(Global.IncrementerDecrementerVariable("VF1", Vrai, Vrai))));
Ecran.Ecrire("VE1--="+Caractere(Reel(Global.IncrementerDecrementerVariable("VE1", Faux, Faux))));
Ecran.Ecrire("VF1--="+Caractere(Reel(Global.IncrementerDecrementerVariable("VF1", Faux, Faux))));
Ecran.Ecrire("\n");
Fin Principal

Résultat de l'exécution

Enumere=A1:Enuméré 'A1'. ValeurEnumere=ValA1:Valeur énumérée 'ValA1'. ValeurEnumere=ValA2:Valeur énumérée 'ValA2'. ValeurEnumere=ValA3:Valeur énumérée 'ValA3'. Entrepot=MonEntrepot:Entrepot 'MonEntrepot'. Type=C1:Type 'C1'. Type=C2:Type 'C2'. Variable=VA1 Enumere Faux:Variable 'VA1'. Variable=VB1 Enumere Vrai:Variable 'VB1'. Variable=VC1 Entier Faux:Variable 'VC1'. Variable=VD1 Entier Vrai:Variable 'VD1'. Variable=VE1 Reel Faux:Variable 'VE1'. Variable=VF1 Reel Vrai:Variable 'VF1'. Variable=VG1 Caractere Faux:Variable 'VG1'. Variable=VH1 Caractere Vrai:Variable 'VH1'. Exception=E1:Exception 'E1'. Methode=Identique:Appel 'Identique'. Parametre=O Objet Vrai:Paramètre 'O'. Methode=Convertir:Appel 'Convertir'. Parametre=O Objet Vrai:Paramètre 'O'. Methode=CreeParLeServeur:Appel 'CreeParLeServeur'. Methode=CreeParLeProcessus:Appel 'CreeParLeProcessus'. Methode=CreeDansLEntrepot:Appel 'CreeDansLEntrepot'. Methode=Cloner:Appel 'Cloner'. Parametre=EntrepotCible Entrepot Vrai:Paramètre 'EntrepotCible'. Parametre=Profondeur Enumere Vrai:Paramètre 'Profondeur'. Methode=Exporter:Appel 'Exporter'. Methode=LirePropriete:Appel 'LirePropriete'. Parametre=NomPropriete Caractere Vrai:Paramètre 'NomPropriete'. Methode=EcrirePropriete:Appel 'EcrirePropriete'. Parametre=NomPropriete Caractere Vrai:Paramètre 'NomPropriete'. Parametre=ValeurPropriete Objet Vrai:Paramètre 'ValeurPropriete'. Methode=IncrementerDecrementerPropriete:Appel 'IncrementerDecrementerPropriete'. Parametre=NomPropriete Caractere Vrai:Paramètre 'NomPropriete'. Parametre=Incrementer Enumere Faux:Paramètre 'Incrementer'. Parametre=Prefixe Enumere Faux:Paramètre 'Prefixe'. Methode=SupprimerPropriete:Appel 'SupprimerPropriete'. Parametre=NomPropriete Caractere Vrai:Paramètre 'NomPropriete'. Methode=EnumererProprietes:Appel 'EnumererProprietes'. Parametre=Numero Entier Faux:Paramètre 'Numero'. Parametre=TypePropriete Type Vrai:Paramètre 'TypePropriete'. Parametre=EstNul Enumere Vrai:Paramètre 'EstNul'. Parametre=Aide Caractere Vrai:Paramètre 'Aide'. Parametre=NomEnumere Caractere Vrai:Paramètre 'NomEnumere'. Methode==:= Parametre=P Objet Vrai:Paramètre 'P'. Methode===:== Parametre=P Objet Vrai:Paramètre 'P'. Methode=!=:!= Parametre=P Objet Vrai:Paramètre 'P'. Methode=C1:Appel 'C1'. Methode=Ecrire1:Appel 'Ecrire1'. Parametre=Prm Enumere Vrai:Paramètre 'Prm'. Methode=Ecrire2:Appel 'Ecrire2'. Parametre=Prm Entier Vrai:Paramètre 'Prm'. Methode=Ecrire3:Appel 'Ecrire3'. Parametre=Prm Reel Vrai:Paramètre 'Prm'. Methode=Ecrire3:Appel 'Ecrire3'. Parametre=Prm Caractere Vrai:Paramètre 'Prm'. Methode=Appel1:Appel 'Appel1'. Appel1(); Methode=Appel2:Appel 'Appel2'. Parametre=Prm1 Enumere Faux:Paramètre 'Prm1'. Parametre=Prm2 Entier Faux:Paramètre 'Prm2'. Parametre=Prm3 Reel Faux:Paramètre 'Prm3'. Parametre=Prm4 Caractere Faux:Paramètre 'Prm4'. Appel2(Vrai,5,3.1415,salut); Methode=Appel3:Appel 'Appel3'. Appel3(); Vrai Methode=Appel4:Appel 'Appel4'. Parametre=Prm1 Enumere Faux:Paramètre 'Prm1'. Parametre=Prm2 Entier Faux:Paramètre 'Prm2'. Parametre=Prm3 Reel Faux:Paramètre 'Prm3'. Parametre=Prm4 Caractere Faux:Paramètre 'Prm4'. Appel4(Vrai,5,3.1415,hello Appel2); Vrai Methode=Appel5:Appel 'Appel5'. Appel5(); 10 Methode=Appel6:Appel 'Appel6'. Parametre=Prm1 Enumere Faux:Paramètre 'Prm1'. Parametre=Prm2 Entier Faux:Paramètre 'Prm2'. Parametre=Prm3 Reel Faux:Paramètre 'Prm3'. Parametre=Prm4 Caractere Faux:Paramètre 'Prm4'. Appel6(Vrai,5,3.1415,hello Appel4); 10 Methode=Appel7:Appel 'Appel7'. Appel7(); 11.1100 Methode=Appel8:Appel 'Appel8'. Parametre=Prm1 Enumere Faux:Paramètre 'Prm1'. Parametre=Prm2 Entier Faux:Paramètre 'Prm2'. Parametre=Prm3 Reel Faux:Paramètre 'Prm3'. Parametre=Prm4 Caractere Faux:Paramètre 'Prm4'. Appel8(Vrai,5,3.1415,hello Appel6); 11.1100 Methode=Appel9:Appel 'Appel9'. Appel9(); schuss Methode=Appel10:Appel 'Appel10'. Parametre=Prm1 Enumere Faux:Paramètre 'Prm1'. Parametre=Prm2 Entier Faux:Paramètre 'Prm2'. Parametre=Prm3 Reel Faux:Paramètre 'Prm3'. Parametre=Prm4 Caractere Faux:Paramètre 'Prm4'. Appel10(Vrai,5,3.1415,hello Appel8); schuss VA1=Vrai VA1=Vrai VB1=Vrai VB1=Vrai VC1=10 VC1=10 VD1=20 VD1=20 VE1=11.1100 VE1=11.1100 VF1=22.2200 VF1=22.2200 VG1=coucou VG1=coucou VH1=coucou VH1=coucou ++VC1=11 ++VD1=21 VC1--=11 VD1--=21 ++VE1=12.1100 ++VF1=23.2200 VE1--=12.1100 VF1--=23.2200