]> SALOME platform Git repositories - modules/homard.git/blob - src/tool/Utilitaire/utlgut.F
Salome HOME
Merge branch 'V9_13_BR'
[modules/homard.git] / src / tool / Utilitaire / utlgut.F
1       subroutine utlgut ( lgchai, chaine,
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 - retourne la LonGueur UTile d'une chaine de caractere
24 c   --                       -  -     --
25 c
26 c   en gros, on elimine les blancs a droite
27 c ______________________________________________________________________
28 c .        .     .        .                                            .
29 c .  nom   . e/s . taille .           description                      .
30 c .____________________________________________________________________.
31 c . lgchai .   s .    1   . longueur de la chaine obtenue              .
32 c . chaine . e   .char*(*). chaine de caractere a mesurer              .
33 c . ulsort . e   .   1    . unite logique de la sortie generale        .
34 c . langue . e   .    1   . langue des messages                        .
35 c .        .     .        . 1 : francais, 2 : anglais                  .
36 c . codret .  s  .    1   . code de retour des modules                 .
37 c .        .     .        . 0 : pas de probleme                        .
38 c .        .     .        . 1 : impossible de trouver la longueur      .
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 = 'UTLGUT' )
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 lgchai
62 c
63       character*(*) chaine
64 c
65       integer ulsort, langue, codret
66 c
67       integer nbmess
68       parameter (nbmess = 10 )
69       character*80 texte(nblang,nbmess)
70 c
71 c 0.4. ==> variables locales
72 c
73       integer iaux, jaux
74 c
75 c 0.5. ==> initialisations
76 c ______________________________________________________________________
77 c
78 c====
79 c 1. messages
80 c====
81 c
82 #include "impr01.h"
83 c
84 #ifdef _DEBUG_HOMARD_
85       write (ulsort,texte(langue,1)) 'Entree', nompro
86       call dmflsh (iaux)
87 #endif
88 c
89       texte(1,4) = '(''Chaine a mesurer : '',a)'
90       texte(1,5) = '(''Longueur = '',i8)'
91       texte(1,6) = '(''La chaine est vide.'')'
92 c
93       texte(2,4) = '(''String : '',a)'
94       texte(2,5) = '(''Length = '',i8)'
95       texte(2,6) = '(''The string is empty.'')'
96 c
97 #ifdef _DEBUG_HOMARD_
98       write (ulsort,texte(langue,4)) chaine
99 #endif
100 c
101 c====
102 c 2. mesure
103 c====
104 c
105       codret = 0
106 c
107       jaux = len(chaine)
108       if ( jaux.eq.0 ) then
109         lgchai = -1
110         codret = 1
111       endif
112 c
113       if ( codret.eq.0 ) then
114 c
115       do 21 , iaux = jaux, 1, -1
116         if ( chaine(iaux:iaux).ne.' ' ) then
117           lgchai = iaux
118           goto 22
119         endif
120    21 continue
121 c
122       lgchai = 0
123 c
124    22 continue
125 c
126       endif
127 c
128 #ifdef _DEBUG_HOMARD_
129       write (ulsort,texte(langue,5)) lgchai
130 #endif
131 c
132 c====
133 c 3. la fin
134 c====
135 c
136       if ( codret.ne.0 ) then
137 c
138 #include "envex2.h"
139       write (ulsort,texte(langue,1)) 'Sortie', nompro
140       write (ulsort,texte(langue,2)) codret
141       write (ulsort,texte(langue,4)) chaine
142       write (ulsort,texte(langue,6))
143 c
144       endif
145 c
146 #ifdef _DEBUG_HOMARD_
147       write (ulsort,texte(langue,1)) 'Sortie', nompro
148       call dmflsh (iaux)
149 #endif
150 c
151       end