86 lines
2.4 KiB
Fortran
86 lines
2.4 KiB
Fortran
SUBROUTINE FMAIN()
|
|
PARAMETER (NAMLEN = 60)
|
|
CHARACTER*(NAMLEN) HELPF,FILNAM
|
|
CHARACTER*(NAMLEN) LIBLF
|
|
PARAMETER (
|
|
+ MAXSEQ=330000,
|
|
+ MAXWIR=330000,
|
|
+ MAXDEV=9)
|
|
|
|
PARAMETER (
|
|
+ LIBLF='SEQUENCELIBRARIES')
|
|
INTEGER DEVNOS(MAXDEV)
|
|
INTEGER WORKI(MAXWIR)
|
|
CHARACTER SEQ(MAXSEQ)
|
|
PARAMETER (MAXPRM = 16, MAXMEN = 3)
|
|
CHARACTER PROMPT(MAXMEN)*(MAXPRM)
|
|
CALL UNITNO(KBIN,KBOUT,DEVNOS,MAXDEV)
|
|
WRITE(KBOUT,1000)
|
|
1000 FORMAT(
|
|
+' LIP (Library interface program) V1.0 April 1993',/,
|
|
+' Author: Rodger Staden'/)
|
|
C READ IN THE POINTERS TO THE HELP FILE
|
|
C CALL SETHLP(HELPS,HELPE,BOTOPT,TOPOPT,POINTF,DEVNOS(4),KBOUT)
|
|
C CALL INITLU(IDM)
|
|
IDEVLL = DEVNOS(5)
|
|
IDEVEN = DEVNOS(6)
|
|
IDEVAN = DEVNOS(7)
|
|
IDEVDL = DEVNOS(8)
|
|
IDEVLF = DEVNOS(9)
|
|
IDEV1 = DEVNOS(1)
|
|
IDEV2 = DEVNOS(2)
|
|
IDEVH = DEVNOS(4)
|
|
IOPEN = 0
|
|
IDEVOT = KBOUT
|
|
LIBIN = 1
|
|
1 CONTINUE
|
|
IDIMT = MAXSEQ
|
|
PROMPT(1) = 'Search a library'
|
|
PROMPT(2) = 'Extract entries'
|
|
PROMPT(3) = 'Redirect output'
|
|
JOPT = 1
|
|
CALL RADION('Select a task',PROMPT,3,JOPT,
|
|
+IHELPS,IHELPE,HELPF,IDEVH,KBIN,KBOUT)
|
|
IF(JOPT.LT.1) THEN
|
|
IF (IOPEN.EQ.1) THEN
|
|
CLOSE(UNIT=IDEVOT)
|
|
IOPEN = 0
|
|
END IF
|
|
STOP
|
|
END IF
|
|
IF (JOPT.EQ.1) THEN
|
|
CALL RDLIB(SEQ,IDIMT,FILNAM,KBIN,KBOUT,
|
|
+ IHELPS,IHELPE,HELPF,IDEVH,IDEVOT,IDEVLL,IDEVEN,IDEVAN,IDEVDL,
|
|
+ IDEVLF,LIBIN,LIBLF,WORKI,MAXWIR,IOK)
|
|
IF (IOPEN.EQ.1) THEN
|
|
CLOSE(UNIT=IDEVOT)
|
|
IOPEN = 0
|
|
IDEVOT = KBOUT
|
|
END IF
|
|
ELSE IF (JOPT.EQ.2) THEN
|
|
IF (IOPEN.EQ.1) THEN
|
|
CLOSE(UNIT=IDEVOT)
|
|
IOPEN = 0
|
|
IDEVOT = KBOUT
|
|
END IF
|
|
CALL RDLIBB(SEQ,IDIMT,FILNAM,KBIN,KBOUT,
|
|
+ IHELPS,IHELPE,HELPF,IDEVH,IDEV2,IDEVLL,IDEVEN,IDEVAN,IDEVDL,
|
|
+ IDEVLF,LIBIN,LIBLF,WORKI,MAXWIR,IOK)
|
|
ELSE IF (JOPT.EQ.3) THEN
|
|
IF (IOPEN.EQ.1) THEN
|
|
CLOSE(UNIT=IDEVOT)
|
|
IOPEN = 0
|
|
END IF
|
|
IDEVOT = IDEV1
|
|
FILNAM = ' '
|
|
CALL OPENF1(IDEVOT,FILNAM,1,IOK,KBIN,KBOUT,
|
|
+ 'Results file',
|
|
+ IHELPS,IHELPE,HELPF,IDEVH)
|
|
IF(IOK.NE.0) THEN
|
|
IDEVOT = KBOUT
|
|
GO TO 1
|
|
END IF
|
|
IOPEN = 1
|
|
END IF
|
|
GO TO 1
|
|
END
|