C LFCDIE SOURCE CHAT 08/09/18 21:15:05 6162 SUBROUTINE LFCDIE(NBAND,LMAX,ITAB,IRETOU,IFORM) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC CCOPTIO -INC CCFXDR DIMENSION ITAB(1) external LONG 10 IRETOU=0 ios=1 IF (LMAX.EQ.0) RETURN lmaxl=lmax IF (IFORM.EQ.1.AND.IONIVE.GE.4)READ(NBAND,100,END=1001,ERR=1000) # (ITAB(I),I=1,LMAX) IF (IFORM.EQ.1.AND.IONIVE.LT.4)READ(NBAND,101,END=1001,ERR=1000) # (ITAB(I),I=1,LMAX) IF (IFORM.EQ.0)READ(NBAND,END=1001,ERR=1000) (ITAB(I),I=1,LMAX) if (iform.eq.2) ios=IXDRIMAT( ixdrr, lmaxl,itab(1)) if(ios.lt.0) go to 1001 100 FORMAT(10I8) 101 FORMAT(16I5) RETURN 1001 CONTINUE * on bascule sur le fichier suivant ll = long (nomres) ificle=ificle+1 * write(6,*)' lfcdie ificle ' , ificle if(ificle.eq.10000)then call erreur (945) iretou=1 return endif if(ificle.eq.1) then nomres(ll+1:ll+2)='_1' ll=ll+2 elseif ( ificle.lt.10) then write(nomres(ll:ll),fmt='(I1)')ificle elseif ( ificle.lt.100) then if(ificle.eq.10)ll = ll + 1 write(nomres(ll-1:ll),fmt='(I2)')ificle elseif ( ificle.lt.1000) then if(ificle.eq.100)ll = ll + 1 write(nomres(ll-2:ll),fmt='(I3)')ificle elseif ( ificle.lt.10000) then if(ificle.eq.1000)ll = ll + 1 write(nomres(ll-3:ll),fmt='(I4)')ificle endif if (iform.ne.2) close (unit=nband) if (iform.eq.2) ios=IXDRCLOSE( ixdrr) if(iform.eq.1) then OPEN (UNIT=NBAND,STATUS='UNKNOWN',FILE=NOMRES(1:ll), # IOSTAT=IOS,ERR=2000,FORM='FORMATTED') ELSEif (iform.eq.0) then OPEN (UNIT=NBAND,STATUS='UNKNOWN',FILE=NOMRES(1:ll), # IOSTAT=IOS,ERR=2000,FORM='UNFORMATTED') else ios=INITXDR( NOMRES(1:ll),'r',.true.) if (ios.lt.0) goto 2000 ENDIF write (6,*) 'Ouverture du fichier : ',nomres(1:ll) go to 10 1000 IRETOU=1 RETURN 2000 continue MOTERR=NOMRES(1:ll) INTERR(1)=IOS CALL ERREUR(424) RETURN END