3. Fonctionnement général#
Nous partons d’un exemple pour présenter le mode de fonctionnement des utilitaires d’impression de message:
3.1. Exemple#
Message imprimé
!-------------------------------------------------------!
! <A> <CHATON_2> !
! !
! Le petit chaton est de couleur rose. !
! !
! Ceci est une alarme. Si vous ne comprenez pas le sens !
! de cette alarme, vous pouvez obtenir des résultats !
! inattendus !
!-------------------------------------------------------!
Ce message utilisateur Le petit chaton est de couleur rose. est constitué de deux parties:
A : le texte fixe Le petit chaton est de couleur .
B : le texte variable rose qui représente le contenu d’une variable de type caractère.
Pour mettre en œuvre dans le fortran ou dans le python l’impression de ce message, il faut :
décrire dans un catalogue python la partie fixe (A) du message, avec le format des variables à imprimer
instrumenter le sous-programme fortran ou la fonction python pour provoquer l’impression du message.
Appel FORTRAN
SUBROUTINE CHATON(...,...)
...
...
IF(I.EQ.1) THEN
VALK = 'ROSE'
CALL U2MESK ('A','CHATON_2',1,VALK)
ENDIF
...
...
END
Les arguments du sous-programme U2MESK :
‘A’ : précise que l’on imprime un message de type alarme
‘CHATON_2’ : est l’identificateur du message : CHATON est le nom du catalogue de message chaton.py et le chiffre 2 indique que l’on prendra dans ce catalogue le message n°2.
1: on imprime une seule variable caractère
VALK : variable caractère à imprimer.
Catalogue message: chaton.py
cata_msg = {
1 : _(u"""
Le petit chat est bien de couleur verte Ouf!
"""),
2 : _(u"""
Le petit chat est de couleur %(k1)s.
"""),
3 : _(u"""
Le petit chat a %(i1)d pattes et %(i2)d yeux.
"""),
4 : _(u"""
Le petit chat pèse %(r1)f kilogrammes.
"""),
5 : _(u"""
ATTENTION: Votre chat est bizarre, il :
- a plus de 4 pattes, il en a %(i1)d,
- est de couleur %(k1)s et %(k2)s,
- est trop gros, il pèse (%(r1)f kilogrammes.
On arrête les frais, ce n'est pas un chat !!
"""),
}