1 subroutine utdich ( chain1, chain2,
2 > ulsort, langue, codret )
3 c ______________________________________________________________________
7 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
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
15 c HOMARD est une marque deposee d'Electricite de France
21 c ______________________________________________________________________
23 c UTilitaire - teste la DIfference entre 2 CHaines de caracteres
25 c ______________________________________________________________________
27 c . nom . e/s . taille . description .
28 c .____________________________________________________________________.
29 c . chain1 . e .char*(*). chaine de caractere 1 a comparer .
30 c . chain2 . e .char*(*). chaine de caractere 2 a comparer .
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 : chaines identiques .
36 c . . . . 1 : longueurs identiques, contenu different.
37 c . . . . 2 : longueurs differentes .
38 c . . . . 10 : probleme de comparaison .
39 c ______________________________________________________________________
42 c 0. declarations et dimensionnement
45 c 0.1. ==> generalites
51 parameter ( nompro = 'UTDICH' )
61 character*(*) chain1, chain2
63 integer ulsort, langue, codret
66 parameter (nbmess = 10 )
67 character*80 texte(nblang,nbmess)
69 c 0.4. ==> variables locales
74 c 0.5. ==> initialisations
75 c ______________________________________________________________________
84 write (ulsort,texte(langue,1)) 'Entree', nompro
88 texte(1,10) = '(''Chaine'',i2,'' a comparer :'')'
89 texte(1,4) = '(''Longueur de la chaine'',i2,'' = '',i8)'
90 texte(1,5) = '(''La chaine est vide.'')'
92 texte(2,10) = '(''String #'',i2,'' :'')'
93 texte(2,4) = '(''Length of #'',i2,'' : '',i8)'
94 texte(2,5) = '(''The string is empty.'')'
97 write (ulsort,texte(langue,10)) 1
98 write (ulsort,*) chain1
99 write (ulsort,texte(langue,10)) 2
100 write (ulsort,*) chain2
106 c 2. mesure des longueurs
109 call utlgut ( lg1, chain1, ulsort, langue, codret )
110 if ( codret.eq.0 ) then
111 call utlgut ( lg2, chain2, ulsort, langue, codret )
118 if ( codret.eq.0 ) then
120 #ifdef _DEBUG_HOMARD_
121 write (ulsort,texte(langue,4)) 1, lg1
122 write (ulsort,texte(langue,4)) 2, lg2
125 if ( lg1.eq.lg2 ) then
126 if ( chain1(1:lg1).eq.chain2(1:lg2) ) then
141 if ( codret.ne.0 ) then
144 write (ulsort,texte(langue,1)) 'Sortie', nompro
145 write (ulsort,texte(langue,2)) codret
148 if ( iaux.ge.0 ) then
152 #ifdef _DEBUG_HOMARD_
153 write (ulsort,texte(langue,1)) 'Sortie', nompro