STORE '0123456789' TO NUM:CHK STORE 0 TO ICNT STORE ' ; ' TO SPACE DO WHILE ICNT < 3 ERASE STORE ' ' TO MPASS @ 1,0 SAY 'PASSWORD>' SET CONSOLE OFF ACCEPT TO MPASS STORE !(MPASS) TO MPASS SET CONSOLE ON IF PASSWORD <> MPASS @ 23,20 SAY 'INVALID PASSWORD ' DO SWAIT STORE ICNT + 1 TO ICNT ELSE STORE 4 TO ICNT ENDIF ENDDO RELEASE ICNT IF PASSWORD <> MPASS STORE 0 TO I:TRY RETURN ENDIF RELEASE MPASS STORE 'Z' TO DRIVE DO WHILE DRIVE < 'A' .OR. DRIVE > 'P' STORE ' ' TO DRIVE @ 4,0 SAY 'ENTER DRIVE FOR DATA FILE ' GET DRIVE READ STORE !(DRIVE) TO DRIVE ENDDO STORE DRIVE + ':' + FILE:NAME TO IN::FILE STORE ' ' TO NDX STORE 0 TO CNT DO WHILE CNT <> 4 STORE CNT + 1 TO CNT STORE 'REPORT:' + STR(CNT,1) TO TESTIT STORE TRIM(TRANS:CD) + STR(CNT,1) TO FILE IF &TESTIT <> ' ' STORE NDX + DRIVE + ':' + FILE + ', ' TO NDX ENDIF ENDDO RELEASE DRIVE , TESTIT , FILE STORE 1 TO I:NDX IF LEN(NDX) <> 1 STORE LEN(NDX) - 2 TO STOP:NR STORE $(NDX,1,STOP:NR) TO NDX ENDIF STORE TRANS:CD + 'RP' TO REPORT USE &REPORT IF IDXX: STORE 0 TO I:NDX ENDIF IF VALL: STORE T TO VALL:: ELSE STORE F TO VALL:: ENDIF RELEASE REPORT USE &IN::FILE STORE 8 TO STOP:NR IF FUNCTION:9 <> ' ' STORE STOP:NR + 1 TO STOP:NR ENDIF IF FUNCTION:0 <> ' ' STORE STOP:NR + 1 TO STOP:NR STORE 0 TO ST: ELSE STORE 1 TO ST: ENDIF STORE 'Oz VERSION 1.61 ' TO VER: STORE T TO MORE SAVE TO &RECORD DO WHILE MORE IF MFUNC:NR > STOP:NR .OR. MFUNC:NR < 1 ERASE @ 0,0 SAY RECORD + ' ' + BLD:DATE @ 0,37 SAY VER: @ 1,5 SAY TRIM(HEADER) @ 3,10 SAY 'NR. FUNCTION' @ 5,10 SAY '1. RETURN TO CP/M' @ 6,10 SAY '2. RETURN TO dBASE II' @ 7,10 SAY '3. PERFORM SYS. MAINT.' @ 8,10 SAY '4. ADD RECORD' @ 9,10 SAY '5. CHANGE RECORD' @ 10,10 SAY '6. DELETE RECORD' @ 11,10 SAY '7. DISPLAY RECORD' @ 12,10 SAY '8. CREATE REPORT' IF STOP:NR > 8 @ 13,10 SAY '9. ' + FUNCTION:9 IF STOP:NR > 9 @ 14,10 SAY '0. ' + FUNCTION:0 ENDIF ENDIF ENDIF STORE ' ' TO NFUNC:NR DO WHILE MFUNC:NR > STOP:NR .OR. MFUNC:NR < ST: .OR. @(NFUNC:NR,NUM:CHK) = 0 @ 22,5 SAY 'ENTER DESIRED FUNCTION NR. ' GET NFUNC:NR READ STORE VAL(NFUNC:NR) TO MFUNC:NR ENDDO DO CASE CASE MFUNC:NR = 1 STORE T TO I:QUIT RETURN CASE MFUNC:NR =2 USE RELEASE ALL SET ESCAPE ON SET TALK ON ERASE CANCEL CASE MFUNC:NR = 3 STORE TRANS:CD + 'MT' TO SYSMNT DO &SYSMNT CASE MFUNC:NR = 4 STORE TRANS:CD + 'AD' TO SYSADD DO &SYSADD CASE MFUNC:NR =5 STORE TRANS:CD + 'CH' TO SYSCHG DO &SYSCHG CASE MFUNC:NR = 6 STORE TRANS:CD + 'DL' TO SYSDEL DO &SYSDEL CASE MFUNC:NR = 7 STORE TRANS:CD + 'LS' TO SYSLST DO &SYSLST CASE MFUNC:NR = 8 STORE TRANS:CD + 'RP' TO SYSRPT DO &SYSRPT CASE MFUNC:NR = 9 STORE TRANS:CD + '9' TO SYS9 DO &SYS9 CASE MFUNC:NR = 0 STORE TRANS:CD + '10' TO SYS10 DO &SYS10 STORE 99 TO MFUNC:NR OTHERWISE ENDCASE RESTORE FROM &RECORD STORE 99 TO MFUNC:NR ENDDO RELEASE MORE RETURN