home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / DF1.DSK / DM.bas < prev    next >
BASIC Source File  |  2014-09-09  |  17KB  |  218 lines

  1. 10 A$ = "":E = 0: POKE 216,0: TEXT :D$ =  CHR$(4): PRINT D$"NOMON I,O,C": POKE 1013,76: POKE 1014,176: POKE 1015,3: POKE 37902,255: GOTO 100
  2. 40  PRINT D$"OPEN"N$".P,D"D1: PRINT D$"READ"N$".P": INPUT CO,F1,LI,F2,F1$,F3,F3$,F6$,F8$,F8,MO,CT$,N,TF$,LF$: PRINT CL$: RETURN 
  3. 80  PRINT  TAB( 3)"* UNIV. DATA MANAGEMENT SYSTEM 4.0 *": PRINT  TAB( 6)"COPYRIGHT 1980 BY W.L.PASSAUER": RETURN 
  4. 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 
  5. 120 WF$ = D$ +"WRITE" +N$ +",R":RF$ = D$ +"READ" +N$ +",R":OF$ = D$ +"OPEN" +N$ +",L":O$ = D$ +"OPEN" +N$ +".V":CL$ = D$ +"CLOSE":W$ = D$ +"WRITE" +N$ +".V": 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$
  6. 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 
  7. 180 LL = (CL(NC) +NC): PRINT D$"OPEN"N$",L"LL: DIM BB(RR),A$(RR),S$(RR),S1$(50,NC),H$(NC),CL%(NC),EN$(RR): FOR X = 1 TO NC:B1 = CL(X -1): PRINT D$"READ"N$",R"0",B"B1: CALL 783:H$(X) =  MID$ (A$,1): NEXT : PRINT D$"CLOSE": FOR X = 1 TO NC:CL%(X) = CL(X) -CL(X -1) -1: NEXT : IF P1$ = "Y"  THEN  GOSUB 40
  8. 220  PRINT  CHR$(7);
  9. 230  IF S$ = "3"  THEN 3000
  10. 240  IF S$ = "4"  THEN 4000
  11. 250  IF S$ = "8"  THEN 5000
  12. 260  IF S$ = "9"  THEN 6000
  13. 265  IF S$ = "21"  THEN 7000
  14. 267  IF S$ = "11"  THEN 1300
  15. 270  PRINT D$"PR#"F8: IF CT$ < >""  THEN  PRINT CT$
  16. 271  RETURN 
  17. 280  PRINT D$"PR#"MO: RETURN 
  18. 290  ONERR  GOTO 320
  19. 295  PRINT : PRINT OF$LL",D"D1: FOR I = 1 TO RC:B1 = CL(C -1): PRINT RF$I",B"B1: CALL 783:S$(I) =  MID$ (A$,1): NEXT : PRINT CL$: POKE 216,0: RETURN 
  20. 310  ONERR  GOTO 325
  21. 315  PRINT OF$LL",D"D1: FOR X = 1 TO NC:B1 = CL(X -1): PRINT RF$RS",B"B1: CALL 783:A$(X) =  MID$ (A$,1): NEXT : PRINT CL$: POKE 216,0: RETURN 
  22. 320  POKE 216,0: PRINT  CHR$(7): HOME : VTAB 12: PRINT "DISK ERROR-RECORD ";: INVERSE : PRINT I;: NORMAL : PRINT " MAY BE BAD": PRINT "PRESS 'RTN'";: GET Z$: GOTO 1010
  23. 325 I = RS: GOTO 320
  24. 330 F = 0: IF Z1$ = "2"  THEN 395
  25. 340  HOME : VTAB 7: HTAB 13: PRINT "SELECTION LIST": PRINT : HTAB 10: PRINT "1-'ENTRY' SEARCH": HTAB 10: PRINT "2-RECORD NUMBER SEARCH": PRINT : HTAB 10: PRINT "3-FINISHED": PRINT : HTAB 14: INPUT "WHICH (1-3)? ";A1$: IF A1$ < >""  THEN  IF  ASC(A1$) = 17  THEN  POP : GOTO 1010
  26. 345  IF  VAL(A1$) <1  OR  VAL(A1$) >3  THEN  PRINT  CHR$(7);: GOSUB 560: GOTO 340
  27. 350  IF A1$ = "3"  THEN Z1$ = "": POP : GOTO 1010
  28. 360  IF A1$ = "1"  THEN 395
  29. 370  PRINT : PRINT 
  30. 380  PRINT "ENTER RECORD NUMBER (0-"RC") ";: INPUT RS: IF RS <(RC +1)  THEN  GOSUB 310: RETURN 
  31. 390  PRINT  CHR$(7);: GOSUB 560: GOTO 380
  32. 395  HOME : GOSUB 570: PRINT 
  33. 400  INPUT "FOUND IN WHAT FIELD # ";C: IF C <1  OR C >NC  THEN  PRINT  CHR$(7);: GOSUB 560: GOTO 400
  34. 410 R2 = 0: PRINT : PRINT : PRINT "ENTER ITEM TO SEARCH FOR: ":L = CL%(C): GOSUB 800
  35. 420  & NA$,B$:PA =  LEN(NA$): IF PA = 0  THEN PA = 1
  36. 430  IF C = SE  THEN 450
  37. 440  PRINT : PRINT : GOSUB 590: GOSUB 290
  38. 450 SE = C: HOME : VTAB 12: PRINT  TAB( 14)"> SEARCHING <": IF Z1$ = "2"  THEN 492
  39. 460  FOR RS = R2 TO RC: IF RS = 0  THEN 540
  40. 480  IF  LEFT$(S$(RS),PA) = NA$  THEN  GOSUB 310: HOME : RETURN 
  41. 490  NEXT : GOTO 500
  42. 492  FOR RS = 1 TO RC: IF S$(RS) = NA$  THEN F = 1: HOME : VTAB 14: HTAB 19: PRINT RS"  ": GOTO 4018
  43. 494  NEXT : IF F = 1  AND Z1$ = "2"  THEN 4060
  44. 500  HOME : VTAB 11: PRINT  CHR$(7): PRINT "SORRY-I COULD NOT FIND > "NA$" <": PRINT : INPUT "CONTINUE (Y/N) ? ";Z$: IF Z$ < >"Y"  AND Z$ < >"N"  THEN  PRINT  CHR$(7);: GOTO 500
  45. 510  PRINT : PRINT : IF Z$ = "N"  THEN 1010
  46. 530  GOTO 395
  47. 540  IF  LEFT$(H$(C),PA) = NA$  THEN  GOSUB 310: HOME : RETURN 
  48. 550  GOTO 490
  49. 560 CV =  PEEK(37): POKE 37,(CV -1): CALL  -958: RETURN 
  50. 570  FOR X = 1 TO NC: PRINT  TAB( 4)X;"-("CL%(X)") ";: HTAB 14: PRINT H$(X): NEXT : RETURN 
  51. 580  FOR X = 1 TO 40: PRINT "-";: NEXT : RETURN 
  52. 590  HOME : VTAB 12: PRINT  TAB( 11)"> RECALLING DATA <": RETURN 
  53. 600  PRINT : PRINT OF$LL",D"D1: FOR X = 1 TO NC:B1 = CL(X -1): PRINT WF$RS",B"B1: PRINT A$(X): NEXT : PRINT CL$: RETURN 
  54. 750  POKE 76,0: POKE 77,150: CALL 688:SEC =  PEEK(781) + PEEK(782) *256:BY = ( INT(SEC/4) +1) *1024:BZ =  INT((BY -3072)/LL): IF BZ >RR -RC  THEN BZ = RR -RC
  55. 755  RETURN 
  56. 800 B$ = "": PRINT : FOR I1 = 1 TO L: PRINT "_";: NEXT : VTAB ( PEEK(37) +2 -(L/39.9)): HTAB 1: IF E = 2  THEN CV =  PEEK(37): PRINT A$(CL);: VTAB CV +1: HTAB 1
  57. 810  FOR I1 = 1 TO L +1
  58. 820  CALL 849:E =  PEEK(833) -128: IF E = 17  AND CL = 1  THEN B$ =  CHR$(E): RETURN 
  59. 823  IF E = 10  THEN E = 92
  60. 824  IF E = 11  THEN E = 91
  61. 825  IF E = 12  THEN E = 95
  62. 826  IF E = 27  AND I1 >1  THEN 820
  63. 827  IF E = 27  THEN B$ = A$(CL): PRINT B$: RETURN 
  64. 828  IF E1  THEN B =  LEN(A$(CL)): IF  LEN(B$) >B  THEN B =  LEN(B$)
  65. 830  IF E1  AND I1 =  <B  AND E = 21  THEN  CALL  -1036:B$ = B$ + MID$ (A$(CL),I1,1):I1 = I1 +1: GOTO 820
  66. 831  IF E = 21  THEN 820
  67. 840  IF E = 8  THEN  GOSUB 890: GOTO 820
  68. 850  IF E = 13  THEN CV =  PEEK(37) -3: CALL  -958: PRINT  CHR$(E);:E1 = 0: RETURN 
  69. 860  PRINT  CHR$(E);:B$ = B$ + CHR$(E): NEXT : IF  RIGHT$(B$,1) < > CHR$(13)  THEN  GOSUB 940: GOTO 800
  70. 880  RETURN 
  71. 890  IF I1 < = 1  THEN  RETURN 
  72. 895  IF E1  THEN  PRINT  CHR$(8);: GOTO 910
  73. 900  PRINT  CHR$(8);"_"; CHR$(8);
  74. 910 I1 = I1 -1: IF I1 =  <1  THEN I1 = 1:B$ = "": RETURN 
  75. 930 B$ =  LEFT$(B$, LEN(B$) -1): RETURN 
  76. 940  PRINT  CHR$(7): INVERSE : HTAB 10: PRINT "ENTRY IS TOO LONG": NORMAL : RETURN 
  77. 950 SK =  INT(CL%(CL)/40): FOR X = 1 TO SK: PRINT : NEXT : RETURN 
  78. 1010  HOME : GOSUB 80: PRINT :TA = 20 -( LEN(N$)/2): HTAB TA: INVERSE : PRINT N$: NORMAL : PRINT : PRINT  TAB( 6)"MENU SELECTION LIST (REPORT)": PRINT 
  79. 1030  PRINT "1-ENTER DATA";: HTAB 22: PRINT "12-LIST": PRINT "2-UPDATE";: HTAB 22: PRINT "13-SEARCH": PRINT "3-INSPECT/CHANGE";: HTAB 22: PRINT "14-LEVEL SEARCH"
  80. 1040  PRINT "4-DELETE A RECORD";: HTAB 22: PRINT "15-FROM/TO SEARCH": PRINT "5-REPLACE";: HTAB 22: PRINT "16-SORT": PRINT "6-TRANSFER";: HTAB 22: PRINT "17-MATH"
  81. 1050  PRINT "7-CONSTRUCT/APPEND";: HTAB 22: PRINT "18-COMPARE": PRINT "8-FILE INFORMATION";: HTAB 22: PRINT "19-INDEX": PRINT "9-DELETE A FILE";: HTAB 22: PRINT "20-PRINTER SET-UP"
  82. 1060  PRINT "10-DISK SPACE";: HTAB 22: PRINT "21-DELETE A FORMAT": PRINT "11-INITIALIZE A DISK";: HTAB 22: PRINT "22-SELECT A FILE": PRINT : HTAB 17: PRINT "0-EXIT"
  83. 1070  VTAB (22): HTAB 16: INPUT "WHICH: ";S$: IF S$ = ""  THEN  PRINT  CHR$(7): GOSUB 560: GOTO 1070
  84. 1090  IF  ASC(S$) = 48  THEN  PRINT  CHR$(7): HOME : VTAB 10: HTAB 7: PRINT "NICE WORKING WITH YOU....": PRINT : PRINT "PLEASE PLACE AN ";: INVERSE : PRINT "<APPLE BOOT>";: NORMAL : PRINT " DISKETTE INTO DRIVE #1 AND PRESS 'RTN'";: GET Z$: PRINT : PRINT D$"PR#6"
  85. 1100  IF  VAL(S$) <1  OR  VAL(S$) >22  THEN  PRINT  CHR$(7): GOSUB 560: GOTO 1070
  86. 1105  ONERR  GOTO 1290
  87. 1110 S =  VAL(S$): IF S = 3  OR S = 4  OR S = 8  OR S = 9  OR S = 11  OR S = 21  THEN  POKE 216,0: GOTO 1150
  88. 1111 D7$ = "UTILITY": IF S = 1  OR S >11  OR S = 10  THEN D7$ = "REPORT"
  89. 1112  IF D1 = 2  AND S < >1  AND S <12  AND S < >10  THEN  PRINT  CHR$(7): HOME : VTAB 11: HTAB 2: PRINT "LOAD ";: INVERSE : PRINT "UTILITY";: NORMAL : PRINT " PROGRAM DISK INTO DRIVE #1": HTAB 12: PRINT "THEN PRESS 'RTN'";: GET Z$
  90. 1120  IF D1 = 1  THEN  HOME : PRINT  CHR$(7): VTAB 12: HTAB 8: PRINT "LOAD ";: INVERSE : PRINT D7$;: NORMAL : PRINT " PROGRAM DISK": HTAB 12: PRINT " THEN PRESS 'RTN'";: GET Z$
  91. 1130  POKE 867, VAL(S$): HOME : VTAB 12: HTAB 11: PRINT "< LOADING MODULE >"
  92. 1150  ON  VAL(S$) GOTO 1160,1270,3000,4000,1250,1240,1260,5000,6000,1170,1300,1170,1180,1230,1200,1190,1210,1220,1170,1170,7000,1280
  93. 1160  PRINT D$"RUN ED,D1"
  94. 1170  PRINT D$"RUN L,D1"
  95. 1180  PRINT D$"RUN SH,D1"
  96. 1190  PRINT D$"RUN S,D1"
  97. 1200  PRINT D$"RUN FT,D1"
  98. 1210  PRINT D$"RUN M,D1"
  99. 1220  PRINT D$"RUN C,D1"
  100. 1230  PRINT D$"RUN LS,D1"
  101. 1240  PRINT D$"RUN T,D1"
  102. 1250  PRINT D$"RUN R,D1"
  103. 1260  PRINT D$"RUN CA,D1"
  104. 1270  PRINT D$"RUN U,D1"
  105. 1280  PRINT D$"RUN I,D1"
  106. 1290  HOME : PRINT  CHR$(7): VTAB 10: HTAB 7: INVERSE : PRINT "WRONG DISKETTE IN DRIVE # 1": NORMAL : PRINT : PRINT "PRESS 'RTN'";: GET Z$: GOTO 1111
  107. 1300  HOME : PRINT  CHR$(7): VTAB 9: FLASH : HTAB 15: PRINT "WARNING!!": HTAB 3: PRINT "YOU ARE ABOUT TO ERASE A DISKETTE!!": NORMAL : PRINT : PRINT "TO INITIALIZE A DISKETTE, PLACE A DISK": PRINT "INTO DRIVE #"D1", PRINT ";: INVERSE : PRINT "INITIALIZE";: NORMAL 
  108. 1315  PRINT " THEN": PRINT "PRESS 'RTN',OR PRESS 'RTN' ONLY TO": PRINT "ESCAPE:":L = 10: GOSUB 800:Z$ = B$: IF Z$ = "INITIALIZE"  THEN  PRINT D$"INITI,V0,D"D1: PRINT  CHR$(7): GOTO 1010
  109. 1320  GOTO 1010
  110. 3000  CALL 37896:SE = 0:F = 0: REM  
  111. 3010  HOME : PRINT  TAB( 3)"* INSPECT/CHANGE A RECORD ROUTINE *": GOSUB 580: PRINT 
  112. 3020  INPUT "PRINT WITH FIELD HEADINGS (Y/N) ";Z1$: IF Z1$ < >""  THEN  IF  ASC(Z1$) = 17  THEN 1010
  113. 3025  IF Z1$ < >"Y"  AND Z1$ < >"N"  THEN  PRINT  CHR$(7);: GOSUB 560: GOTO 3020
  114. 3030  PRINT 
  115. 3040  GOSUB 330
  116. 3050  HOME : PRINT  TAB( 9)"CHANGE SELECTION LIST": PRINT 
  117. 3060  INVERSE : PRINT "0-  * NO MORE CHANGES *";: HTAB 26: PRINT "RECORD #: "RS: NORMAL : PRINT : IF Z1$ = "N"  THEN 3100
  118. 3080  FOR X = 1 TO NC: INVERSE : PRINT X"-";: NORMAL : HTAB 5: INVERSE : PRINT H$(X);: NORMAL : PRINT " - ";: PRINT A$(X);: IF RS = 0  THEN  IF  RIGHT$(A$(X),1) = " "  THEN  PRINT "(J)": GOTO 3088
  119. 3085  PRINT 
  120. 3088 CV =  PEEK(37): IF CV <19  THEN 3310
  121. 3090  GOTO 3270
  122. 3100  FOR X = 1 TO NC: INVERSE : PRINT X"-";: NORMAL : HTAB 5: PRINT A$(X);: IF RS = 0  THEN  IF  RIGHT$(A$(X),1) = " "  THEN  PRINT "(J)": GOTO 3108
  123. 3105  PRINT 
  124. 3108 CV =  PEEK(37): IF CV <19  THEN 3310
  125. 3110  GOTO 3270
  126. 3115  PRINT : PRINT "WHICH: (R)ESTART/S)KIP/FIELD 0-"NC") ";: INPUT Z$: HOME : IF Z$ = "R"  THEN  HOME : GOTO 3060
  127. 3120  IF Z$ = "S"  AND A1$ = "2"  THEN 3040
  128. 3121  IF Z$ = "S"  THEN  HOME :R2 = RS +1: VTAB 12: HTAB 14: PRINT "> SEARCHING <": GOSUB 460: GOTO 3050
  129. 3122 CL =  VAL(Z$): IF CL >NC  OR Z$ = ""  THEN  PRINT  CHR$(7);: GOTO 3050
  130. 3123  IF CL >0  THEN F = 1
  131. 3125  IF CL = 0  AND F = 1  THEN F = 0: PRINT : GOTO 3220
  132. 3130  IF CL = 0  THEN 3260
  133. 3140  PRINT  TAB( 12)"ENTER YOUR CHANGE": GOSUB 580
  134. 3160  PRINT H$(CL)"  ("CL%(CL)")": PRINT A$(CL):A$(CL) = "":L = CL%(CL): GOSUB 800
  135. 3165  & A$(CL),B$:WS$(1) = A$(CL)
  136. 3170  IF RS = 0  THEN H$(CL) = WS$(1)
  137. 3180 A$(CL) = WS$(1): PRINT : PRINT : GOTO 3050
  138. 3220  GOSUB 600: PRINT : PRINT 
  139. 3260  GOTO 3040
  140. 3270  PRINT : PRINT "PRESS (R)ESTART/(E)ND/'RTN' TO CONT. ";: GET Z$: IF Z$ = "R"  THEN  HOME : GOTO 3060
  141. 3290  IF Z$ = "E"  THEN  HOME : GOTO 3115
  142. 3300  HOME 
  143. 3310  NEXT : GOTO 3115
  144. 4000  CALL 37896:SE = 0
  145. 4010  HOME : PRINT  TAB( 7)"- DELETE A RECORD ROUTINE -": GOSUB 580: VTAB 8: HTAB 4: PRINT "1- ONE RECORD": HTAB 4: PRINT "2- ALL RECORDS CONTAINING 'ENTRY'": HTAB 4: PRINT "3- FROM/TO DELETE"
  146. 4011  HTAB 4: PRINT "4- SELECTED RECORDS"
  147. 4012  PRINT : PRINT : HTAB 10: INPUT "DELETE WHICH (1-4): ";Z1$: IF Z1$ < >""  THEN  IF  ASC(Z1$) = 17  THEN 1010
  148. 4013  IF  VAL(Z1$) <1  OR  VAL(Z1$) >4  THEN  PRINT  CHR$(7): GOTO 4010
  149. 4015  IF Z1$ = "4"  THEN 4200
  150. 4016  IF Z1$ = "3"  THEN 4100
  151. 4017  HOME : GOSUB 330
  152. 4018  IF Z1$ = "2"  THEN 4050
  153. 4020  HOME : FOR X = 1 TO NC: INVERSE : PRINT H$(X);: NORMAL : PRINT " - "A$(X): NEXT : PRINT : PRINT : INPUT "D)ELETE/S)KIP RECORD OR A)BORT (D/S/A)";Z$: HOME : IF Z$ < >"D"  AND Z$ < >"S"  AND Z$ < >"A"  THEN  PRINT  CHR$(7): GOTO 4020
  154. 4025  IF A1$ = "2"  AND Z$ = "S"  THEN 4070
  155. 4030  IF Z$ = "S"  THEN  HOME :R2 = RS +1: VTAB 12: HTAB 14: PRINT "> SEARCHING <": GOSUB 460: GOTO 4020
  156. 4040  IF Z$ = "A"  THEN 4070
  157. 4050  VTAB 12: PRINT  TAB( 11)"< DELETING RECORD >": FOR X = 1 TO NC:A$(X) = "@": NEXT : GOSUB 600: IF Z1$ = "2"  THEN 494
  158. 4060  HOME : VTAB 10: PRINT  TAB( 8)"< SORT, TO COMPACT FILE >": PRINT 
  159. 4070  VTAB 12: HTAB 4: INPUT "DELETE ANOTHER RECORD (Y/N) ? ";Z$: IF Z$ < >"Y"  AND Z$ < >"N"  THEN  PRINT  CHR$(7): GOTO 4070
  160. 4080  IF Z$ = "Y"  THEN 4010
  161. 4090  GOTO 1010
  162. 4100  VTAB 4: CALL  -958: PRINT "DELETE FROM RECORD (1-"RC") ";: INPUT F4: IF F4 >RC  THEN  PRINT  CHR$(7);: GOSUB 560: GOTO 4100
  163. 4110  PRINT 
  164. 4120  PRINT "TO RECORD ("F4"-"RC") ";: INPUT F5: IF F5 <F4  OR F5 >RC  THEN  PRINT  CHR$(7);: GOSUB 560: GOTO 4120
  165. 4125  PRINT 
  166. 4130  PRINT "DELETE FROM RECORD > "F4" <": PRINT : HTAB 10: PRINT "TO RECORD > "F5" < OK (Y/N) ";: INPUT Z$: IF Z$ < >"Y"  AND Z$ < >"N"  THEN  PRINT  CHR$(7);: GOSUB 560: GOTO 4130
  167. 4140  IF Z$ = "N"  THEN 4100
  168. 4150  VTAB 13: PRINT  TAB( 11)"< DELETING RECORD >": FOR RS = F4 TO F5: FOR X = 1 TO NC:A$(X) = "@": NEXT : VTAB 15: HTAB 19: PRINT RS"  ": GOSUB 600: NEXT : PRINT  CHR$(7): GOTO 4060
  169. 4200  VTAB 3: CALL  -958: HTAB 8: PRINT "ENTER <0> WHEN FINISHED": GOSUB 580: POKE 34,4: PRINT 
  170. 4205  FOR X1 = 1 TO RC
  171. 4210  PRINT "DELETE RECORD NUMBER (1-"RC"): ";: INPUT "";BB(X1): IF BB(X1) >RC  THEN  PRINT  CHR$(7);: GOSUB 560: GOTO 4210
  172. 4220  IF BB(X1) = 0  THEN X1 = X1 -1: GOTO 4240
  173. 4230  PRINT : NEXT 
  174. 4240  HOME : VTAB 12: PRINT  TAB( 11)"< DELETING RECORD >": FOR X2 = 1 TO X1: FOR X = 1 TO NC:A$(X) = "@": NEXT :RS = BB(X2): VTAB 14: HTAB 20: PRINT BB(X2)"   ": GOSUB 600: NEXT 
  175. 4250  TEXT : PRINT  CHR$(7): GOTO 4060
  176. 5000  REM 
  177. 5010  HOME : PRINT  TAB( 8)"* * FILE INFORMATION * *": GOSUB 580: IF P1$ = "N"  THEN 5080
  178. 5020  PRINT 
  179. 5030  INPUT "ON PRINTER (Y/N) ? ";P$: IF P$ < >""  THEN  IF  ASC(P$) = 17  THEN 1010
  180. 5040  IF P$ < >"Y"  AND P$ < >"N"  THEN  PRINT  CHR$(7);: GOSUB 560: GOTO 5030
  181. 5050  GOSUB 560: HTAB 1: IF P$ = "Y"  THEN  PRINT : GOSUB 270: GOTO 5070
  182. 5060  GOTO 5080
  183. 5070 TA = 20 -( LEN(N$)/2): PRINT  TAB( TA)N$: PRINT 
  184. 5080  VTAB 3: PRINT "FLD#";: PRINT  TAB( 6)"LENGTH";: PRINT  TAB( 13)"NAME": GOSUB 580: PRINT : FOR X = 1 TO NC: PRINT  TAB( 2)X;: HTAB 7: PRINT "("CL%(X)")";: HTAB 13: PRINT H$(X);: IF  RIGHT$(H$(X),1) = " "  THEN  PRINT "(J)": GOTO 5085
  185. 5083  PRINT 
  186. 5085  NEXT 
  187. 5090  PRINT : PRINT "RECORDS MEMORY WILL HOLD = ";RR: PRINT : PRINT "NUMBER  OF RECORDS  USED = "RC: PRINT : PRINT "NUMBER OF RECORDS UNUSED = "(RR -RC): PRINT : PRINT "IS PRINTER  BEING USED ?  ";
  188. 5120  IF P1$ = "Y"  THEN  PRINT " YES"
  189. 5130  IF P1$ = "N"  THEN  PRINT " NO"
  190. 5140  GOSUB 280: PRINT : PRINT "PRESS 'RTN' TO MENU ";: GET Z$: GOTO 1010
  191. 6000  REM 
  192. 6010 NR = 1: HOME : HTAB 11: PRINT "* DELETE A FILE *": GOSUB 580: POKE 34,2
  193. 6020  IF NR = 0  OR N$ = N3$  THEN  PRINT  CHR$(7): HTAB 8: INVERSE : PRINT "DATA FILES NOT AVAILABLE": NORMAL : PRINT "  INSURE <PROGRAM DISKETTE> IS LOADED.": PRINT "PRESS'RETURN' TO RESTART PROGRAM";: GET Z$: PRINT : PRINT D$"RUN I,D1"
  194. 6030  ONERR  GOTO 6300
  195. 6040  PRINT : PRINT D$"OPEN DATA FILES,D"D1: PRINT D$"READ DATA FILES": INPUT NR: FOR J = 1 TO NR: INPUT R$(J): NEXT : PRINT D$"CLOSE": VTAB 3: HTAB 2: INVERSE : PRINT "DELETEING ALL FILES OR FILE IN MEMORY": NORMAL : HTAB 11: INVERSE : PRINT "WILL STOP PROGRAM": NORMAL : PRINT : HTAB 7: PRINT "--DATA FILES AVAILABLE--": PRINT : FOR I = 1 TO NR: PRINT I" "R$(I): NEXT : PRINT : PRINT I" EXIT ROUTINE": PRINT 
  196. 6110  PRINT "WHICH: (1-"I")  ";: INPUT "";Z1$:Z =  VAL(Z1$): IF Z <1  OR Z >I  THEN  PRINT  CHR$(7);: GOSUB 560: GOTO 6110
  197. 6120  IF Z = I  THEN  POKE 216,0: TEXT : GOTO 1010
  198. 6125  PRINT  CHR$(7): PRINT "DELETE FILE <"R$(Z)"> (Y/N) ";: INPUT Z$: IF Z$ < >"Y"  THEN  TEXT : GOTO 6000
  199. 6130 N3$ = R$(Z): HOME : VTAB 12: HTAB 9: PRINT "< DELETING DATA FILE >": PRINT D$"OPEN DATA FILES": PRINT D$"WRITE DATA FILES": IF NR -1 <1  THEN  PRINT D$"DELETE DATA FILES":NR = NR -1: GOTO 6190
  200. 6160  PRINT NR -1: FOR J = 1 TO NR: IF J < >Z  THEN  PRINT R$(J)
  201. 6170  NEXT : PRINT D$"CLOSE"
  202. 6190  PRINT D$"DELETE"N3$: PRINT D$"DELETE"N3$".V": PRINT D$"OPEN"N$".F,D"D1: PRINT D$"READ"N$".F": INPUT NR: FOR J = 1 TO NR: INPUT R$(J): NEXT : PRINT CL$: FOR I = 1 TO NR: PRINT D$"DELETE"R$(I)"-F": NEXT : PRINT D$"DELETE"N3$".F"
  203. 6270  ONERR  GOTO 6310
  204. 6280  PRINT D$"DELETE"N3$".P"
  205. 6290  POKE 216,0: PRINT  CHR$(7): HOME : GOTO 6020
  206. 6300  GOTO 6270
  207. 6310  GOTO 6290
  208. 7000  REM 
  209. 7010  HOME : HTAB 12: PRINT "* DELETE A FORMAT *": GOSUB 580: POKE 34,2: ONERR  GOTO 7170
  210. 7020  PRINT : PRINT D$"OPEN"N$".F,D"D1: PRINT D$"READ"N$".F": INPUT NR: FOR J = 1 TO NR: INPUT R$(J): NEXT : PRINT CL$: HOME : PRINT : HTAB 9: PRINT "-- FORMATS AVAILABLE --": PRINT : FOR I = 1 TO NR: PRINT I" "R$(I): NEXT : PRINT : PRINT I" EXIT ROUTINE": PRINT 
  211. 7070  PRINT "DELETE WHICH: (1-"I") ";: INPUT Z1$:Z =  VAL(Z1$): IF Z <1  OR Z >I  THEN  PRINT  CHR$(7);: GOSUB 560: GOTO 7070
  212. 7080  HOME : IF Z = I  THEN  POKE 216,0: TEXT : GOTO 1010
  213. 7090 N3$ = R$(Z): HOME : VTAB 12: HTAB 10: PRINT "< DELETING FORMAT >": PRINT : PRINT D$"OPEN"N$".F": PRINT D$"WRITE"N$".F": IF NR -1 <1  THEN  PRINT D$"DELETE"N$".F": GOTO 7150
  214. 7120  PRINT NR -1: FOR J = 1 TO NR: IF J < >Z  THEN  PRINT R$(J)
  215. 7130  NEXT : PRINT CL$
  216. 7150  PRINT D$"DELETE"N3$"-F": IF NR -1 >0  THEN  HOME : POKE 216,0: GOTO 7020
  217. 7170  PRINT  CHR$(7): HOME : VTAB 12: HTAB 7: PRINT "NO PRINT FORMATS AVAILABLE": HTAB 10: PRINT "PRESS 'RTN' TO MENU. ";: GET Z$: POKE 216,0: TEXT : GOTO 1010
  218. 63000  GOTO 1010