home *** CD-ROM | disk | FTP | other *** search
- 1000 ' VIDEOCASSETTE CATALOGUE PROGRAM by Tom Gilday
- 1010 KEY OFF
- 1020 REM *******************************************************************
- 1030 REM SET-UP SECTION
- 1040 REM *************************
- 1050 REM
- 1060 MEMOR$="FREE"
- 1070 COU=0 ' RESET COUNTER TO 0
- 1080 COUMAX=0 ' RESET MAX TO 0 BEFORE INPUT
- 1090 MMODE=0 ' RESET EDITING MODE TO OFF
- 1100 ANS$="" ' RESET INPUT VARIABLE TO NULL
- 1110 AGAIN=2 ' SET VARIABLES TO UNIQUE
- 1120 FIRSTTIME=-1 ' VALUES SO WHEN WE SET
- 1130 EDI=1 ' SOMETHING LIKE MMODE
- 1140 DELE=4 ' EQUAL TO THEM THE ANSWER
- 1150 ADDD=5 ' WILL BE UNIQUE
- 1160 ONN=1:OFFF=0 '
- 1170 ENDD=99 '
- 1180 HARDCOPY=OFFF:HARDPRINT=0 ' HARDCOPY SET TO OFF
- 1190 RESETT=OFFF '
- 1191 KEY 1, CHR$(29) ' FLAG START OF SEARCH
- 1192 KEY 2, CHR$(17) ' FLAG HARDCOPY
- 1195 KEY 3, CHR$(16) ' FLAG ADD RECORD
- 1200 KEY 4, CHR$(25) ' FLAG DELETE RECORD
- 1210 KEY 5, CHR$(23) ' FLAG SELECTION CRITERIA
- 1220 KEY 6, CHR$(15) ' FLAG EDITING
- 1230 KEY 7, CHR$(14) ' FLAG END OF SESSION
- 1235 KEY 10, CHR$(28) ' FLAG END OF SEARCH
- 1240 REM
- 1250 REM THE DIMENSION IS THE MAXIMUM THAT YOU EXPECT TO FIND IN THE FILE.
- 1260 MIX = 1000
- 1270 REM
- 1280 DIM A$(MIX),B$(MIX),C$(MIX),D$(MIX),E$(MIX)
- 1281 DUMM1$=" "
- 1282 DUMM2$=" "
- 1283 DUMM3$=" "
- 1284 DUMM4$=" "
- 1285 DUMM5$=" "
- 1290 REM ********************************************************************
- 2000 REM SIGN-ON SCREEN
- 2010 REM ****************
- 2020 CLS:COLOR 14,0:LOCATE 7,25:PRINT"Data Update and Editing Module"
- 2030 LOCATE 10,10
- 2040 PRINT TAB(17);"This program will allow you to enter and update"
- 2050 PRINT TAB(15);"information to a file recording your videocassettes"
- 2060 PRINT:PRINT TAB(13);
- 2070 PRINT "please be patient while data is being loaded from the file"
- 2080 PRINT
- 2090 PRINT TAB(11);"this will take some time as the entire data file is being"
- 2100 PRINT TAB(19);"loaded to make the program faster to run"
- 2101 PRINT
- 2105 PRINT TAB(15);"This process will go faster if you use a ramdisk"
- 2106 PRINT
- 2107 PRINT TAB(15);"What disk drive is the file 'VCR.FIL' on ?";:INPUT DRIV$
- 2108 IF LEN(DRIV$)>1 THEN DIRECT$=DRIV$:DRIV$=MID$(DIRECT$,1,1)
- 2109 IF ASC(DRIV$)<64 OR ASC(DRIV$)>100 THEN PRINT "try again";:LOCATE 20,1
- 2110 IF ASC(DRIV$)>68 AND ASC(DRIV$)<97 THEN PRINT "try again";:LOCATE 20,1
- 2112 IF LEN(DIRECT$)>2 THEN DRIV$=DIRECT$+"\" ELSE DRIV$=DRIV$+":"
- 2120 FILNAME$=DRIV$+"vcr.fil" : COLOR 4,0
- 2128 REM ********************************************************************
- 2130 REM
- 3000 REM ********************************************************************
- 3010 REM READ IN OPENING INFORMATION
- 3020 REM *****************************
- 3030 MMODE=FIRSTTIME
- 3035 LOCATE 25,55:PRINT "Reading record # ";
- 3040 OPEN FILNAME$ FOR INPUT AS #1
- 3050 COU=COU+1
- 3060 INPUT #1, A$(COU),B$(COU),C$(COU),D$(COU),E$(COU)
- 3075 LOCATE 25,74:PRINT COU;
- 3080 IF EOF(1) THEN CLOSE #1:COUMAX=COU:GOTO 3500
- 3090 GOTO 3050
- 3100 REM
- 3500 REM ******************************************************************
- 3510 REM MAIN ROUTINE
- 3520 REM *****************
- 3530 REM **************************************************************
- 3540 REM SELECT OPTION
- 3550 REM **************
- 3560 CLS: COLOR 0,2
- 3570 LOCATE 3,20:PRINT" PLEASE CHOOSE ONE OF THESE OPTIONS "
- 3575 LOCATE 4,20:PRINT" "
- 3580 LOCATE 5,20:PRINT" AND HIT THE APPROPRIATE FUNCTION KEY "
- 3590 LOCATE 7,20:PRINT" F1 Start a search "
- 3595 LOCATE 8,20:PRINT" "
- 3600 LOCATE 9,20:PRINT" F2 Send the output to the printer "
- 3605 LOCATE 10,20:PRINT" "
- 3610 LOCATE 11,20:PRINT" F3 Add a new record to the file "
- 3620 LOCATE 12,20:PRINT" F4 Delete a record from the file "
- 3625 LOCATE 13,20:PRINT" "
- 3630 LOCATE 14,20:PRINT" F5 Specify the selection criteria to use "
- 3635 LOCATE 15,20:PRINT" "
- 3640 LOCATE 16,20:PRINT" F6 Edit a record "
- 3645 LOCATE 17,20:PRINT" "
- 3650 LOCATE 18,20:PRINT" F7 End this session "
- 3660 LATES$=""
- 3665 IF MEMOR$="OUTT" THEN COLOR 7,0 :GOSUB 22000: END
- 3670 LATES$=INKEY$:IF LATES$="" THEN 3670
- 3675 COLOR 7,0
- 3680 IF LATES$=CHR$(29) THEN MMODE=AGAIN:GOSUB 4000 : GOTO 3500
- 3690 IF LATES$=CHR$(16) THEN MMODE=ADDD :GOSUB 20000: GOTO 3500
- 3700 IF LATES$=CHR$(25) THEN MMODE=DELE :COU=1:GOSUB 18000:GOSUB 19000:GOTO 3500
- 3710 IF LATES$=CHR$(23) THEN RESETT=OFFF:GOSUB 4000 : GOTO 3500
- 3720 IF LATES$=CHR$(15) THEN MMODE=EDI :GOSUB 5400 : GOTO 3500
- 3730 IF LATES$=CHR$(17) THEN HARDCOPY=ONN : GOTO 3500
- 3740 IF LATES$=CHR$(14) THEN GOSUB 22000: END
- 3750 GOTO 3500
- 3780 REM **************************************************************
- 4000 REM **************************************************************
- 4010 REM MAIN SUBROUTINE
- 4020 REM ***************
- 4030 REM
- 4040 COU=0 ' SET COUNTER TO START AT 1
- 4050 ATT=1 ' DEFAULT ATTRIBUTE TO VOL.
- 4060 CLS
- 4080 GOSUB 11000 ' SET UP SELECTION SCREEN
- 4100 GOSUB 14000 ' SPECIFY SELECTION CRITERIA
- 4105 REVIEW$=INKEY$
- 4106 REVIEW$=""
- 4110 IF REVIEW$=CHR$(28) THEN RETURN
- 4115 COLOR 7,0
- 4120 IF RESETT=ONN THEN RESETT=OFFF:CLS:GOTO 4080 ' RESET CATEGORY
- 4140 LOCATE 1,1:CLS ' POSITION COLUMNS ON SCREEN
- 4150 GOSUB 7000 ' SET UP COLUMN HEADINGS
- 4160 IF HARDCOPY=ONN THEN HARDPRINT=0 ' HARDCOPY COLUMN HEADINGS
- 4170 REM *******************************************************************
- 5000 REM MAIN LOOP COUNTER
- 5010 REM *****************
- 5013 REVIEW$=""
- 5014 COLOR 2,5
- 5015 LOCATE 25,1:PRINT " HIT F10 TO STOP NOW ";
- 5016 LOCATE 25,25:PRINT " VOL. ";
- 5017 LOCATE 25,42:PRINT " RECORD ";
- 5018 LOCATE 25,57:PRINT " FREE MEMORY ";
- 5019 LOCATE 4,1
- 5020 FOR COU=1 TO COUMAX
- 5025 REVIEW$=INKEY$
- 5026 IF REVIEW$=CHR$(28) THEN COU=COUMAX
- 5030 REM
- 5040 REM UPDATE VOLUME COUNTER
- 5050 REM *********************
- 5060 A=CSRLIN:B=POS(0)
- 5070 COLOR 2,15
- 5080 LOCATE 25,31:PRINT " ";:PRINT USING "\ \";A$(COU);
- 5100 LOCATE 25,50:PRINT COU;
- 5101 LOCATE 25,70:PRINT FRE(0);
- 5102 IF FRE(0)<200 THEN 5105 ELSE 5110
- 5105 LOCATE 25,60:PRINT "OUT OF MEMORY ";:MEMOR$="OUTT":COU=COUMAX:GOTO 5290
- 5110 LOCATE A,B:COLOR 7,0 ' RETURN TO CURSOR POSITION
- 5120 REM
- 5130 REM TEST INPUT AGAINST STRING TO MATCH
- 5140 REM **********************************
- 5150 IF FIR$=CHR$(28) THEN COU=COUMAX ' IF FINISHED , END
- 5160 REM
- 5161 ON ATT GOTO 5165,5175,5185,5195,5205
- 5162 REM ************************
- 5165 IF A$(COU)=A$(0) THEN GOSUB 9000 :GOTO 5280
- 5166 GOTO 5290
- 5167 REM ************************
- 5175 IF LEN(B$(0))>LEN(B$(COU)) THEN 5290
- 5176 IF INSTR(B$(COU),B$(0)) THEN GOSUB 9000 :GOTO 5280
- 5177 GOTO 5290
- 5178 REM ************************
- 5185 IF LEN(C$(0))>LEN(C$(COU)) THEN 5290
- 5186 IF INSTR(C$(COU),C$(0)) THEN GOSUB 9000 :GOTO 5280
- 5187 GOTO 5290
- 5188 REM ************************
- 5195 IF LEN(D$(0))>LEN(D$(COU)) THEN 5290
- 5196 IF INSTR(D$(COU),D$(0)) THEN GOSUB 9000 :GOTO 5280
- 5197 GOTO 5290
- 5200 REM ************************
- 5205 IF LEN(E$(0))>LEN(E$(COU)) THEN 5290
- 5206 IF INSTR(E$(COU),E$(0)) THEN GOSUB 9000 :GOTO 5280
- 5207 GOTO 5290
- 5210 REM
- 5220 REM ******************
- 5230 REM IF THERE'S A MATCH
- 5240 REM ******************
- 5270 REM ' FOR SEARCH CRITERIA
- 5280 IF HARDCOPY=ONN THEN GOSUB 10000 ' PRINT HARDCOPY IF MATCH
- 5290 NEXT COU ' LAST ROW OF LOOP
- 5292 REVIEW$=""
- 5295 HARDPRINT=0
- 5296 PRINT"Press any key to continue ";:INPUT PAUSS$
- 5330 IF HARDCOPY=ONN THEN LPRINT CHR$(12) ' IF HARDCOPY, FORMFEED
- 5340 HARDCOPY=OFFF ' RESET HARDCOPY TO OFF
- 5360 RETURN
- 5370 REM ******************************************************************
- 5390 REM EDITING SUBROUTINE
- 5400 REM ******************
- 5410 COU=0
- 5430 GOSUB 18000 ' ASK FOR SPECIFIC RECORD
- 5440 IF REVIEW$<>"" THEN GOSUB 4040 :GOTO 5430 ' REVIEW RECORDS FIRST
- 5450 IF COU=0 THEN 6110 ' IF NOT, RESTART
- 5460 CLS:GOSUB 7000 ' PRINT COLUMN HEADINGS
- 5470 GOSUB 9000 ' PRINT CURRENT VALUES
- 5471 LOCATE 3,1
- 6040 GOSUB 11000 ' SET UP SELECTION SCREEN
- 6060 GOSUB 14000 ' ALLOW TO CHANGE DESCRIPT
- 6100 REM ' FOR ORIGINAL CATEGORY
- 6110 RETURN
- 6120 REM **************************************************************
- 7000 REM **************************************************************
- 7010 REM COLUMN HEADING SUBROUTINE
- 7020 REM ***************************
- 7030 COLOR 14,0
- 7040 PRINT " FILE TAPE "
- 7050 PRINT "RECORD VOL. ARTIST / SHOW COUNT SELECTION / EPISODE "
- 7060 PRINT "------ -------- ---------------------- ------ --------------------"
- 7070 COLOR 7,0
- 7080 RETURN
- 7090 REM ***************************************************************
- 8000 REM **************************************************************
- 8010 REM HARDCOPY COLUMN HEADING SUBROUTINE
- 8020 REM **********************************
- 8030 LPRINT:LPRINT:LPRINT:LPRINT
- 8040 LPRINT " FILE TAPE "
- 8050 LPRINT "RECORD VOL. ARTIST / SHOW COUNT SELECTION / EPISODE"
- 8060 LPRINT "------ -------- ---------------------- ------ --------------------"
- 8070 RETURN
- 8080 REM ***************************************************************
- 9000 REM ***************************************************************
- 9010 REM PRINT INFORMATION IN RECORD
- 9020 REM ***************************
- 9040 COLOR 6,0
- 9050 PRINT USING "\ \";STR$(COU);
- 9060 PRINT USING "\ \";A$(COU);
- 9070 PRINT USING "\ \";B$(COU);
- 9080 PRINT USING "\ \";C$(COU);
- 9090 PRINT USING "\ \";D$(COU);
- 9100 PRINT ,,,," ";
- 9110 PRINT USING "\ \";E$(COU)
- 9120 COLOR 7,0
- 9130 RETURN
- 9140 REM ***************************************************************
- 10000 REM ***************************************************************
- 10010 REM HARDCOPY PRINT INFORMATION IN RECORD
- 10020 REM ************************************
- 10030 HARDPRINT=HARDPRINT+1
- 10031 IF HARDPRINT=1 THEN GOSUB 8000
- 10040 REM
- 10050 LPRINT USING "\ \";STR$(COU);
- 10060 LPRINT USING "\ \";A$(COU);
- 10070 LPRINT USING "\ \";B$(COU);
- 10080 LPRINT USING "\ \";C$(COU);
- 10090 LPRINT USING "\ \";D$(COU);
- 10100 LPRINT ,,,," ";
- 10110 LPRINT USING "\ \";E$(COU)
- 10120 IF HARDPRINT<> 28 THEN 10150
- 10130 LPRINT CHR$(12)
- 10140 HARDPRINT=0
- 10150 RETURN
- 10160 REM ***************************************************************
- 11000 REM ***************************************************************
- 11010 REM REQUEST SELECTION CRITERIA
- 11020 REM ****************************
- 11030 ATT$="0"
- 11040 PRINT:PRINT:PRINT:COLOR 0,2
- 11050 PRINT " PLEASE CHOOSE ONE OF THE FOLLOWING ATTRIBUTES: "
- 11060 PRINT
- 11070 PRINT "1. VOLUME 2. ARTIST / SHOW "
- 11080 PRINT "3. TAPE COUNTER 4. SELECTION / EPISODE "
- 11090 PRINT "5. COMMENTS "
- 11100 PRINT
- 11110 PRINT "NOTE: YOUR SELECTION NEED ONLY INCLUDE SEVERAL LETTERS"
- 11120 PRINT " OF THE NAME YOU WANT TO SEARCH FOR "
- 11130 COLOR 7,0
- 11140 PRINT:PRINT "PLEASE SELECT AN ATTRIBUTE (1 - 5) TO SEARCH FOR OR CHANGE"
- 11150 ATT$=INKEY$ ' INPUT CRITERIA
- 11160 IF ATT$=CHR$(13) THEN 11190 ' USE DEFAULT IF RETURN
- 11170 IF ATT$="" THEN 11150
- 11180 ATT=VAL(ATT$)
- 11190 RETURN
- 11200 REM *******************************************************************
- 14000 REM *****************************************************************
- 14010 REM REQUEST SELECTION MATCH CRITERIA
- 14020 REM ********************************
- 14030 LOCATE 17,1
- 14040 COLOR 11,0
- 14050 FIR$="" ' RESET INKEY
- 14060 FIRNAME$="" ' RESET TEXT INPUT
- 14065 REM *****************************************************************
- 14070 PRINT "FOR THE CATEGORY : ";:COLOR 7,0
- 14071 ON ATT GOTO 14072,14073,14074,14075,14076
- 14072 PRINT "VOLUME";:GOTO 14080
- 14073 PRINT "ARTIST / SHOW";:GOTO 14080
- 14074 PRINT "TAPE COUNTER";:GOTO 14080
- 14075 PRINT "SELECTION / EPISODE";:GOTO 14080
- 14076 PRINT "COMMENTS";:GOTO 14080
- 14078 REM ****************************************************************
- 14080 COLOR 11,0: PRINT " FOR RECORD #";COU
- 14085 PRINT "THE EXISTING DESCRIPTION IS : ";:COLOR 7,0
- 14091 ON ATT GOTO 14092,14093,14094,14095,14096
- 14092 PRINT A$(COU):GOTO 14100
- 14093 PRINT B$(COU):GOTO 14100
- 14094 PRINT C$(COU):GOTO 14100
- 14095 PRINT D$(COU):GOTO 14100
- 14096 PRINT E$(COU):GOTO 14100
- 14098 REM ****************************************************************
- 14100 COLOR 11,0: PRINT "WHAT, IF ANYTHING, WOULD YOU LIKE TO CHANGE IT TO ?"
- 14101 PRINT " (IF NO CHANGE , JUST HIT RETURN ) :";
- 14110 REM ****************************************************************
- 14120 REM
- 14130 REM SETUP BOTTOM OF SCREEN
- 14135 REM **********************
- 14138 COLOR 2,15
- 14140 IF HARDCOPY=ONN THEN 14170
- 14150 LOCATE 23,1:PRINT " HIT F2 IF YOU WANT A HARDCOPY OF THE REPORT";
- 14160 LOCATE 23,60:PRINT " Hardcopy OFF ";
- 14165 LOCATE 24,1:PRINT " HIT F5 IF YOU WANT TO CHANGE THE SELECTION CATEGORY";
- 14167 LOCATE 25,1:PRINT " HIT F10 IF YOU WANT TO STOP NOW";
- 14180 LOCATE 20,45
- 14190 REM ************************************
- 14200 REM INPUT CHARACTERS FOR NEW DESCRIPTION
- 14210 REM ************************************
- 14215 GOSUB 14700
- 14220 FIR$="":COLOR 0,2
- 14230 FIR$=INKEY$
- 14240 IF FIR$=CHR$(13) THEN 14490 ' IF NONE, USE DEFAULT
- 14250 IF FIR$="" THEN 14230
- 14260 IF ASC(FIR$)>96 AND ASC(FIR$)<123 THEN FIR$=CHR$(ASC(FIR$)-32)
- 14270 REM **************************************
- 14280 REM TEST IF CHANGING EDITING/HARDCOPY MODE
- 14290 REM **************************************
- 14295 REM
- 14300 REM F2 TO TURN ON HARDCOPY ' SET HARDCOPY ON
- 14301 REM *********************************************
- 14310 IF FIR$<>CHR$(17) THEN 14320
- 14311 HARDCOPY=ONN : FIR$="" : A=CSRLIN:B=POS(0)
- 14314 LOCATE 23,60: PRINT " Hardcopy ON ";:LOCATE A,B
- 14316 GOTO 14230
- 14320 REM F10 TO END
- 14321 REM ************
- 14330 IF FIR$<>CHR$(28) THEN 14370
- 14360 GOTO 14640
- 14370 REM F5 TO RESELECT CATEGORY ' RESET SELECTION CRITERIA
- 14371 REM ******************************************************
- 14380 IF FIR$<>CHR$(23) THEN 14430
- 14390 RESETT=ONN ' SET MODE TO RESET
- 14400 FIR$="" ' RESET INKEY
- 14410 CLS : GOTO 14640
- 14430 REM ********************************
- 14450 IF FIR$=CHR$(8) THEN 14550 ' IF EDITING, DON'T ADD
- 14460 FIRNAME$=FIRNAME$+FIR$ ' ADD INPUT TO STRING
- 14470 COLOR 4,0 : PRINT FIR$; ' PRINT INPUT
- 14490 IF FIRNAME$="" THEN 14640
- 14500 REM ***********************************
- 14510 REM EDITING INPUT OF SELECTION CRITERIA
- 14520 REM ***********************************
- 14530 REM
- 14540 IF FIR$<>CHR$(8) THEN 14580 ' IF BACKSPACE, THEN EDIT
- 14550 IF FIRNAME$="" THEN 14220 ' IF FIRST CHARACT,RESTART
- 14560 LOCATE ,POS(0)-1:PRINT " "; ' ERASE CHAR ON SCREEN
- 14570 LOCATE ,POS(0)-2 ' RELOCATE CURSOR
- 14580 IF FIR$<>CHR$(13) THEN 14220
- 14600 REM ******************************************************************
- 14610 FIR$="" ' RESET INKEY
- 14611 ON ATT GOTO 14612,14613,14614,14615,14616
- 14612 A$(COU)=FIRNAME$:GOTO 14630
- 14613 B$(COU)=FIRNAME$:GOTO 14630
- 14614 C$(COU)=FIRNAME$:GOTO 14630
- 14615 D$(COU)=FIRNAME$:GOTO 14630
- 14616 E$(COU)=FIRNAME$:GOTO 14630
- 14617 REM
- 14630 FIRNAME$="" ' RESET INPUT STRING
- 14640 IF MMODE<>EDI AND ATT=5 THEN CLS
- 14670 RETURN
- 14680 REM ***************************************************************
- 14700 REM ***************************************************************
- 14701 REM SET UP INPUT FIELD
- 14710 REM ******************
- 14721 POSSIT=POS(0)
- 14730 ON ATT GOTO 14740,14750,14760,14770,14780
- 14740 COLOR 2,7:PRINT "<<";DUMM1$;">>";:LOCATE ,POSSIT+2:GOTO 14800
- 14750 COLOR 2,7:PRINT "<<";DUMM2$;">>";:LOCATE ,POSSIT+2:GOTO 14800
- 14760 COLOR 2,7:PRINT "<<";DUMM3$;">>";:LOCATE ,POSSIT+2:GOTO 14800
- 14770 COLOR 2,7:PRINT "<<";DUMM4$;">>";:LOCATE ,POSSIT+2:GOTO 14800
- 14780 COLOR 2,7:PRINT "<<";DUMM5$;">>";:LOCATE ,POSSIT+2
- 14800 COLOR 7,0: RETURN
- 18000 REM ***************************************************************
- 18010 REM SELECT THE RECORD TO DELETE OR EDIT
- 18020 REM ***********************************
- 18030 REM
- 18050 REVIEW$=INKEY$:REVIEW$="" ' ERASE STRAY INPUT
- 18055 PRINT
- 18060 PRINT "WOULD YOU LIKE TO REVIEW THE RECORDS BEFORE SELECTING ONE ?"
- 18070 REVIEW$=INKEY$ ' TEST FOR SPECIFIC INPUT
- 18080 IF REVIEW$=CHR$(13) THEN REVIEW$="": GOTO 18210 ' IF NOT THEN SEARCH
- 18090 IF REVIEW$="" THEN 18070
- 18100 IF REVIEW$="Y" OR REVIEW$="y" THEN MMODE=AGAIN :CLS :RETURN
- 18110 REVIEW$="": COUU$=INKEY$ : COUU$="":COUUN$="" :COUU=0
- 18160 PRINT "WHICH RECORD WOULD YOU LIKE TO USE "
- 18170 PRINT " (IF YOU KNOW WHICH ONE )? " ;
- 18180 INPUT COUUN$: IF COUUN$="" THEN 18200
- 18200 COU=VAL(COUUN$)
- 18210 RETURN
- 18220 REM *****************************************************************
- 19000 REM *****************************************************************
- 19010 REM DELETE RECORD
- 19020 REM *************
- 19022 CLS:GOSUB 7000:GOSUB 9000
- 19023 PRINT:PRINT "ARE YOU SURE YOU WANT TO DELETE IT ?"
- 19024 ANS$=""
- 19025 ANS$=INKEY$:IF ANS$="" THEN 19025
- 19026 IF ANS$="y" OR ANS$="Y" THEN 19030 ELSE 19110
- 19030 LOCATE 25,45:PRINT "MOVING RECORD #";
- 19035 FOR N=COU+1 TO COUMAX
- 19040 SWAP A$(N),A$(N-1)
- 19050 SWAP B$(N),B$(N-1)
- 19060 SWAP C$(N),C$(N-1)
- 19070 SWAP D$(N),D$(N-1)
- 19080 SWAP E$(N),E$(N-1)
- 19090 LOCATE 25,62:PRINT N;:NEXT
- 19100 COUMAX=COUMAX-1
- 19110 RETURN
- 19120 REM ***************************************************************
- 20000 REM ADD A RECORD
- 20009 REM ************
- 20010 REM
- 20011 PRINT
- 20012 PRINT "DO WANT TO ADD THE RECORD 1) TO THE END OF THE FILE , OR"
- 20013 PRINT " 2) AFTER A SPECIFIC RECORD ? ";
- 20014 ANS$=""
- 20015 ANS$=INKEY$:IF ANS$="" THEN 20015
- 20016 IF ANS$<>"1" AND ANS$<>"2" THEN RETURN
- 20017 IF ANS$="1" THEN COU=COUMAX+1:PRINT ANS$;:GOTO 20045
- 20018 IF ANS$="2" THEN PRINT ANS$;:GOTO 20020
- 20019 REM ***********************************************************
- 20020 PRINT "WOULD YOU LIKE TO REVIEW THE RECORDS BEFORE SELECTING ONE ?";
- 20021 REVIEW$=INKEY$
- 20022 IF REVIEW$=CHR$(13) THEN 20025
- 20023 IF REVIEW$="" THEN 20021
- 20024 IF REVIEW$="Y" OR REVIEW$="y" THEN MMODE=AGAIN :CLS :RETURN
- 20025 REVIEW$="": COUU$=INKEY$ : COUU$="":COUUN$="" :COU=COUMAX:PRINT " NO";
- 20026 PRINT "AT WHICH LOCATION (RECORD #) WOULD YOU LIKE TO ADD A RECORD";
- 20028 INPUT COUUN$: IF COUUN$="" THEN RETURN
- 20029 COU=VAL(COUUN$) :LOCATE 25,45:PRINT "MAKING ROOM AT RECORD #";
- 20030 FOR N=COUMAX TO COU STEP -1
- 20031 SWAP A$(N),A$(N+1)
- 20032 SWAP B$(N),B$(N+1)
- 20033 SWAP C$(N),C$(N+1)
- 20034 SWAP D$(N),D$(N+1)
- 20035 SWAP E$(N),E$(N+1)
- 20036 LOCATE 25,72:PRINT N;:NEXT N
- 20045 REM *************************************************************
- 20046 CLS
- 20047 COLOR 6,0
- 20048 LOCATE 5,20
- 20049 PRINT "FOR RECORD #";COU
- 20050 LOCATE 12,20:PRINT "VOLUME #.................";
- 20052 ATT=1:POSSIT=POS(0): GOSUB 14200
- 20060 LOCATE 14,20:PRINT "ARTIST / SHOW ...........";
- 20065 ATT=2:POSSIT=POS(0): GOSUB 14200
- 20080 LOCATE 16,20:PRINT "TAPE COUNTER ............";
- 20085 ATT=3:POSSIT=POS(0): GOSUB 14200
- 20100 LOCATE 18,20:PRINT "SELECTION / EPISODE......";
- 20105 ATT=4:POSSIT=POS(0): GOSUB 14200
- 20120 LOCATE 20,20:PRINT "COMMENTS.................";
- 20125 ATT=5:POSSIT=POS(0): GOSUB 14200
- 20140 COUMAX=COUMAX+1
- 20200 COLOR 7,0:RETURN
- 20210 REM ***************************************************************
- 22000 REM ***************************************************************
- 22001 REM END PROGRAM
- 22002 REM ***********
- 22003 REM
- 22004 ANS$=""
- 22005 PRINT:PRINT "DO YOU WANT TO UPDATE THE FILE FIRST FOR ANY CHANGES ?";
- 22006 ANS$=INKEY$:IF ANS$="" THEN 22006
- 22007 IF ANS$="y" OR ANS$="Y" THEN 22010 ELSE 22130
- 22008 REM
- 22010 REM CLOSE FILE WITH CHANGES
- 22020 REM ***********************
- 22030 COLOR 11,0
- 22050 LOCATE 25,55:PRINT "Writing record # ";
- 22060 DEF SEG
- 22080 OPEN FILNAME$ FOR OUTPUT AS #2
- 22090 FOR NN=1 TO COUMAX
- 22100 WRITE #2,A$(NN),B$(NN),C$(NN),D$(NN),E$(NN)
- 22105 LOCATE 25,74:PRINT NN;
- 22110 NEXT NN
- 22120 CLOSE #2
- 22130 COLOR 11,0:RETURN
- 22140 REM **************************************************************
- 0 NEXT NN
- 22120 CLOSE #2
- 22130 COLOR 11,0:RETURN
- 22140 REM *********************************************