Up ! Black Board génère et maintient automatiquement l'interface du composant. Elle est constituée de ses définitions publiques. Son extension est upi. Avec l'exemple précédent, l'interface est alors stat1.upi.
Si le fichier source d'un composant n'est pas écrit avec son chemin d'accès complet, alors il doit être accessible par le chemin désigné par le paramètre CheminSources d'Up ! Compiler ou d'Up ! Script Engine.
Source Composant
LibelleDuComposant Version
NumeroDeVersion .
NumeroDeRevision .
NumeroDeCorrection ;
RattacherA
NomDuFichierModule ;
SegmentPrive
QualiteDeMemoire ;
SegmentProtege
QualiteDeMemoire ;
SegmentPublic
QualiteDeMemoire ;
MemoirePrivee ;
MemoireProtegee ;
MemoirePublique ;
Parametre
LectureParametres ListeDeParametresSection
NomDeLaSectionDefinitionDUnParametreOuVersion :
Version
NumeroDeVersion .
NumeroDeCorrection Faire
Fin Version
:
TypeElementaire InflexionDonnee ;
ListeDeProceduresOuDeFonctions :
(
ListeDeParametresDeLAppel )
(
ListeDeParametresDeLAppel ) Retourner
TypeElementaire(
ListeDeParametresDeLAppel )
.
NomDeLOperateur InflexionAppel NomDUneFonction
(
ListeDeParametresDeLAppel )
ResultatDeLOperateurFin Operateur
(
ListeDeParametresDeLAppel )
Fin Constructeur
()
Fin Destructeur
()
Fin Contrainte
Version
NumeroDeVersion .
NumeroDeCorrection Faire
Fin Version
.
SuiteNomDUneProcedureAllouerRessource
Liberer
LibererRessource
.
SuiteNomDUneFonctionAllouer
.
SuiteNomDUnRappelAllouerRessource
Liberer
LibererRessource
Recursif ;
Fin Procedure
Recursif ;
Fin Fonction
Recursif ;
Fin Rappel
CorpsDUneProcedureOuDUneFonction :
Debut
InstructionsDUneProcedureOuDUneFonction :
AttacherModule
InflexionAppelFin AttacherModule
DetacherModule
InflexionAppelFin DetacherModule
AttacherTache
InflexionAppelFin AttacherTache
DetacherTache
InflexionAppelFin DetacherTache
Principal
InflexionAppelFin Principal
DebuterComposant
InflexionAppelFin DebuterComposant
TerminerComposant
InflexionAppelFin TerminerComposant
Source Composant "Mon composant" Version 1.0.0;
Variable
/******/
AG : Entier;
BG : Caractere;
Procedure P(PA : Entier, PB : Caractere)
/**************************************/
Debut
Ecran.Ecrire("A="+Caractere(PA));
Ecran.Ecrire("B="+PB);
Fin Procedure
Principal
/*******/
Variable
/******/
AL : Entier;
BL : Caractere;
Debut
AG=10;
BG="coucou";
P(AG, BG);
AL=20;
BL="hello";
P(AL, BL);
Fin Principal