C ECDIEN SOURCE CB215821 20/11/25 13:26:50 10792 SUBROUTINE ECDIEN(NBAND,SEGTAB,IFORM) IMPLICIT INTEGER(I-N) -INC PPARAM -INC CCOPTIO -INC CCFXDR SEGMENT SEGTAB CHARACTER*(LCHAWR) ITAB(NM) ENDSEGMENT C CFORMAT : Format pour ecrire en 'FORMAT' dans le fichier CHARACTER*12 CFORMAT LCHAWR=SEGTAB.ITAB(/1) NM =SEGTAB.ITAB(/2) IF (NM.EQ.0)RETURN C Calcul du format des chaines CFORMAT='(' IF(IONIVE .LT. 23)THEN CFORMAT='(16(1X,A4))' JCH=11 ELSE ICH=2 IF (NM.GT.0 .AND. NM.LE.9 )THEN JCH=ICH WRITE(CFORMAT(ICH:JCH) ,FMT='(I1)') NM ELSEIF(NM.GT.9 .AND. NM.LE.99 )THEN ICH=2 JCH=ICH+1 WRITE(CFORMAT(ICH:JCH) ,FMT='(I2)') NM ELSEIF(NM.GT.99 .AND. NM.LE.999)THEN ICH=3 JCH=ICH+2 WRITE(CFORMAT(ICH:JCH) ,FMT='(I3)') NM ELSE PRINT*,'ECDIEN.ESO-Valeur de NM:',NM CALL ERREUR(5) ENDIF ICH=ICH+1 CFORMAT(ICH:ICH+4)='(1X,A' ICH=ICH+5 IF (LCHAWR.GT.0 .AND. LCHAWR.LE.9 )THEN JCH=ICH WRITE(CFORMAT(ICH:JCH) ,FMT='(I1)') LCHAWR ELSEIF(LCHAWR.GT.9 .AND. LCHAWR.LE.99 )THEN JCH=ICH+1 WRITE(CFORMAT(ICH:JCH) ,FMT='(I2)') LCHAWR CFORMAT(ICH+2:ICH+2)=')' ELSEIF(LCHAWR.GT.99 .AND. LCHAWR.LE.999)THEN JCH=ICH+2 WRITE(CFORMAT(ICH:JCH),FMT='(I3)') LCHAWR CFORMAT(ICH+3:ICH+3)=')' ELSE PRINT*,'ECDIEN.ESO-Valeur de LCHAWR:',LCHAWR CALL ERREUR(5) ENDIF ICH=JCH+1 JCH=ICH+1 CFORMAT(ICH:JCH)='))' ENDIF IF (IFORM.EQ.1)WRITE(NBAND,FMT=CFORMAT) (ITAB(I),I=1,NM) IF (IFORM.EQ.0)WRITE(NBAND) (ITAB(I),I=1,NM) IF (iform.eq.2)ios=IXDRSTRING(ixdrw,itab(1)(1:LCHAWR*NM)) RETURN END