Salome HOME
Homard executable
[modules/homard.git] / src / tool / Utilitaire / utmcre.F
1       subroutine utmcre ( motcle, valeur,
2      >                    ulsort, langue, codret)
3 c ______________________________________________________________________
4 c
5 c                             H O M A R D
6 c
7 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
8 c
9 c Version originale enregistree le 18 juin 1996 sous le numero 96036
10 c aupres des huissiers de justice Simart et Lavoir a Clamart
11 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
12 c aupres des huissiers de justice
13 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
14 c
15 c    HOMARD est une marque deposee d'Electricite de France
16 c
17 c Copyright EDF 1996
18 c Copyright EDF 1998
19 c Copyright EDF 2002
20 c Copyright EDF 2020
21 c ______________________________________________________________________
22 c
23 c     UTilitaire : Mot-Cle - REel qui lui est associe
24 c     --           -   -     --
25 c ______________________________________________________________________
26 c .        .     .        .                                            .
27 c .  nom   . e/s . taille .           description                      .
28 c .____________________________________________________________________.
29 c . motcle . e   . char*8 . mot-cle a rechercher                       .
30 c . valeur .   s .   1    . valeur entiere associee au mot-cle         .
31 c . ulsort . e   .   1    . numero d'unite logique de la liste standard.
32 c . langue . e   .    1   . langue des messages                        .
33 c .        .     .        . 1 : francais, 2 : anglais                  .
34 c . codret . es  .    1   . code de retour des modules                 .
35 c .        .     .        . 0 : pas de probleme                        .
36 c .        .     .        . 2 : probleme au decodage du mot-cle        .
37 c .        .     .        . 4 : le mot-cle n'a pas ete defini          .
38 c .        .     .        . 5 : le mot-cle est defini plusieurs fois   .
39 c ______________________________________________________________________
40 c
41 c====
42 c 0. declarations et dimensionnement
43 c====
44 c
45 c 0.1. ==> generalites
46 c
47       implicit none
48       save
49 c
50       character*6 nompro
51       parameter ( nompro = 'UTMCRE' )
52 c
53 #include "nblang.h"
54 c
55 c 0.2. ==> communs
56 c
57 #include "envex1.h"
58 c
59 c 0.3. ==> arguments
60 c
61       character*8 motcle
62 c
63       double precision valeur
64       integer ulsort, langue, codret
65 c
66 c 0.4. ==> variables locales
67 c
68       integer codre0
69       integer loptio
70       integer nombre, numero
71 c
72       integer iaux
73 c
74       character*200 option
75 c
76       integer nbmess
77       parameter ( nbmess = 20 )
78       character*80 texte(nblang,nbmess)
79 c
80 c 0.5. ==> initialisations
81 c ______________________________________________________________________
82 c
83 c====
84 c 1. messages
85 c====
86 c
87 #include "impr01.h"
88 c
89 #ifdef _DEBUG_HOMARD_
90       write (ulsort,texte(langue,1)) 'Entree', nompro
91       call dmflsh (iaux)
92 #endif
93 c
94       texte(1,10) = '(''Option liee au mot-cle '',a8,'' :'')'
95       texte(1,12) = '(''Elle est illisible.'')'
96       texte(1,14) = '(''Elle n''''est pas definie.'')'
97       texte(1,15) = '(''Elle est definie plusieurs fois.'')'
98 c
99       texte(2,10) = '(''Option for keyword '',a8,'' :'')'
100       texte(2,12) = '(''It cannot be read.'')'
101       texte(2,14) = '(''It does not exist.'')'
102       texte(2,15) = '(''It exists more than once.'')'
103 c
104 c====
105 c 2. reel associe
106 c====
107 c
108 c 2.1. ==> recherche du pseudo-fichier associe au mot-cle
109 c
110       numero = 1
111 c
112       call utfin1 ( motcle, numero,
113      >              nombre, option, loptio,
114      >              ulsort, langue, codre0 )
115 c
116 c 2.2. ==> aucune option n'a ete precisee
117 c
118       if ( codre0.eq.2 ) then
119 c
120         codret = 4
121 c
122 c 2.3. ==> definition multiple
123 c
124       elseif ( codre0.eq.0 .and. nombre.gt.1 ) then
125 c
126         codret = 5
127 c
128 c 2.4. ==> probleme de lecture
129 c
130       elseif ( codre0.ne.0 ) then
131 c
132         codret = 2
133 c
134 c 2.5. ==> decodage
135 c
136       else
137 c
138         call utchre ( option, valeur,
139      >                ulsort, langue, codret )
140 c
141         if ( codret.ne.0 ) then
142 c
143 #include "envex2.h"
144           codret = 2
145         endif
146 c
147 #ifdef _DEBUG_HOMARD_
148       write (ulsort,texte(langue,1)) 'Sortie', nompro
149       call dmflsh (iaux)
150 #endif
151 c
152       endif
153 c
154 c====
155 c 3. Messages
156 c====
157 c
158 #ifdef _DEBUG_HOMARD_
159       if ( codret.ne.0 ) then
160 #else
161       if ( codret.eq.2 ) then
162 #endif
163 c
164       write (ulsort,texte(langue,1)) 'Sortie', nompro
165       write (ulsort,texte(langue,2)) codret
166       write (ulsort,texte(langue,10)) motcle
167       write (ulsort,texte(langue,10+codret))
168 c
169       endif
170 c
171       end