10 FOR I = 0 TO 255:C = PEEK (512 + I):EOL = C = 0 OR C = 141: IF NOT EOL THEN C$ = C$ + CHR$ (C): NEXT I: STOP 20 DOS = (C = 141) * 128:AC = 0: FOR C = I - 1 TO 0 STEP - 1: IF PEEK (512 + C) = ASC (",") + DOS THEN AC = AC + 1: NEXT C 30 D$ = CHR$ (4):M$ = CHR$ (13): READ P$,C$(1),C$(2),C$(3),C$(4):F$ = P$ + ".TXT": ON AC GOTO 100,40,40,40: GOTO 500USAGE 40 C = 0: PRINT D$"OPEN "F$: PRINT D$"READ "F$ 50 ONERR GOTO 80 60 INPUT "";NA$,GE$,DA$ 70 C = C + 1: GOTO 60 80 POKE 216,0: IF PEEK (222) = 5 THEN PRINT D$"CLOSE "F$: ON AC GOTO 100,200,300,400 90 RESUME REM ADD 100 PRINT M$C$(AC)M$ 110 INPUT " NAME: ";NAME$ 120 INPUT " GENRE: ";GENRE$ 130 INPUT "DATE YYYY-MM-DD: ";DA$ 140 PRINT D$"OPEN "F$: PRINT D$"APPEND "F$: PRINT D$"WRITE "F$: PRINT NAME$","GENRE$","DA$: PRINT D$"CLOSE "F$ 150 GOTO 600"DONE REM LATEST 200 PRINT M$C$(AC)M$M$" NAME: "NA$M$"GENRE: "GE$M$" DATE: "DA$; 210 GOTO 600"DONE REM LATEST OF EACH GENRE 300 DIM NA$(C),GE$(C),DA$(C):GC = 0: PRINT D$"OPEN "F$: PRINT D$"READ "F$: FOR I = 1 TO C: GOSUB 350:NA$(J) = NA$:GE$(J) = GE$:DA$(J) = DA$: NEXT I: PRINT D$"CLOSE "F$ 310 PRINT M$C$(AC)M$: FOR I = 1 TO GC: PRINT M$NA$(I)","GE$(I)","DA$(I);: NEXT I 320 GOTO 600"DONE 350 INPUT "";NA$,GE$,DA$: FOR J = 1 TO GC: IF GE$ = GE$(J) THEN RETURN 360 NEXT J:GC = GC + 1:J = GC: RETURN REM ALL SORTED BY DATE 400 DIM NA$(C),GE$(C),DA$(C),DA(C):DC = 0: PRINT D$"OPEN "F$: PRINT D$"READ "F$: FOR I = 1 TO C: GOSUB 450:NA$(DC) = NA$:GE$(DC) = GE$:DA$(DC) = DA$:DA(DC) = DA(DP):DA(DP) = DC: NEXT I: PRINT D$"CLOSE "F$ 410 PRINT M$C$(AC)M$:DA = DA(0): FOR I = 1 TO DC: PRINT M$NA$(DA)","GE$(DA)","DA$(DA);:DA = DA(DA): NEXT I 420 GOTO 600"DONE 450 DP = 0: INPUT "";NA$,GE$,DA$: IF NOT DC THEN DC = 1: RETURN 460 FOR J = 1 TO DC:DA = DA(DP): IF DA$ > DA$(DA) THEN DP = DA:DA = DA(DA): NEXT J:DA = DP 470 DC = DC + 1: RETURN REM USAGE 500 DATA "SIMPLE DATABASE" 510 DATA " RUN: , ADD A NEW ENTRY" 520 DATA " RUN: ,, PRINT THE LATEST ENTRY" 530 DATA " RUN: ,,, LATEST OF EACH GENRE" 540 DATA " RUN: ,,,, ALL SORTED BY DATE" 550 IF NOT DOS THEN C$ = "RUN " + P$ 560 PRINT "USAGE:"M$" "C$" ,..."M$" OR";: FOR I = 1 TO 4: PRINT M$C$(I);: NEXT I REM DONE 600 END