SUBROUTINE OPENF(CHAN,FILE,ERROR) INTEGER CHAN,FILE(1),ERROR INTEGER STRING(10) INTEGER CHARF,CHART,COMMA,ZERO,BLANK,CHARZ INTEGER SUCESS,GCHAR,QQMOD LOGICAL DFILE DATA CHARF,CHART,COMMA,ZERO,BLANK/70,84,44,48,32/ DATA CHARZ/90/,DFILE/.FALSE./ DATA STRING/10*0/ DFILE=.FALSE. ERROR=1 IF(CHAN.GT.99.OR.CHAN.LE.0)GOTO 30 CALL PCHAR(STRING,1,CHARF) CALL PCHAR(STRING,2,CHART) CALL PCHAR(STRING,3,CHAN/10+ZERO) CALL PCHAR(STRING,4,QQMOD(CHAN,10)+ZERO) CALL PCHAR(STRING,5,COMMA) DO 10 IK=1,32 I=GCHAR(FILE,IK) IF(I.EQ.0.OR.I.EQ.32)GOTO 20 IF(I.EQ.CHARZ)DFILE=.TRUE. CALL PCHAR(STRING,IK+5,I) 10 CONTINUE GOTO 30 20 CONTINUE IK=IK+4 IF(DFILE)GOTO 25 CALL EST(',,C',STRING,IK+1,IK+3) IK=IK+3 25 CONTINUE WRITE(6,200)STRING 200 FORMAT(1X,10A4) CALL EMASLK('DEFINE',6,STRING,IK) IK=SUCESS(I) IF(IK.EQ.0)GOTO 40 WRITE(6,100)IK 100 FORMAT(' ',' RESULT CODE =',I6) 30 ERROR=-1 40 CONTINUE RETURN END SUBROUTINE OPENN(CHAN,FILE,ERROR) INTEGER CHAN,FILE(1),ERROR CALL OPENF(CHAN,FILE,ERROR) RETURN END SUBROUTINE CLOSF(CHAN,FILE) INTEGER CHAN,FILE INTEGER STRING,ZERO INTEGER QQMOD DATA STRING,ZERO/' ',48/ FILE=1 CALL CLOSEF(CHAN) CALL PCHAR(STRING,1,CHAN/10+ZERO) CALL PCHAR(STRING,2,QQMOD(CHAN,10)+ZERO) CALL EMASLK('CLEAR',5,STRING,2) RETURN END SUBROUTINE DELETE(CHAN,FILE) INTEGER CHAN,FILE(1) INTEGER GCHAR CALL CLOSF(CHAN,FILE) DO 10 IK=1,32 IF(GCHAR(FILE,IK).EQ.0.OR.GCHAR(FILE,IK).EQ.32)GOTO 20 10 CONTINUE 20 CONTINUE CALL EMASLK('DESTROY',7,FILE,IK-1) RETURN END