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