Salome HOME
Homard executable
[modules/homard.git] / src / tool / Utilitaire / utchen.F
1       subroutine utchen ( chaine, entier,
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 - convertit une CHaine de caractere en ENtier
24 c   --                         --                     --
25 c ______________________________________________________________________
26 c .        .     .        .                                            .
27 c .  nom   . e/s . taille .           description                      .
28 c .____________________________________________________________________.
29 c . chaine . e   .char*(*). chaine de caractere                        .
30 c . entier .  s  .    1   . entier associe                             .
31 c . ulsort . e   .   1    . unite logique de la sortie generale        .
32 c . langue . e   .    1   . langue des messages                        .
33 c .        .     .        . 1 : francais, 2 : anglais                  .
34 c . codret .  s  .    1   . code de retour des modules                 .
35 c .        .     .        . 0 : pas de probleme                        .
36 c .        .     .        . 1 : chaine trop courte                     .
37 c .        .     .        . 2 : le nombre est trop grand               .
38 c .        .     .        . 3 : type de cadrage inconnu                .
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 = 'UTCHEN' )
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       integer entier
62 c
63       character*(*) chaine
64 c
65       integer ulsort, langue, codret
66 c
67 c 0.4. ==> variables locales
68 c
69       integer iaux
70       integer lgchai
71 c
72       character*5 fmtent
73 c
74       integer nbmess
75       parameter (nbmess = 10 )
76       character*80 texte(nblang,nbmess)
77 c
78 c 0.5. ==> initialisations
79 c ______________________________________________________________________
80 c
81 c====
82 c 1. messages
83 c====
84 c
85 #include "impr01.h"
86 #include "impr03.h"
87 c
88 #ifdef _DEBUG_HOMARD_
89       write (ulsort,texte(langue,1)) 'Entree', nompro
90       call dmflsh (iaux)
91 #endif
92 c
93       texte(1,4) = '(''Chaine a convertir : '',a)'
94       texte(1,5) = '(''La chaine est blanche.'')'
95 c
96       texte(2,4) = '(''String to convert : '',a)'
97       texte(2,5) = '(''The string is blank.'')'
98 c
99 #ifdef _DEBUG_HOMARD_
100       write (ulsort,texte(langue,4)) chaine
101 #endif
102 c
103 c====
104 c 2. decodage
105 c====
106 c
107       codret = 0
108 c
109 c 2.1. ==> longueur reelle de la chaine
110 c
111       call utlgut ( lgchai, chaine,
112      >              ulsort, langue, codret )
113 c
114 #ifdef _DEBUG_HOMARD_
115       write (ulsort,90002) 'lgchai', lgchai
116 #endif
117 c
118 c 2.2. ==> decodage
119 c
120       if ( codret.eq.0 ) then
121 c
122       if ( lgchai.eq.0 ) then
123         codret = 22
124       else
125         fmtent = '(I  )'
126         if ( lgchai.lt.10 ) then
127           write(fmtent(3:3),'(i1)') lgchai
128         else
129           write(fmtent(3:4),'(i2)') lgchai
130         endif
131         read (chaine,fmtent) entier
132       endif
133 c
134       endif
135 c
136 c====
137 c 3. la fin
138 c====
139 c
140       if ( codret.ne.0 ) then
141 c
142 #include "envex2.h"
143 c
144       write (ulsort,texte(langue,1)) 'Sortie', nompro
145       write (ulsort,texte(langue,2)) codret
146       write (ulsort,texte(langue,4)) chaine
147       if ( codret.eq.22 ) then
148         write (ulsort,texte(langue,5))
149       endif
150 c
151       endif
152 c
153 #ifdef _DEBUG_HOMARD_
154       write (ulsort,texte(langue,1)) 'Sortie', nompro
155       call dmflsh (iaux)
156 #endif
157 c
158       end