EXTERNALROUTINE VIEWLOG(STRING (255)ACT)
DYNAMICROUTINESPEC C
CLEAR(STRING (255)S)
SYSTEMROUTINESPEC C
CONNECT(STRING (31)F, INTEGER MOD, HOL, PRO, RECORDNAME R, C
INTEGERNAME FLAG)
DYNAMICROUTINESPEC C
COPY2(STRING (255)S)
EXTERNALINTEGERFNSPEC C
DDELAY(INTEGER N)
DYNAMICROUTINESPEC C
DEFINE(STRING (255)S)
SYSTEMROUTINESPEC C
OUTFILE(STRING (31)F, INTEGER LEN, MAX, PRM, INTEGERNAME ADR, FLAG)
EXTERNALROUTINESPEC C
PERMIT(STRING (255)S)
EXTERNALROUTINESPEC C
PROMPT(STRING (255)S)
EXTERNALROUTINESPEC C
VIEW(STRING (255)S)
!
!
!
STRING (255)Z, F
INTEGER N, FLAG, A, J
!
!
!
RECORDFORMAT RF(INTEGER ADR, TYPE, START, END)
RECORD R(RF)
RECORDFORMAT LF(INTEGER SEMA, I, MAX, STRING (63)ARRAY R(0:126))
RECORDNAME L(LF)
!
!
!
ROUTINE RSTRING(STRINGNAME S)
INTEGER I
S = ""
UNTIL I = NL CYCLE
READSYMBOL(I)
S = S . TOSTRING(I)
REPEAT
LENGTH(S) = LENGTH(S) - 1
END
!
!
!
F = "VIEWLOG"
-> TEST
PROMPT:
PROMPT("Action: ")
RSTRING(ACT)
TEST:
-> CREATE IF ACT -> ("CRE") . Z
-> PRINT IF ACT -> ("PR") . Z
-> ALL IF ACT -> ("ALL") . Z
-> PROMPT
!
CREATE:
OUTFILE(F, 8192, 0, 0, A, FLAG)
! PERMIT(F.",,WR")
L == RECORD(A+32)
!
L_SEMA = -1
L_I = 0
L_MAX = 126
RETURN
PRINT:
CONNECT(F, 11, 0, 0, R, FLAG)
A = R_ADR + 32
L == RECORD(A)
J = 0
N = L_I
L_I = 0
DEFINE("61,T#VIEWLOG,500")
SELECTOUTPUT(61)
WHILE J < N CYCLE
PRINTSTRING(L_R(J))
NEWLINE
J = J + 1
REPEAT
L_SEMA = -1
!
SELECTOUTPUT(0)
CLOSESTREAM(61)
CLEAR("61")
COPY2("T#VIEWLOG,ALLVIEWLOGS-MOD")
RETURN
ALL:
VIEW("ALLVIEWLOGS")
END
ENDOFFILE