[updated 8.Sep.2008]
SUBROUTINE GPRSD (IMPFCH)
Auteur : F.Mahe (Fevrier 1992), D.Martin (Mars 2002)
Derniere modification : D.Martin (21 Mars 2002)
Version 1.0.1
Impression de la S.D. "dessin", tableaux: '$NomDS', '$InfDS'
-- Arguments d'entree --
IMPFCH numero d'unite sur laquelle, on veut ecrire (6 pour l'ecran)
-- Structure $NomDS
Entete : Vide
Corps : Nom, Dimension, Format de fichier pour chaque dessin
-- Structure $InfDS
Entete : longueur entete, nombre de dessins, longueur max dans $NomDS
puis, pour chaque dessin
Corps : nombre de domaines, nombre de resultats
puis, pour chaque domaine
Corps bis : NUDOMG,NUDOMK,NXLIST,NVNUME,NBELDO,NBNETR,INTRPC,NDMDOM
pour chaque domaine
INTEGER IMPFCH
INCLUDE 'ALLOC'
INCLUDE 'CONTEX'
CHARACTER PRFXAS*8
INTEGER LGENDS,NBDESS,LGCHAR,NBCARD,INCNDS,INCNDO
& ,MCINDS,MCNMDS,MC1DOM,MCNDOM,NUDESS,NUDOMD,K,NBDOM,ADNOMD
REAL RBID
COMPLEX CBID
CHARACTER NOMINT*20,NOMEXT*72,ERCODE*120
COMMON/FORMAH/ERCODE
CALL PRFXMJ (1,'<GPrSd >')
CALL TBAR4 (ERCODE,'$InfDS',1,MCINDS,'$NomDS',1,MCNMDS
& ,'#OMDOM',1,MCDOMG,'#TERDO',1,MCTRDO)
CALL SDEXDB (IST(MCTRDO),LGERDO,NBDOMK,LGCANO,NCHDOM) !utilite
LGENDS=IST(MCINDS)
NBDESS=IST(MCINDS+1)
LGCHAR=IST(MCINDS+2)
NBCARD=IST(MCINDS+3)
INCNDS=IST(MCINDS+4)
INCNDO=IST(MCINDS+5)
ADNOMD=1
WRITE (IMPFCH,10000) PRFXAS(1),PRFXAS(0),IST(MCINDS),NBDESS,LGCHAR
Nombre de domaines et de resultats par dessins
WRITE (IMPFCH,10001)
MCNDOM=MCINDS+LGENDS
MC1DOM=MCNDOM+INCNDS*NBDESS
MCNMD1=MCNMDS
DO 3 NUDESS=1,NBDESS
NBDOM=IST(MCNDOM)
NBRES=IST(MCNDOM+1)
CALL GETCHN (AST(MCNMDS),LGCHAR,ADNOMD,NOMINT) !utilite
NOMEXT=' '
CALL GETCST (NOMINT(1:LGCHAR),ERCODE,NLONG,RBID,CBID,NOMEXT) !sdexplo
NLONG=INDEX (NOMEXT,' ')-1
WRITE (IMPFCH,*) ' Dessin ',NUDESS,' : ',NOMEXT(1:NLONG)
& ,' - Dim = ',(AST(K),K=MCNMD1+LGCHAR,MCNMD1+2*LGCHAR-1)
& ,' - Format = ',(AST(K),K=MCNMD1+2*LGCHAR,MCNMD1+3*LGCHAR-1)
& ,' - NbDom =',NBDOM,' - NbRes =',NBRES
ADNOMD=ADNOMD+NBCARD
MCNMD1=MCNMD1+NBCARD*LGCHAR
DO 2 NUDOMD=1,NBDOM
NUDOMG=IST(MC1DOM)
MCDOMA=MCDOMG+NCHDOM*(NUDOMG-1)
WRITE (IMPFCH,10002) NUDOMD
& ,(AST(K),K=MCDOMA,MCDOMA+NCHDOM-1)
WRITE (IMPFCH,10003) (IST(K),K=MC1DOM,MC1DOM+3)
& ,(IST(K),K=MC1DOM+INCNDO-1,MC1DOM+4,-1)
MC1DOM=MC1DOM+INCNDO
2 CONTINUE
MCNDOM=MCNDOM+INCNDS
3 CONTINUE
CALL PRFXMJ (-1,'<GPrSd >')
10000 FORMAT(/,A8,'>',A8,' -> $InfDS',/,T5,'Longueur de l''entete =',I3
&,' - NbDess =',I3,' - NbChar =',I3)
10001 FORMAT(/T5,'Informations sur les domaines pour chaque dessin :')
10002 FORMAT(T8,'Domaine',I3,' : ',50(A1))
10003 FORMAT(T8,'NuDomg =',I3,' - NuDomk =',I3,' - NxList =',I3/
&,T8,'NvNume =',I3,' - NdmDom =',I3,' - Intrpc =',I3/
&,T8,'NbNedo =',I6,' - NbEldo = ',I6
&)
END !GPrSd