enumer
C ENUMER SOURCE PV090527 24/01/09 21:15:07 11817 SUBROUTINE ENUMER *--------------------------------------------------------------------- * * OPERATEUR ENUMERER * * SYNTAXE : voir notice ENUM * *-------------------------------------------------------------------- IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) PARAMETER (NCLE = 2) CHARACTER*8 CTYP CHARACTER*4 MOCLE(NCLE) C TYPES EXCLUS DE LA LISTE DATA MOCLE /'TABL','* '/ -INC PPARAM -INC CCOPTIO -INC SMLOBJE C--------------------------------- C Option TABLE ET '*' C--------------------------------- ICLE = 0 C write(6,*) 'ICLE=',ICLE IF (ICLE.EQ.1) THEN CALL ENUTAB RETURN ELSE IF (ICLE.EQ.2) THEN CALL ENUFOI RETURN ENDIF C--------------------------------- C INITIALISATION RESULTAT C--------------------------------- NOBJ = 10000 SEGINI,MLOBJE NOBLU = 0 C--------------------------------- C BOUCLE DE LECTURE DES OBJETS C--------------------------------- 1 CONTINUE C---- LECTURE DES ARGUMENTS IF (IRETOU.EQ.0) THEN GOTO 999 ENDIF C---- VERIFICATION DU TYPE DE L'OBJET IF (NOBLU.EQ.0) THEN C TYPE ACCEPTE ? ** CALL PLACE(LTYPOB,NTYPOB,IPLAC,CTYP) C write(6,*) 'IPLAC=',IPLAC ** IF (IPLAC.EQ.0) THEN ** MOTERR(1:8) = CTYP ** CALL ERREUR(39) ** RETURN ** ENDIF TYPOBJ(1:8) = CTYP ELSE C MEME TYPE QUE 1ER ? IF (CTYP.NE.TYPOBJ) THEN MOTERR(1:8) = CTYP ENDIF ENDIF C---- LECTURE DE L'OBJET ET AJOUT A LA LISTE IF (IERR.NE.0) RETURN NOBLU = NOBLU + 1 IF (NOBLU.GT.NOBJ) THEN NOBJ = NOBJ + 10000 SEGADJ, MLOBJE ENDIF LISOBJ(NOBLU) = IOBJ C--------------------------------- C FIN DE BOUCLE C--------------------------------- GOTO 1 C--------------------------------- C SORTIE C--------------------------------- 999 CONTINUE NOBJ = NOBLU SEGADJ, MLOBJE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales