Trailing-Edge
-
PDP-10 Archives
-
decuslib20-05
-
decus/20-0147/fmtd10.for
There are 2 other files named fmtd10.for in the archive.  Click here to see a list.
      SUBROUTINE FMTASK(MASTER,ITTY,JTTY,IDISK,JDISK,KDISK)
    C     RENBR(/USER INTERACTION, DECSYSTEM 10 VERSION)
 C
  C     DONALD E. BARTH, HARVARD BUSINESS SCHOOL
  C
  C     THIS ROUTINE IS CALLED BY  FORMAT STATEMENT GENERATOR
    C     TO ASK USER FOR NAMES OF  INPUT AND OUTPUT FILES, AND
    C     THEN TO OPEN THESE FILES.
  C
  C     MASTER = 0 ON INPUT, FIRST  TIME  THAT  THE  USER  IS
    C              BEING  ASKED  TO  SPECIFY  FILES.   USER  IS
    C              REQUIRED TO SPECIFY INPUT FILE.   MASTER  IS
    C              RETURNED UNCHANGED BY THIS PROGRAM.
   C            = 1 ON INPUT,  SECOND OR SUBSEQUENT TIME  THAT
    C              USER IS BEING ASKED TO SPECIFY FILES.  IF NO
    C              INPUT FILE  IS  SPECIFIED,  THEN  MASTER  IS
    C              RETURNED  UNCHANGED  AND  EXIT IS ASSUMED BY
    C              MAIN PROGRAM.  IF INPUT FILE  IS  SPECIFIED,
    C              THEN MASTER IS RETURNED SET TO -1.
    C     ITTY   = UNIT NUMBER FOR MESSAGES TO BE SEEN BY USER
C     JTTY   = UNIT NUMBER FROM WHICH USER RESPONSE IS READ
    C     IDISK  = UNIT NUMBER FROM WHICH INPUT SOURCE FILE  IS
    C              TO BE READ
   C     JDISK  = UNIT NUMBER TO WHICH OUTPUT FORTRAN FILE  IS
    C              TO BE WRITTEN
C     KDISK  = UNIT NUMBER TO WHICH OUTPUT PROOF FILE IS TO
    C              BE WRITTEN
   C
        DOUBLE PRECISION NAMSRC,NAMPRF,NAMFMT,NAMNON
         DATA NAMNON/10H          /
 C
  C     TELL USER THAT ARE DONE WITH PREVIOUS INPUT
          IF(MASTER.EQ.0)WRITE(ITTY,1)
        1 FORMAT(15H FORMAT (08/83)/
      137H CONSTRUCTS FORTRAN FORMAT STATEMENTS/1X)
         IF(MASTER.NE.0)WRITE(ITTY,2)
        2 FORMAT(1X/24H TYPE EMPTY LINE TO EXIT/1X)
 C
  C     OPEN INPUT FILE
      3 WRITE(ITTY,4)
        4 FORMAT(20H INPUT SOURCE FILE: ,$)
          READ(JTTY,5)NAMSRC
        5 FORMAT(1A10)
      IF(MASTER.EQ.0)GO TO 6
      IF(NAMSRC.EQ.NAMNON)GO TO 13
        6 OPEN(UNIT=IDISK,FILE=NAMSRC,ACCESS='SEQIN',ERR=7)
         GO TO 9
    7 WRITE(ITTY,8)
        8 FORMAT(17H CANNOT OPEN FILE)
          GO TO 3
C
  C     OPEN OUTPUT FORMAT STATEMENT FILE
        9 WRITE(ITTY,10)
      10 FORMAT(22H OUTPUT FORTRAN FILE: ,$)
        READ(JTTY,5)NAMFMT
          OPEN(UNIT=JDISK,FILE=NAMFMT,ACCESS='SEQOUT',ERR=9)
  C
  C     OPEN OUTPUT PROOF FILE
   11 WRITE(ITTY,12)
      12 FORMAT(20H OUTPUT PROOF FILE: ,$)
          READ(JTTY,5)NAMPRF
          OPEN(UNIT=KDISK,FILE=NAMPRF,ACCESS='SEQOUT',ERR=11)
 C
  C     INFORM CALLING PROGRAM THAT FILES OPENED SUCCESSFULLY
          MASTER=-MASTER
      13 RETURN
       END
          SUBROUTINE FMTEND(JDISK,KDISK)
  C     RENBR(/CLOSE FILES, DECSYSTEM 10 VERSION)
 C
  C     DONALD E. BARTH, HARVARD BUSINESS SCHOOL
  C
  C     THIS ROUTINE IS CALLED BY  FORMAT STATEMENT GENERATOR
    C     TO CLOSE THE OUTPUT FILES.
 C
  C     JDISK  = UNIT NUMBER TO WHICH OUTPUT FORTRAN FILE WAS
    C              WRITTEN
 C     KDISK  = UNIT NUMBER TO WHICH OUTPUT PROOF FILE WAS
 C              WRITTEN
 C
        CLOSE(UNIT=JDISK)
      CLOSE(UNIT=KDISK)
      RETURN
       END