1 : C CHTCHA SOURCE CHAT 05/01/12 22:02:12 5004 2 : SUBROUTINE CHTCHA(MCHA,LCHALU,IBO,IRET) 3 : C==================================================================== 4 : C SUBROUTINE POUR CHERCHER DANS UNE TABLE DE SOUSTYPE 5 : C "RESULTAT DE DYNE" 6 : C SI LE CHAMP MCHA EXISTE ET EN SORTIR LA POSITION IRET 7 : C MCHA (E) CHAINE CHERCHEE 8 : C LCHALU (E) LONGUEUR DE CETTE CHAINE 9 : C IBO (E) POINTEUR SUR LA TABLE DONT ON PART 10 : C IRET (S) POSITION DE CETTE CHAINE DANS L TABLE 11 : C - SI PAS TROUVE IRET =0 12 : C====================================================================== 13 : IMPLICIT INTEGER(I-N) 14 : IMPLICIT REAL*8(A-H,O-Z) 15 : CHARACTER*(*) MCHA 16 : CHARACTER*(40) CHAR1 17 : CHARACTER*4 MOT,MOMOT 18 : LOGICAL L0,L1 19 : CHARACTER*(8) CHAR0 20 : -INC CCOPTIO 21 : -INC SMTABLE 22 : DATA MOT/'MOT '/ 23 : C====================================================================== 24 : *ON CONSTRUIT LA TABLE DES INDICES DE LA SOUS TABLE DONNEE 25 : IRET=0 25 : CALL ECROBJ('TABLE',IBO) 25 : CALL INDETA 25 : CALL LIROBJ('TABLE',ITABIN,1,IRETAB) 26 : IF (IERR.NE.0) RETURN 27 : * 28 : * Boucle sur les indices de la table MTABLE: 29 : * 30 : MTABLE=ITABIN 31 : SEGACT MTABLE 32 : NINDIC = MLOTAB 33 : SEGDES MTABLE 34 : DO 100 INDICE = 1 , NINDIC 35 : I0= INDICE 36 : MOMOT=MOT 36 : CALL ACCTAB(ITABIN,'ENTIER',I0,X0,CHAR0,L0,IRET0, 37 : * MOMOT,I1,X1,CHAR1,L1,IRET1) 38 : IF (MOMOT.EQ.MOT) THEN 39 : IF (CHAR1(1:LCHALU).EQ.MCHA) THEN 40 : IRET=INDICE 41 : GO TO 110 42 : ENDIF 43 : ENDIF 44 : 100 CONTINUE 45 : 110 SEGSUP MTABLE 46 : RETURN 47 : END 48 :
© Cast3M 2003 - All rights reserved.
Disclaimer