C*********************************************************************** C C C FCLASALPH.FTN PERMET DESORTIR LE FICHIER PAR ORDRE ALPHABETIQUE C SUR LE LP0: C C*********************************************************************** SUBROUTINE FCLAS(NBF,LETTRE) DIMENSION NOM(1000,12),LB(1000),A(18,5),LA(1000) BYTE A,NOM,LETTRE COMMON LB,LA DATA NOM/12000*' '/ OPEN (UNIT=2,NAME='DL1:[204,100]CODCLE.BIB',TYPE='OLD', 2ACCESS='SEQUENTIAL',FORM='UNFORMATTED',SHARED) READ(2)NMC,NFZ CLOSE (UNIT=2) CALL ASSIGN(4,'DL1:[204,100]FICHES.BIB') CALL FDBSET(4,'OLD') DEFINE FILE 4(8000,256,U,L) DO 1000 NFD=1,NBF NFK=LB(NFD) READ(4'NFK)NSD,NF,NA,A IF (NSD.EQ.'K') GO TO 1000 DO 200 KI=1,6 NOM(NFD,KI)=A(KI,1) 200 CONTINUE IF (NA.EQ.1) GO TO 1000 DO 201 KI=1,4 NOM(NFD,KI+6)=A(KI,2) 201 CONTINUE IF (NA.EQ.2) GO TO 1000 DO 202 KI=1,2 NOM(NFD,KI+10)=A(KI,3) 202 CONTINUE 1000 CONTINUE DO 312 KI=1,1000 LA(KI)=KI 312 CONTINUE DO 301 KI=1,12 301 NOM(1000,KI)='Z' D TYPE *,'LB',(LB(I),I=1,NBF) TYPE 1,LETTRE,NBF 1 FORMAT(/' NOMBRE DE FICHES POUR LA LETTRE ',A1,' : ',I5/) TYPE *,' VOYEZ LE LISTING LP.LST SUR L''IMPRIMANTE' NBFZ=NBF-1 DO 100 I=1,NBFZ KMIN=1000 DO 300 K=I,NBF DO 310 KI=1,12 IF (NOM(LA(K),KI).EQ.' ') GO TO 300 IF (NOM(LA(K),KI).GT.NOM(KMIN,KI)) GO TO 300 IF (NOM(LA(K),KI).EQ.NOM(KMIN,KI)) GO TO 310 KMIN=LA(K) KLA=K GO TO 300 310 CONTINUE 300 CONTINUE LA(KLA)=LA(I) LA(I)=KMIN 100 CONTINUE CLOSE (UNIT=4) D TYPE *,'LA',(LA(I),I=1,NBF) RETURN END