C CREOB SOURCE FANDEUR 08/01/16 21:15:01 6022 SUBROUTINE CREOB (ITYPE,NOMM1,NOMM2,ITLACC) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C======================================================================= C BUT : RECREER LES OBJETS C APPELE PAR : LIPIL C : C ECRIT PAR FARVACQUE -REPRIS PAR LENA C C======================================================================= C======================================================================= -INC CCOPTIO C C SEGMENT/ITLACC/(ITLAC(0)) SEGMENT/NOMM1/(NOM1(NOBJN1)) SEGMENT NOMM2 CHARACTER*(8) NOM2(NOBJN1) ENDSEGMENT C CHARACTER*(*) ITYPE CHARACTER*8 NOMM CHARACTER*512 CK REAL*8 XK LOGICAL BK C-------------------------------------------------------------------- SEGACT NOMM1,NOMM2 IMAX1=ITLAC(/1) NOBJN=NOM1(/1) C ------------------------------------------------------------------ C *****FIN DE LECTURE D'UNE PILE : NOM DES OBJETS******************* C IF(NOBJN.EQ.0) GOTO 1 DO 1094 I=1,NOBJN IERT=0 J=NOM1(I) NOMM=NOM2(I) IF (J.GT.IMAX1) THEN WRITE(IOIMP,808) ITYPE,NOM2(I) GO TO 1094 ENDIF K=ITLAC(J) IF(IIMPI.NE.0) WRITE(IOIMP,801)ITYPE,NOM2(I),J,K IF(ITYPE.EQ.'ENTIER '.OR.ITYPE.EQ.'FLOTTANT'.OR.ITYPE.EQ. $ 'LOGIQUE '.OR.ITYPE.EQ.'MOT ') $ CALL QUEVAL(K,ITYPE,IERT,IK,XK,CK,BK,IOK) IF(IERT.EQ.1) THEN CALL ERREUR(5) GOTO 1 ENDIF IF(ITYPE.EQ.'ENTIER ') THEN CALL NOMENT(NOMM,IK) ELSE IF(ITYPE.EQ.'FLOTTANT') THEN CALL NOMREE(NOMM,XK) ELSE IF(ITYPE.EQ.'LOGIQUE ') THEN CALL NOMLOG(NOMM,BK) ELSE IF(ITYPE.EQ.'MOT ') THEN CALL NOMCHA(NOMM,CK(1:IK)) ELSE CALL NOMOBJ(ITYPE,NOMM,K) ENDIF 1094 CONTINUE 1 CONTINUE SEGDES NOMM1 SEGDES NOMM2 RETURN C ------------------------------------------------------- 801 FORMAT(2X,A8,2X,A8,2X,2I6) 808 FORMAT(2X,A8,' * ATTENTION ERREUR SUR L''OBJET ',A8) END