80 PRINT TAB( 3)"* UNIV. DATA MANAGEMENT SYSTEM 4.0 *": PRINT TAB( 6)"COPYRIGHT 1980 BY W.L.PASSAUER": RETURN
100 D1 = PEEK(864):P$ = CHR$( PEEK(865)):P1$ = CHR$( PEEK(866)):S$ = STR$( PEEK(867)):I = PEEK(868): FOR X = 869 TO I +868:N$ = N$ + CHR$( PEEK(X)): NEXT
120 RF$ = D$ +"READ" +N$ +",R":OF$ = D$ +"OPEN" +N$ +",L":W1$ = D$ +"WRITE TEMP,R":O1$ = D$ +"OPEN TEMP,L":OT$ = D$ +"OPEN VAR TEMP":WT$ = D$ +"WRITE VAR TEMP":CL$ = D$ +"CLOSE": IF D1 = 1 THEN HOME : PRINT CHR$(7): VTAB 12: HTAB 4: PRINT "LOAD ";: INVERSE : PRINT "DATA DISK";: NORMAL : PRINT " THEN PRESS 'RTN'";: GET Z$
140 PRINT : PRINT D$"OPEN"N$".V,D"D1: PRINT D$"READ"N$".V": INPUT NC,RC,RR: DIM CL(NC): FOR X = 1 TO NC: INPUT CL(X): NEXT
180 LL = (CL(NC) +NC): PRINT D$"OPEN"N$",L"LL",D"D1: DIM BB(RC),A$(40,NC),B$(20),FR(20),TR(20),C(20),Z$(20),S$(RC),H$(NC),CL%(NC),PC(NC +5)
190 FOR X = 1 TO NC:B1 = CL(X -1): PRINT D$"READ"N$",R"0",B"B1: CALL 783:H$(X) = MID$ (TE$,1): NEXT : PRINT D$"CLOSE": FOR X = 1 TO NC:CL%(X) = CL(X) -CL(X -1) -1: NEXT : GOSUB 40
2020 IF A1 = 1 THEN VTAB 3: HTAB 6: PRINT "ENTER <CTRL-Q> WHEN FINISHED": GOSUB 250: POKE 34,4
2030 A1 = A1 +1: IF A1 = 21 THEN X5 = A1 -1: GOTO 2280
2040 IF A1 >1 THEN HTAB 10: PRINT "SORT "A1" OF 20 ALLOWED": GOSUB 250: GOTO 2080
2050 IF A1 >1 THEN 2080
2055 IF D1 = 1 THEN HOME : GOTO 2078
2060 VTAB 4: INPUT "WRITE SORTED FILE TO DRIVE# 1 (Y/N) ? ";Z1$: IF Z1$ < >"" THEN IF ASC(Z1$) = 17 THEN TEXT : GOTO 3055
2070 IF Z1$ < >"Y" AND Z1$ < >"N" THEN PRINT CHR$(7);: GOSUB 230: GOTO 2060
2072 IF Z1$ = "N" THEN POKE 76,0: POKE 77,150: CALL 688:SEC = PEEK(781) + PEEK(782) *256:BY = ( INT(SEC/4) +1) *1024: IF (LL *RC) >BY THEN HOME : VTAB 12: PRINT "<CTRL-G>INSUFFICIENT DISK SPACE ON DATA DISK": PRINT "PRESS 'RTN'";: GET Z$: HOME : GOTO 2060
2074 IF Z1$ = "N" THEN 2080
2076 PRINT CHR$(7): HOME : VTAB 4: PRINT "INSERT A <COPY TO> DISKETTE INTO DRIVE#1AND PRESS 'RTN' ";: GET Z2$: HOME : GOTO 2080
2078 VTAB 9: HTAB 12: PRINT "IS <COPY TO> DISKETTE:": PRINT : HTAB 10: PRINT "1- ORIGINAL DATA DISKETTE": HTAB 10: PRINT "2- ANOTHER DATA DISKETTE": PRINT : HTAB 17: INPUT "WHICH: ";Z3$: HOME : IF Z3$ < >"" THEN IF ASC(Z3$) = 17 THEN TEXT : GOTO 3055
2079 IF Z3$ <"1" OR Z3$ >"2" THEN PRINT CHR$(7): TEXT : GOTO 2000
2080 VTAB 8: PRINT "SORT FROM RECORD #: 1";: HTAB 21: INPUT "";FR$: IF FR$ = "" THEN FR(A1) = 1: HTAB 21: VTAB 8: PRINT 1: GOTO 2130
2090 IF ASC(FR$) = 17 AND A1 = 1 THEN TEXT : GOTO 3050
2100 IF ASC(FR$) = 17 THEN X5 = A1 -1: GOTO 2280
2110 FR(A1) = VAL(FR$)
2120 IF FR(A1) <1 OR FR(A1) >RC THEN PRINT CHR$(7);: GOSUB 230: GOTO 2080
2130 VTAB 10: PRINT "TO RECORD #: "RC;: HTAB 14: INPUT "";TR$: IF TR$ = "" THEN TR$ = STR$(RC)
2140 TR(A1) = VAL(TR$): IF TR(A1) <FR(A1) OR TR(A1) >RC THEN PRINT CHR$(7);: GOSUB 230: GOTO 2130
2150 IF A1 >1 THEN 2210
2210 HOME : GOSUB 240: PRINT : PRINT "SORT WHICH FIELD (1-";NC;") ";: INPUT C$
2220 C(A1) = VAL(C$): IF C(A1) <1 OR C(A1) >NC THEN PRINT CHR$(7);: GOTO 2210
2230 HOME : PRINT :B$(A1) = "": HTAB 12: PRINT "* SORTING OPTIONS *": PRINT : HTAB 15: PRINT "W- WORD": HTAB 15: PRINT "N- NUMBER": HTAB 15: PRINT "D- DATE": PRINT : HTAB 16: INPUT "WHICH: ";B$(A1): PRINT : IF B$(A1) < >"W" AND B$(A1) < >"N" AND B$(A1) < >"D" THEN PRINT CHR$(7): HOME : GOTO 2230
2240 INPUT "ASCENDING OR DESCENDING ORDER (A/D) ? ";Z$(A1): IF Z$(A1) < >"A" AND Z$(A1) < >"D" THEN PRINT CHR$(7);: GOSUB 230: GOTO 2240
2250 IF FR(A1) = 1 AND TR(A1) = RC THEN 2290
2260 IF X4 >0 THEN 2280
2270 HOME : GOTO 2020
2280 GOSUB 310: FOR X3 = 1 TO X5: HTAB 2: INVERSE : PRINT X3;: NORMAL : HTAB 8: PRINT FR(X3);: HTAB 15: PRINT TR(X3);: HTAB 23: PRINT C(X3);
3230 IF NR <1 AND Z3$ = "2" THEN PRINT CHR$(7);: VTAB 23: PRINT "INSERT ";: INVERSE : PRINT "COPY DISK";: NORMAL : PRINT " AND PRESS 'RTN'";: GET Z2$: GOSUB 230
3240 VTAB 23: HTAB 15: FLASH : PRINT "- WORKING -": NORMAL
3250 PRINT OT$",D"D1: PRINT WT$
3260 PRINT NC: PRINT RC: PRINT RR
3270 FOR N1 = 1 TO NC: PRINT CL(N1): NEXT
3280 PRINT CL$
3290 PRINT O1$LL
3300 FOR X1 = 1 TO NC:B1 = CL(X1 -1): PRINT W1$0",B"B1: PRINT H$(X1): NEXT
3530 PRINT : PRINT D$"DELETE"N$".V": PRINT D$"RENAME VAR TEMP,"N$".V"
3540 IF Z3$ = "2" THEN GOSUB 3590: POKE 216,0
3550 GOTO 3040
3560 PRINT : PRINT D$"RENAME TEMP,"N$
3570 PRINT : PRINT D$"RENAME VAR TEMP,"N$".V"
3580 GOTO 3540
3590 FOR I = 1013 TO 1022: READ PP: POKE I,PP: NEXT : DATA 104,168,104,166,223,1 54,72,152,72,96
3600 VTAB 23: HTAB 15: FLASH : PRINT "-WORKING-": NORMAL
3610 ONERR GOTO 3630
3620 PRINT D$"OPEN DATA FILES,D1": PRINT D$"READ DATA FILES": INPUT NR: FOR J = 1 TO NR: INPUT R$(J): NEXT : PRINT CL$:R$(NRd1) = N$: PRINT D$"OPEN DATA FILES": PRINT D$"WRITE DATA FILES": PRINT NR +1: FOR J = 1 TO NR +1: PRINT R$(J): NEXT : PRINT CL$: GOTO 3640
3630 CALL 1013: PRINT D$"OPEN DATA FILES": PRINT D$"WRITE DATA FILES": PRINT 1: PRINT N$: PRINT CL$