C*************************************************************** C C C CLSAUTALP.FTN PERMET DE DISPATCHER LES AUTEURS DES C FICHES BIBLIOGRAPHIQUES DANS LES RECORDS CORRESPONDANT C A LA PREMIERE LETTRE DU NOM DES AUTEURS. C C CLSAUTALP EST SOUSROUTINE DE BIBLIO ET VIENT APRES C BIBFICHES. C C****************************************************************** SUBROUTINE AUTALP(NFDA,NFDB) DIMENSION A(18,5),AD(18,5),AUT(2559),ALP(26) BYTE NSD,A,AD,ALP INTEGER AUT COMMON /ASVAR/L,J,JAK OPEN (UNIT=1,NAME='DL1:[204,100]AUTALPH.BIB',TYPE='OLD' 2,ACCESS='DIRECT',SHARED,FORM='UNFORMATTED',RECORDSIZE=1280 3,ASSOCIATEVARIABLE=JAK,MAXREC=26) CALL ASSIGN(4,'DL1:[204,100]FICHES.BIB') CALL FDBSET(4,'OLD') DEFINE FILE 4(8000,256,U,L) ITMP=(NFDB-NFDA+1)*4 TYPE 10,ITMP 10 FORMAT(/' PATIENCE...,je classe les auteurs;'// 2' j''en ai pour environ ',I5,' secondes.'/) DO 1000 NFD=NFDA,NFDB NFK=NFD READ(4'NFK)NSD,NF,NA,A,AD IF (NSD.EQ.'D') NFD=NFD+1 DO 50 IL=1,26 50 ALP(IL)=.FALSE. DO 100 IA=1,NA IF (IA.LE.5) IL=A(1,IA)-64 IF (IA.GT.5) IL=AD(1,IA-5)-64 ALP(IL)=.TRUE. 100 CONTINUE DO 120 IK=1,26 IKZ=IK IF (.NOT.ALP(IKZ)) GO TO 120 READ(1'IKZ)NFC,AUT NFC=NFC+1 AUT(NFC)=NFK WRITE(1'IKZ)NFC,AUT 120 CONTINUE 1000 CONTINUE CLOSE (UNIT=1) CLOSE (UNIT=4) RETURN END