enutab
C ENUTAB SOURCE SP204843 23/02/16 21:15:04 11598 SUBROUTINE ENUTAB *--------------------------------------------------------------------- * * OPTION TABLE OPERATEUR ENUMERER * * SYNTAXE : voir notice ENUM * *-------------------------------------------------------------------- IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) PARAMETER (NMOCLE = 1) CHARACTER*8 CTYP LOGICAL LCROI,LABSO -INC PPARAM -INC CCOPTIO -INC SMLOBJE -INC SMTABLE -INC SMLENTI C--------------------------------- C LECTURE DE LA TABLE C--------------------------------- IF (IERR.NE.0) RETURN c write(6,*) 'ITAB1=',ITAB1 C--------------------------------- C LISTE INDICES ENTIERS DE LA TABLE C--------------------------------- MTABLE = ITAB1 SEGACT, MTABLE JG = MLOTAB SEGINI, MLENTI, MLENT1 DO 10 I1=1,MLOTAB IF (MTABTI(I1).EQ.'ENTIER ') THEN LECT(I1) = MTABII(I1) CTYP = MTABTV(I1) ENDIF 10 CONTINUE c write(6,*) 'MLENTI,MLENT1,CTYP=',MLENTI,MLENT1,CTYP C--------------------------------- C VERIFICATION LISTE INDICES ENTIER C EST CORRECTEMENT ORONNEE C--------------------------------- LCROI = .true. LABSO = .false. IF (IERR.NE.0) RETURN SEGACT,MLENT1 c write(6,*) 'MLENT1.lect(/1)=',MLENT1.LECT(/1) IPLAC = 0 C-------------------------- CAS DU LISTOBJE ---------------------------C IF (IPLAC.NE.0) THEN NOBJ = MLOTAB SEGINI,MLOBJE TYPOBJ(1:8) = CTYP C BOUCLE DE LECTURE DES OBJETS NOBLU = 0 DO 1 IND1=1,MLOTAB C IND2 : indice de la table apres ORDON2 IND2 = MLENT1.LECT(IND1) C TYPE DE L'INDICE : PAS ENTIER => ON ITERE c write(6,*) 'IND2,(MTABTI(IND2)=',IND2,MTABTI(IND2) IF (MTABTI(IND2)(1:8).NE.'ENTIER ') GOTO 1 C VERIFICATION DU TYPE de L'OBJET CONTENU EN INDICE CTYP = MTABTV(IND2) c write(6,*) 'CTYP=',CTYP IF (CTYP.NE.TYPOBJ) THEN MOTERR(1:8) = CTYP RETURN ENDIF C AJOUT A LA LISTE NOBLU = NOBLU + 1 LISOBJ(NOBLU) = MTABIV(IND2) 1 CONTINUE C Ecriture du resultat NOBJ = NOBLU SEGADJ, MLOBJE ENDIF RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales