10 CLEAR:PRINT CHR$(27)+"c"+CHR$(0):PRINT CHR$(27)+"b"+CHR$(63) 20 DIM m$(12),m(12),b(12) 30 esc$=CHR$(27):cof$=esc$+"f" 40 cuo$=esc$+"e":l%=142:len%=167 50 rev$=esc$+"p":cls$=esc$+"E"+esc$+"H" 60 ulo$=esc$+"r":ulf$=esc$+"u":bel$=CHR$(7) 70 vid$="video.dat":ind$="index.dat" 80 mem$="member.dat":idn$="idnex.dat" 90 rof$=esc$+"q" 100 DEF FNloc$(x%,y%,t$)=esc$+"Y"+CHR$(32+y%)+CHR$(32+x%)+t$ 110 DEF FNp$(x,y)=esc$+"Y"+CHR$(x+31)+CHR$(y+31) 120 OPTION RUN:OPTION NOT TAB:MEMORY,,,310:ON ERROR GOTO 540:BUFFERS 5:ZONE 6 130 PRINT cls$:x=3:y=5:h=25:w=82 140 GOSUB 610:PRINT cof$ 150 PRINT FNloc$(34,6,"**************************") 160 PRINT FNloc$(34,7,"* *") 170 PRINT FNloc$(34,8,"* VIDEOSCENE *") 180 PRINT FNloc$(34,9,"* *") 190 PRINT FNloc$(34,10,"* ¤ SJC 1987 *") 200 PRINT FNloc$(34,11,"* *") 210 PRINT FNloc$(34,12,"**************************") 220 PRINT FNloc$(30,25,"Insert data disk and Press any key");bel$;bel$;cof$;:k$="":WHILE k$="":k$=INKEY$:WEND 230 GOSUB 3490:PRINT cuo$ 240 PRINT cls$:PRINT cof$ 250 GOSUB 6080:PRINT cuo$ 260 PRINT FNloc$(54,14,"DD/MM/YY") 270 PRINT FNloc$(27,14,"Please enter todays date ");bel$;:INPUT date$ 280 da%=VAL(LEFT$(date$,2)):IF da%>31 THEN 270 290 IF MID$(date$,3,1)<>"/" OR MID$(date$,6,1)<>"/" THEN 270 300 ea%=VAL(RIGHT$(date$,3)):IF ea%>99 THEN 270 310 fa%=VAL(MID$(date$,4,2)):IF fa%>12 THEN 270 320 e%=0:j%=0:ab%=0:err%=0:ab$=STRING$(50," "):k%=0:g%=0:x%=0:PRINT cuo$:CLOSE 1:CLOSE 2:PRINT cls$:r=consilidate(1):GOSUB 470 330 PRINT FNloc$(40,5,"MAIN MENU"):li$=STRING$(70,"_") 340 PRINT FNloc$(10,7,li$) 350 PRINT FNloc$(20,9,"1> - Film Issues") 360 PRINT FNloc$(20,11,"2> - Film Returns") 370 PRINT FNloc$(20,14,"3> - Add/Amend Member Details") 380 PRINT FNloc$(20,16,"4> - Add/Amend Film Details") 390 PRINT FNloc$(20,18,"5> - Search Member/Film") 400 PRINT FNloc$(20,20,"6> - UTILITIES") 410 PRINT FNloc$(20,22,"7> - Exit and BACK UP") 420 PRINT FNloc$(10,24,li$) 430 PRINT FNloc$(36,27,"Select Option (1-7): ");bel$;:INPUT menu$ 440 IF menu$<>"1" AND menu$<>"2" AND menu$<>"3" AND menu$<>"4" AND menu$<>"5" AND menu$<>"6" AND menu$<>"7" THEN 430 450 menu%=VAL(menu$) 460 ON menu% GOTO 720,1100,1290,1640,2080,3340,3210 470 PRINT FNloc$(1,1,"¤ 1987 SJC SOFT VIDEOSCENE Issue and Return Control Program Date: ");LEFT$(date$,6);"19";RIGHT$(date$,2) 480 PRINT FNloc$(1,2,"¤ Steve Cholerton Last member: ");zz$ 490 PRINT FNloc$(70,2,"Last film: ");nu$ 500 RETURN 510 OPEN "K",2,mem$,idn$,2,l% 520 FIELD 2,10 AS zp$,30 AS za$,30 AS zb$,30 AS zc$,20 AS zd$,10 AS ze$,10 AS zf$ 530 RETURN 540 PRINT cls$:GOSUB 470:PRINT cof$:PRINT FNloc$(1,5,"Error exists..........");bel$;bel$;bel$ 550 FOR delay=1 TO 4000:NEXT:PRINT cuo$:GOTO 320 560 OPEN "K",1,vid$,ind$,2,len% 570 FIELD 1,60 AS tt$,20 AS st$,10 AS nt$,5 AS ft$,5 AS ct$,20 AS td$,5 AS sp$,10 AS dt$,10 AS at$,10 AS np$,10 AS de$ 580 RETURN 590 PRINT cls$:GOSUB 470:PRINT cof$:PRINT FNloc$(1,5,"Saving Aborted..........Error code ");err%;bel$;bel$;bel$ 600 FOR delay=1 TO 4000:NEXT:PRINT cuo$:GOTO 320 610 l1$=CHR$(150)+STRING$(w,CHR$(154))+CHR$(156) 620 l2$=CHR$(149)+STRING$(w," ")+CHR$(149) 630 l3$=CHR$(147)+STRING$(w,CHR$(154))+CHR$(153) 640 PRINT FNp$(x,y);l1$ 650 FOR k=1 TO h 660 r=x+k 670 PRINT FNp$(r,y);l2$ 680 NEXT k 690 PRINT FNp$(r+1,y);l3$ 700 x=0:y=0:h=0:w=0 710 RETURN 720 PRINT cls$:GOSUB 470:PRINT cof$:GOSUB 560:PRINT cuo$ 730 PRINT cuo$:PRINT FNloc$(40,4,"Film Issues") 740 PRINT FNloc$(30,9,"Enter MEMBER number : ") 750 PRINT FNloc$(30,11,"Enter FILM number : ") 760 PRINT FNloc$(30,13,"Enter PRICE : ")"£" 770 PRINT FNloc$(30,15,"Enter DUE BACK date : ") 780 PRINT FNloc$(30,9,"Enter MEMBER number : ");bel$;:LINE INPUT me$ 790 PRINT FNloc$(30,11,"Enter FILM number : ");bel$;:LINE INPUT fi$ 800 PRINT FNloc$(30,13,"Enter PRICE : ")"£";bel$;:LINE INPUT pr$ 810 PRINT FNloc$(30,15,"Enter DUE BACK date : ");bel$;:LINE INPUT dd$ 820 key$=UPPER$(LEFT$(fi$+" ",5)) 830 err%=SEEKKEY(1,0,2,key$) 840 IF err%<>0 THEN 1030 850 PRINT cof$:GET 1 860 ab$="Out" 870 at=VAL(at$):pr=VAL(pr$):aj$=STR$(at+pr) 880 np%=VAL(np$):np%=np%+1:nj$=STR$(np%) 890 ae=ae+pr 900 fu%=fu%+1 910 LSET dt$=me$:LSET sp$=ab$:LSET de$=dd$ 920 LSET at$=aj$:LSET np$=nj$ 930 PUT 1 940 PRINT FNloc$(30,20,"Do you wish to :-");bel$ 950 PRINT FNloc$(40,22,"1> Return to main menu") 960 PRINT FNloc$(40,24,"2> Another film issue") 970 k$="":WHILE k$="":k$=INKEY$:WEND 980 IF k$="1" THEN PRINT cof$:GOTO 320 990 IF k$="2" THEN r=consilidate(1):PRINT FNloc$(56,9," "):PRINT FNloc$(56,11," "):PRINT FNloc$(56,13," "):PRINT FNloc$(56,15," "):GOTO 1010 1000 IF k$<>"1" AND k$<>"2" THEN 940 1010 ab$=STRING$(50," "):PRINT FNloc$(30,20,ab$):PRINT FNloc$(40,22,ab$) 1020 PRINT FNloc$(40,24,ab$):GOTO 730 1030 x=26:y=30:h=2:w=38:GOSUB 610:PRINT cof$ 1040 ab$=STRING$(50," ") 1050 PRINT FNloc$(30,26,"Please try again, film not found.....");bel$:FOR delay=1 TO 3000:NEXT 1060 PRINT FNloc$(27,25,ab$):PRINT FNloc$(27,26,ab$):PRINT FNloc$(27,27,ab$) 1070 PRINT FNloc$(27,28,ab$):PRINT FNloc$(56,9," "):PRINT FNloc$(56,11," "):PRINT FNloc$(56,13," ") 1080 PRINT FNloc$(30,20,ab$):PRINT FNloc$(40,22,ab$):PRINT FNloc$(40,24,ab$):IF k%=1 THEN 1210 1090 GOTO 940 1100 gg$=zz$:PRINT cls$:GOSUB 470:PRINT cof$:GOSUB 560:PRINT cuo$ 1110 gh$=STRING$(70," "):PRINT cuo$:PRINT FNloc$(40,4,"Film Returns") 1120 PRINT FNloc$(30,9,"Enter FILM number : ");bel$;:INPUT fi$ 1130 key$=UPPER$(LEFT$(fi$+" ",5)) 1140 err%=SEEKKEY(1,0,2,key$) 1150 IF err%<>0 THEN k%=1:GOTO 1030 1160 PRINT cof$:GET 1 1170 PRINT rev$;:PRINT FNloc$(30,13,"This film - due back on ");de$;rof$;bel$ 1180 ab$="In" 1190 LSET sp$=ab$:LSET dt$=me$ 1200 PUT 1 1210 PRINT FNloc$(30,20,"Do you wish to :-") 1220 PRINT FNloc$(40,22,"1> Return to main menu") 1230 PRINT FNloc$(40,24,"2> Another film return") 1240 k$="":WHILE k$="":k$=INKEY$:WEND 1250 IF k$="1" THEN PRINT cof$:GOTO 320 1260 IF k$="2" THEN r=consilidate(1):PRINT FNloc$(56,9," "):GOTO 1280 1270 IF k$<>"1" AND k$<>"2" THEN 1210 1280 PRINT FNloc$(30,13,gh$):PRINT FNloc$(30,20,gh$):PRINT FNloc$(40,22,gh$):PRINT FNloc$(40,24,gh$):GOTO 1110 1290 gg$=zz$:PRINT cls$:GOSUB 470:PRINT cof$:GOSUB 510:PRINT cuo$:b%=0 1300 PRINT FNloc$(35,5,"Add/Amend Member Details") 1310 PRINT FNloc$(10,7,li$):PRINT FNloc$(10,23,li$):GOSUB 5310 1320 PRINT FNloc$(35,9,"Membership Number : ");:LINE INPUT zz$:IF b%=1 THEN 1390 1330 PRINT FNloc$(25,11,"Name : ");:LINE INPUT xx$:IF b%=1 THEN 1390 1340 PRINT FNloc$(25,13,"Address 1 : ");:LINE INPUT yy$:IF b%=1 THEN 1390 1350 PRINT FNloc$(25,15,"Address 2 : ");:LINE INPUT qq$:IF b%=1 THEN 1390 1360 PRINT FNloc$(25,17,"Telephone : ");:LINE INPUT tq$:IF b%=1 THEN 1390 1370 PRINT FNloc$(25,19,"Format : ");:LINE INPUT vv$:IF b%=1 THEN 1390 1380 PRINT FNloc$(25,21,"Date joined : ");:LINE INPUT ww$:IF b%=1 THEN 1390 1390 PRINT FNloc$(9,26,"Press: [S] to Save [D] to Delete or Number of Field to be Changed ");bel$;:INPUT in$ 1400 IF in$="S" OR in$="s" THEN 1460 1410 IF in$="D" OR in$="d" THEN zz$=gg$:GOTO 1560 1420 in%=VAL(in$) 1430 IF in%<1 OR in%>7 THEN 1390 1440 b%=1 1450 ON in% GOTO 1320,1330,1340,1350,1360,1370,1380 1460 PRINT cof$:LSET zp$=zz$:LSET za$=xx$:LSET zb$=yy$:LSET zc$=qq$ 1470 LSET zd$=tq$:LSET ze$=vv$:LSET zf$=ww$ 1480 err%=ADDREC(2,0,0,UPPER$(LEFT$(zp$,5))) 1490 IF err%<>0 THEN 590 1500 rn%=FETCHREC(2) 1510 err%=ADDKEY(2,0,1,UPPER$(LEFT$(za$,5)),rn%) 1520 IF err%<>0 THEN 590 1530 err%=ADDKEY(2,0,2,UPPER$(LEFT$(zb$,5)),rn%) 1540 IF err%<>0 THEN 590 1550 IF e%=1 THEN zz$=jj$ 1560 CLOSE 2 1570 IF ab%=1 THEN RETURN 1580 x=6:y=60:h=5:w=27:GOSUB 610 1590 PRINT FNloc$(62,8,"Another Entry (Y/N) ");bel$;cof$ 1600 k$="":WHILE k$="":k$=INKEY$:WEND 1610 IF k$="Y" OR k$="y" THEN 1290 1620 IF k$="N" OR k$="n" THEN 320 1630 IF k$<>"Y" AND k$<>"y" AND k$<>"N" AND k$<>"n" THEN 1590 1640 nx$=nu$:PRINT cls$:GOSUB 470:PRINT cof$:GOSUB 560:PRINT cuo$:b%=0:am$="00000":is$="000":ck$="In":ch$="00000" 1650 PRINT FNloc$(35,4,"Add/Amend Film Details") 1660 PRINT FNloc$(10,5,li$):PRINT FNloc$(10,26,li$):GOSUB 5390 1670 PRINT FNloc$(25,7,"Title : ");:LINE INPUT ti$:IF b%=1 THEN 1770 1680 PRINT FNloc$(25,9,"Supplier : ");:LINE INPUT su$:IF b%=1 THEN 1770 1690 PRINT FNloc$(25,11,"Number : ");:LINE INPUT nu$:IF b%=1 THEN 1770 1700 PRINT FNloc$(25,13,"Format : ");:LINE INPUT fo$:IF b%=1 THEN 1770 1710 PRINT FNloc$(25,15,"Category : ");:LINE INPUT ca$:IF b%=1 THEN 1770 1720 PRINT FNloc$(25,17,"Type : ");:LINE INPUT ty$:IF b%=1 THEN 1770 1730 PRINT FNloc$(25,19,"Stock : ");ck$ 1740 PRINT FNloc$(25,21,"Current hirer : ");ch$ 1750 PRINT FNloc$(25,23,"Ammount earnt : ");"£";am$ 1760 PRINT FNloc$(25,25,"No.of issues : ");is$ 1770 PRINT FNloc$(9,28,"Press: [S] to Save [D] to Delete or Number of Field to be Changed ");bel$;:INPUT in$ 1780 IF in$="S" OR in$="s" THEN 1840 1790 IF in$="D" OR in$="d" THEN nu$=nx$:GOTO 2000 1800 in%=VAL(in$) 1810 IF in%<1 OR in%>6 THEN 1770 1820 b%=1 1830 ON in% GOTO 1670,1680,1690,1700,1710,1720 1840 PRINT cof$:LSET tt$=ti$:LSET st$=su$:LSET nt$=nu$:LSET ft$=fo$:LSET ct$=ca$:LSET td$=ty$ 1850 LSET sp$=ck$:LSET dt$=ch$:LSET at$=am$:LSET np$=is$ 1860 err%=ADDREC(1,0,0,UPPER$(LEFT$(tt$,5))) 1870 IF err%<>0 THEN 590 1880 rn%=FETCHREC(1) 1890 err%=ADDKEY(1,0,1,UPPER$(LEFT$(st$,5)),rn%) 1900 IF err%<>0 THEN 590 1910 err%=ADDKEY(1,0,2,UPPER$(LEFT$(nt$,5)),rn%) 1920 IF err%<>0 THEN 590 1930 err%=ADDKEY(1,0,3,UPPER$(LEFT$(ft$,5)),rn%) 1940 IF err%<>0 THEN 590 1950 err%=ADDKEY(1,0,4,UPPER$(LEFT$(ct$,5)),rn%) 1960 IF err%<>0 THEN 590 1970 err%=ADDKEY(1,0,5,UPPER$(LEFT$(td$,5)),rn%) 1980 IF err%<>0 THEN 590 1990 IF e%=1 THEN nu$=ja$ 2000 CLOSE 1 2010 IF ab%=1 THEN RETURN 2020 x=6:y=60:h=5:w=27:GOSUB 610 2030 PRINT FNloc$(62,8,"Another Entry (Y/N) ");bel$;cof$ 2040 k$="":WHILE k$="":k$=INKEY$:WEND 2050 IF k$="Y" OR k$="y" THEN 1640 2060 IF k$="N" OR k$="n" THEN 320 2070 IF k$<>"Y" AND k$<>"y" AND k$<>"n" AND k$<>"N" THEN 2030 2080 PRINT cls$:GOSUB 470:PRINT cof$ 2090 PRINT FNloc$(1,5,"Do you wish to :-") 2100 PRINT FNloc$(11,8,"1> Search for MEMBER") 2110 PRINT FNloc$(11,10,"2> Search for FILM") 2120 PRINT FNloc$(11,14,"Enter Choice (1 or 2) ");bel$ 2130 k$="":WHILE k$="":k$=INKEY$:WEND 2140 IF k$="1" THEN 2170 2150 IF k$="2" THEN 3590 2160 IF k$<>"1" AND k$<>"2" THEN 2120 2170 e%=1:ab%=0:PRINT cls$:PRINT cof$:GOSUB 470:GOSUB 510:PRINT cuo$ 2180 PRINT FNloc$(35,5,"Search for member") 2190 PRINT FNloc$(10,6,li$):PRINT FNloc$(10,23,li$) 2200 PRINT FNloc$(30,9,"How do you wish to search for records ?") 2210 PRINT FNloc$(30,12,"1> By Membership Number") 2220 PRINT FNloc$(30,14,"2> By Name") 2230 PRINT FNloc$(30,20,"Enter Choice (1 or 2) ");bel$; 2240 u$="":WHILE u$="":u$=INKEY$:WEND 2250 IF u$="1" THEN rank%=0 2260 IF u$="2" THEN rank%=1 2270 IF u$<>"1" AND u$<>"2" THEN 2230 2280 PRINT cuo$:x=12:y=30:h=5:w=38:GOSUB 610 2290 PRINT FNloc$(30,20,ab$) 2300 PRINT FNloc$(32,16,"Press ^ for main menu") 2310 PRINT FNloc$(32,14,"Enter your search key ");bel$;:LINE INPUT c$ 2320 IF c$="^" THEN 320 2330 key$=UPPER$(LEFT$(c$+" ",5)) 2340 err%=SEEKKEY(2,0,rank%,key$) 2350 IF err%<>0 THEN 3270 2360 PRINT cof$:GET 2 2370 PRINT cls$:PRINT cuo$:GOSUB 470 2380 PRINT FNloc$(35,5,"Search for Member") 2390 PRINT FNloc$(10,6,li$):PRINT FNloc$(10,23,li$) 2400 PRINT FNloc$(35,9,"Membership Number : ");zp$ 2410 PRINT FNloc$(25,11,"Name : ");za$ 2420 PRINT FNloc$(25,13,"Address 1 : ");zb$ 2430 PRINT FNloc$(25,15,"Address 2 : ");zc$ 2440 PRINT FNloc$(25,17,"Telephone : ");zd$ 2450 PRINT FNloc$(25,19,"Format : ");ze$ 2460 PRINT FNloc$(25,21,"Date joined : ");zf$ 2470 IF ab%=1 THEN RETURN 2480 PRINT cof$:k$="":WHILE k$="":k$=INKEY$:WEND 2490 IF k$="N" OR k$="n" THEN 2710 2500 IF k$="P" OR k$="p" THEN 2740 2510 IF k$="C" OR k$="c" THEN 2830 2520 IF k$="D" OR k$="d" THEN 3020 2530 IF k$="M" OR k$="m" THEN PRINT cof$:GOTO 320 2540 IF k$="E" OR k$="e" THEN ab%=1:PRINT cuo$:PRINT cls$:GOSUB 470:GOSUB 2380:GOSUB 3100:GOSUB 6440:GOSUB 1390:GOTO 320 2550 x=8:y=50:h=14:w=34:GOSUB 610:PRINT cof$ 2560 PRINT FNloc$(52,9,"Press 'N' for next record") 2570 PRINT FNloc$(52,11,"Press 'P' for previous record") 2580 PRINT FNloc$(52,13,"Press 'C' for hardcopy") 2590 PRINT FNloc$(52,15,"Press 'D' to delete member") 2600 PRINT FNloc$(52,17,"Press 'M' for main menu") 2610 PRINT FNloc$(52,19,"Press 'E' to edit record") 2620 PRINT FNloc$(52,21," Enter Choice ");bel$;:k$="":WHILE k$="":k$=INKEY$:WEND 2630 IF k$="N" OR k$="n" THEN 2770 2640 IF k$="P" OR k$="p" THEN 2800 2650 IF k$="C" OR k$="c" THEN 2830 2660 IF k$="D" OR k$="d" THEN 3020 2670 IF k$="M" OR k$="m" THEN PRINT cof$:GOTO 320 2680 IF k$="E" OR k$="e" THEN ab%=1:PRINT cuo$:PRINT cls$:GOSUB 470:GOSUB 2380:GOSUB 3100:GOSUB 6440:GOSUB 1390:GOTO 320 2690 IF k$<>"N" AND k$<>"n" AND k$<>"P" AND k$<>"p" AND k$<>"C" AND k$<>"c" AND k$<>"D" AND k$<>"d" AND k$<>"M" AND k$<>"m" THEN 2620 2700 STOP 2710 err%=SEEKNEXT(2,0) 2720 IF err%<103 THEN GET 2:GOTO 2400:ELSE x=8:y=50:h=3:w=20:GOSUB 610:PRINT cof$:PRINT FNloc$(52,9,"No File....."):FOR delay=1 TO 3000:NEXT:PRINT cls$:GOSUB 470:GOTO 2380 2730 STOP 2740 err%=SEEKPREV(2,0) 2750 IF err%<103 THEN GET 2:GOTO 2400:ELSE x=8:y=50:h=3:w=20:GOSUB 610:PRINT cof$:PRINT FNloc$(52,9,"No File....."):FOR delay=1 TO 3000:NEXT:PRINT cls$:GOSUB 470:GOTO 2380 2760 STOP 2770 err%=SEEKNEXT(2,0) 2780 IF err%<103 THEN GET 2:PRINT cls$:GOSUB 470:GOTO 2380:ELSE x=8:y=50:h=3:w=20:GOSUB 610:PRINT cof$:PRINT FNloc$(52,9,"No File....."):FOR delay=1 TO 3000:NEXT:PRINT cls$:GOSUB 470:GOTO 2380 2790 STOP 2800 err%=SEEKPREV(2,0) 2810 IF err%<103 THEN GET 2:PRINT cls$:GOSUB 470:GOTO 2380:ELSE x=8:y=50:h=3:w=20:GOSUB 610:PRINT cof$:PRINT FNloc$(52,9,"No File....."):FOR delay=1 TO 3000:NEXT:PRINT cls$:GOSUB 470:GOTO 2380 2820 STOP 2830 PRINT cls$:GOSUB 470 2840 PRINT FNloc$(1,5,"What printer typeface do you require ?") 2850 PRINT FNloc$(11,8,"Standard Draft Quality") 2860 PRINT FNloc$(11,10,"High Quality Print") 2870 PRINT FNloc$(11,12,"Condensed Print") 2880 PRINT FNloc$(11,16,"Enter Choice (1-3) ");bel$;:INPUT w$ 2890 IF g%=1 THEN 4360 2900 IF w$="1" THEN 2940 2910 IF w$="2" THEN LPRINT esc$+"m"+CHR$(1):GOTO 2940 2920 IF w$="3" THEN LPRINT esc$+CHR$(15):GOTO 2940 2930 IF w$<>"1" AND w$<>"2" AND w$<>"3" THEN 2880 2940 PRINT cof$:LPRINT "Membership Number : ";zp$ 2950 LPRINT "Name : ";za$ 2960 LPRINT "Address 1 : ";zb$ 2970 LPRINT "Address 2 : ";zc$ 2980 LPRINT "Telephone : ";zd$ 2990 LPRINT "Format : ";ze$ 3000 LPRINT "Date joined : ";zf$ 3010 LPRINT esc$+"@":PRINT cls$:GOSUB 470:GOTO 2380 3020 x=8:y=50:h=3:w=24:GOSUB 610 3030 PRINT FNloc$(52,9,"Delete Member (Y/N) ");bel$;cof$ 3040 k$="":WHILE k$="":k$=INKEY$:WEND 3050 IF k$="Y" OR k$="y" THEN 3080 3060 IF k$="N" OR k$="n" THEN PRINT cls$:GOSUB 470:GOTO 2380 3070 IF k$<>"N" AND k$<>"n" AND k$<>"Y" AND k$<>"y" THEN 3030 3080 PRINT cls$:GOSUB 470 3090 PRINT FNloc$(1,5,"Deleting Member Details......") 3100 rn%=FETCHREC(2) 3110 GET 2 3120 key$=UPPER$(LEFT$(zp$,5)) 3130 err%=DELKEY(2,0,0,key$,rn%) 3140 key$=UPPER$(LEFT$(za$,5)) 3150 err%=DELKEY(2,0,1,key$,rn%) 3160 IF err%>103 THEN 540 3170 FOR delay=1 TO 1000:NEXT 3180 IF ab%=1 THEN RETURN 3190 GOTO 320 3200 STOP 3210 PRINT cls$:x=1:y=1:h=3:w=42:GOSUB 610 3220 PRINT FNloc$(2,2,"Do you wish to EXIT the program ?");bel$;:k$="":WHILE k$="":k$=INKEY$:WEND 3230 IF k$="Y" OR k$="y" THEN PRINT cls$:GOSUB 3540:PRINT esc$+"c"+CHR$(63):END 3240 IF k$="N" OR k$="n" THEN 320 3250 IF k$<>"N" AND k$<>"n" AND k$<>"Y" AND k$<>"y" THEN 3220 3270 x=25:y=30:h=2:w=38:GOSUB 610:PRINT cof$ 3280 PRINT FNloc$(30,25,"File not found.....");bel$:FOR delay=1 TO 3000:NEXT 3290 PRINT FNloc$(27,24,ab$):PRINT FNloc$(27,25,ab$) 3300 PRINT FNloc$(27,26,ab$):PRINT FNloc$(27,27,ab$) 3310 IF j%=1 THEN GOTO 6030 3320 IF x%=1 THEN 3770 3330 GOTO 2280 3340 j%=0:ON ERROR GOTO 540:PRINT cuo$:CLOSE 1:CLOSE 2:PRINT cls$:r=consilidate(1):GOSUB 470 3350 PRINT FNloc$(40,5,"UTILITIES MENU") 3360 PRINT FNloc$(10,7,li$):PRINT FNloc$(10,24,li$) 3370 PRINT FNloc$(20,9,"1> - Daily takings report") 3380 PRINT FNloc$(20,11,"2> - Initialize data disk") 3390 PRINT FNloc$(20,13,"3> - List members on printer") 3400 PRINT FNloc$(20,15,"4> - List films on printer") 3410 PRINT FNloc$(20,17,"5> - Produce a film catalogue") 3420 PRINT FNloc$(20,19,"6> - Bad members list") 3430 PRINT FNloc$(20,21,"7> - Calendar Generator") 3440 PRINT FNloc$(20,23,"8> - Return to main menu") 3450 PRINT FNloc$(34,26,"Select Option (1-8) ");bel$;:INPUT menu$ 3460 IF menu$<>"1" AND menu$<>"2" AND menu$<>"3" AND menu$<>"4" AND menu$<>"5" AND menu$<>"6" AND menu$<>"7" AND menu$<>"8" THEN 3450 3470 menu%=VAL(menu$) 3480 ON menu% GOTO 4770,5030,5460,5600,5740,5940,6220,320 3490 OPEN "I",1,"marker.dat" 3500 INPUT #1,zz$ 3510 INPUT #1,nu$ 3520 CLOSE 3530 RETURN 3540 OPEN "O",1,"marker.dat" 3550 WRITE #1,zz$ 3560 WRITE #1,nu$ 3570 CLOSE 3580 RETURN 3590 e%=1:g%=1:x%=1:ab%=0:PRINT cls$:PRINT cof$:GOSUB 470:GOSUB 560:PRINT cuo$ 3600 PRINT FNloc$(35,5,"Search for film") 3610 PRINT FNloc$(10,6,li$):PRINT FNloc$(10,23,li$) 3620 PRINT FNloc$(30,8,"How do you wish to search for records ?") 3630 PRINT FNloc$(30,11,"1> By Title") 3640 PRINT FNloc$(30,13,"2> By Supplier") 3650 PRINT FNloc$(30,15,"3> By Number") 3660 PRINT FNloc$(30,17,"4> By Format") 3670 PRINT FNloc$(30,19,"5> By Category") 3680 PRINT FNloc$(30,21,"6> By Type") 3690 PRINT FNloc$(35,26,"Enter Choice (1-7) ");bel$;:k$="":WHILE k$="":k$=INKEY$:WEND 3700 IF k$="1" THEN rank%=0 3710 IF k$="2" THEN rank%=1 3720 IF k$="3" THEN rank%=2 3730 IF k$="4" THEN rank%=3 3740 IF k$="5" THEN rank%=4 3750 IF k$="6" THEN rank%=5 3760 IF k$<>"1" AND k$<>"2" AND k$<>"3" AND k$<>"4" AND k$<>"5" AND k$<>"6" THEN 3690 3770 PRINT cuo$:x=12:y=30:h=5:w=38:GOSUB 610 3780 PRINT FNloc$(30,26,ab$):PRINT FNloc$(30,21,ab$):PRINT FNloc$(30,20,ab$) 3790 PRINT FNloc$(30,19,ab$):PRINT FNloc$(32,16,"Press ^ for main menu") 3800 PRINT FNloc$(32,14,"Enter your search key ");bel$;:LINE INPUT c$ 3810 IF c$="^" THEN CLOSE 1:GOTO 320 3820 key$=UPPER$(LEFT$(c$+" ",5)) 3830 err%=SEEKKEY(1,0,rank%,key$) 3840 IF err%<>0 THEN 3270 3850 PRINT cof$:GET 1 3860 PRINT cls$:PRINT cuo$:GOSUB 470 3870 PRINT FNloc$(34,4,"Search for film") 3880 PRINT FNloc$(10,5,li$):PRINT FNloc$(10,26,li$) 3890 PRINT FNloc$(25,7,"Title : ");tt$ 3900 PRINT FNloc$(25,9,"Supplier : ");st$ 3910 PRINT FNloc$(25,11,"Number : ");nt$ 3920 PRINT FNloc$(25,13,"Format : ");ft$ 3930 PRINT FNloc$(25,15,"Category : ");ct$ 3940 PRINT FNloc$(25,17,"Type : ");td$ 3950 PRINT FNloc$(25,19,"Stock : ");sp$ 3960 PRINT FNloc$(25,21,"Current hirer : ");dt$ 3970 PRINT FNloc$(25,23,"Ammount earnt : ");"£";at$ 3980 PRINT FNloc$(25,25,"No. of issues : ");np$ 3990 IF ab%=1 THEN RETURN 4000 PRINT cof$:k$="":WHILE k$="":k$=INKEY$:WEND 4010 IF k$="N" OR k$="n" THEN 4230 4020 IF k$="P" OR k$="p" THEN 4260 4030 IF k$="C" OR k$="c" THEN 4350 4040 IF k$="D" OR k$="d" THEN 4520 4050 IF k$="M" OR k$="m" THEN PRINT cof$:GOTO 320 4060 IF k$="E" OR k$="e" THEN ab%=1:PRINT cuo$:PRINT cls$:GOSUB 470:GOSUB 3870:GOSUB 6450:GOSUB 4600:GOSUB 1770:GOTO 320 4070 x=8:y=50:h=14:w=34:GOSUB 610 4080 PRINT cuo$ 4090 PRINT FNloc$(52,9,"Press 'N' for next record") 4100 PRINT FNloc$(52,11,"Press 'P' for previous record") 4110 PRINT FNloc$(52,13,"Press 'C' for hardcopy") 4120 PRINT FNloc$(52,15,"Press 'D' to delete record") 4130 PRINT FNloc$(52,17,"Press 'M' for main menu") 4140 PRINT FNloc$(52,19,"Press 'E' to edit record") 4150 PRINT FNloc$(52,21," Enter Choice ");bel$;:k$="":WHILE k$="":k$=INKEY$:WEND 4160 IF k$="N" OR k$="n" THEN 4290 4170 IF k$="P" OR k$="p" THEN 4320 4180 IF k$="C" OR k$="c" THEN 4350 4190 IF k$="D" OR k$="d" THEN 4520 4200 IF k$="M" OR k$="m" THEN PRINT cof$:GOTO 320 4210 IF k$="E" OR k$="e" THEN ab%=1:PRINT cuo$:PRINT cls$:GOSUB 470:GOSUB 3870:GOSUB 6450:GOSUB 4600:GOSUB 1770:GOTO 320 4220 IF k$<>"N" AND k$<>"n" AND k$<>"P" AND k$<>"p" AND k$<>"C" AND k$<>"c" AND k$<>"D" AND k$<>"d" AND k$<>"M" AND k$<>"m" THEN 4150 4230 err%=SEEKNEXT(1,0) 4240 IF err%<103 THEN GET 1:GOTO 3870:ELSE x=8:y=50:h=3:w=20:GOSUB 610:PRINT cof$:PRINT FNloc$(52,9,"No File....."):FOR delay=1 TO 3000:NEXT:PRINT cls$:GOSUB 470:GOTO 3870 4250 STOP 4260 err%=SEEKPREV(1,0) 4270 IF err%<103 THEN GET 1:GOTO 3870:ELSE x=8:y=50:h=3:w=20:GOSUB 610:PRINT cof$:PRINT FNloc$(52,9,"No File....."):FOR delay=1 TO 3000:NEXT:PRINT cls$:GOSUB 470:GOTO 3870 4280 STOP 4290 err%=SEEKNEXT(1,0) 4300 IF err%<103 THEN GET 1:PRINT cls$:GOSUB 470:GOTO 3870:ELSE x=8:y=50:h=3:w=20:GOSUB 610:PRINT cof$:PRINT FNloc$(52,9,"No File....."):FOR delay=1 TO 3000:NEXT:PRINT cls$:GOSUB 470:GOTO 3870 4310 STOP 4320 err%=SEEKPREV(1,0) 4330 IF err%<103 THEN GET 1:PRINT cls$:GOSUB 470:GOTO 3870:ELSE x=8:y=50:h=3:w=20:GOSUB 610:PRINT cof$:PRINT FNloc$(52,9,"No File....."):FOR delay=1 TO 3000:NEXT:PRINT cls$:GOSUB 470:GOTO 3870 4340 STOP 4350 GOTO 2830 4360 IF w$="1" THEN 4400 4370 IF w$="2" THEN LPRINT esc$+"m"+CHR$(1):GOTO 4400 4380 IF w$="3" THEN LPRINT esc$+CHR$(15):GOTO 4400 4390 IF w$<>"1" AND w$<>"2" AND w$<>"3" THEN 2830 4400 PRINT cof$ 4410 LPRINT "Title : ";tt$ 4420 LPRINT "Supplier : ";st$ 4430 LPRINT "Number : ";nt$ 4440 LPRINT "Format : ";ft$ 4450 LPRINT "Category : ";ct$ 4460 LPRINT "Type : ";td$ 4470 LPRINT "Stock : ";sp$ 4480 LPRINT "Current hirer : ";dt$ 4490 LPRINT "Ammount earnt : ";"£";at$ 4500 LPRINT "No. of issues : ";np$ 4510 LPRINT esc$+"@":PRINT cls$:GOSUB 470:GOTO 3870 4520 x=8:y=50:h=3:w=24:GOSUB 610 4530 PRINT FNloc$(52,9,"Delete Record (Y/N) ");bel$;cof$; 4540 k$="":WHILE k$="":k$=INKEY$:WEND 4550 IF k$="Y" OR k$="y" THEN 4580 4560 IF k$="N" OR k$="n" THEN PRINT cls$:GOSUB 470:GOTO 3870 4570 IF k$<>"Y" AND k$<>"y" AND k$<>"n" AND k$<>"N" THEN 4530 4580 PRINT cls$:GOSUB 470 4590 PRINT FNloc$(1,5,"Deleting Film Details......") 4600 rn%=FETCHREC(1) 4610 GET 1 4620 key$=UPPER$(LEFT$(tt$,5)) 4630 err%=DELKEY(1,0,0,key$,rn%) 4640 key$=UPPER$(LEFT$(st$,5)) 4650 err%=DELKEY(1,0,1,key$,rn%) 4660 key$=UPPER$(LEFT$(nt$,5)) 4670 err%=DELKEY(1,0,2,key$,rn%) 4680 key$=UPPER$(LEFT$(ft$,5)) 4690 err%=DELKEY(1,0,3,key$,rn%) 4700 key$=UPPER$(LEFT$(ct$,5)) 4710 err%=DELKEY(1,0,4,key$,rn%) 4720 key$=UPPER$(LEFT$(td$,5)) 4730 err%=DELKEY(1,0,5,key$,rn%) 4740 IF err%>103 THEN 540 4750 FOR delay=1 TO 1000:NEXT:IF ab%=1 THEN RETURN 4760 GOTO 320 4770 PRINT cls$:PRINT cof$:GOSUB 470:PRINT cuo$:pp%=0 4780 LPRINT esc$+"E" 4790 PRINT FNloc$(34,5,"Daily takings report") 4800 PRINT FNloc$(1,8,"Do you wish to report to the printer ? ");bel$; 4810 k$="":WHILE k$="":k$=INKEY$:WEND 4820 IF k$="Y" OR k$="y" THEN pp%=1:GOTO 4850 4830 IF k$="N" OR k$="n" THEN 4850 4840 IF k$<>"Y" AND k$<>"y" AND k$<>"N" AND k$<>"n" THEN 4810 4850 PRINT FNloc$(1,8,ab$) 4860 PRINT FNloc$(1,8,"What is the day ");bel$;:INPUT day$ 4870 PRINT FNloc$(1,8,ab$) 4880 PRINT FNloc$(20,8,"Total ammount taken on ");day$;" ";date$;" is ";"£";ae 4890 PRINT FNloc$(20,10,"Total ammount of films taken out today is ");fu% 4900 IF pp%=0 THEN 5010 4910 LPRINT "--------------------------------------------------------------" 4920 LPRINT ">>>>>>>>>>>>>>> DAILY TAKINGS REPORT <<<<<<<<<<<<<<<<<" 4930 LPRINT "--------------------------------------------------------------" 4940 LPRINT:LPRINT 4950 LPRINT " Total ammount taken on ";day$;" ";date$;" is ";"£";ae 4960 LPRINT 4970 LPRINT " Total ammount of films taken out today is ";fu% 4980 LPRINT:LPRINT 4990 LPRINT "--------------------------------------------------------------" 5000 LPRINT:LPRINT:LPRINT:LPRINT esc$+"@" 5010 PRINT FNloc$(23,25,"Press any key to return to UTILITIES menu");cof$ 5020 k$="":WHILE k$="":k$=INKEY$:WEND:GOTO 3340 5030 PRINT cls$:PRINT cof$:GOSUB 470:PRINT cuo$ 5040 ON ERROR GOTO 5280 5050 PRINT FNloc$(34,5,"Initialize data disk") 5060 PRINT FNloc$(1,8,"Insert your data disk and press any key ");bel$;:k$="":WHILE k$="":k$=INKEY$:WEND 5070 PRINT FNloc$(1,10,"If this is your first data disk type Y ");bel$;:k$="":WHILE k$="":k$=INKEY$:WEND 5080 IF k$="Y" OR k$="y" THEN 5190 5090 IF k$="n" OR k$="N" THEN 5110 5100 IF k$<>"Y" AND k$<>"y" AND k$<>"N" AND k$<>"n" THEN 5070 5110 PRINT FNloc$(37,25,"Please Wait");cof$ 5120 MEMORY,,,300 5130 CREATE 1,"video.dat","index.dat",2,167 5140 CREATE 2,"member.dat","idnex.dat",2,142 5150 CLOSE 1:CLOSE 2 5160 OPEN "O",1,"marker.dat" 5170 WRITE #1,zz$:WRITE #1,nu$ 5180 CLOSE:FOR delay=1 TO 1000:NEXT:GOTO 3340 5190 PRINT FNloc$(37,25,"Please Wait") 5200 MEMORY,,,300 5210 CREATE 1,"video.dat","index.dat",2,167 5220 CREATE 2,"member.dat","idnex.dat",2,142 5230 CLOSE 1:CLOSE 2 5240 OPEN "O",1,"marker.dat" 5250 zz$="00000":nu$="00000" 5260 WRITE #1,zz$:WRITE #1,nu$ 5270 CLOSE:FOR delay=1 TO 1000:NEXT:GOTO 3340 5280 x=25:y=25:h=2:w=50:GOSUB 610 5290 PRINT FNloc$(25,25,"This disk already contains the necessary files...") 5300 FOR delay=1 TO 3000:NEXT:GOTO 3340 5310 PRINT FNloc$(35,9,"Membership Number : ") 5320 PRINT FNloc$(25,11,"Name : ") 5330 PRINT FNloc$(25,13,"Address 1 : ") 5340 PRINT FNloc$(25,15,"Address 2 : ") 5350 PRINT FNloc$(25,17,"Telephone : ") 5360 PRINT FNloc$(25,19,"Format : ") 5370 PRINT FNloc$(25,21,"Date joined : ") 5380 RETURN 5390 PRINT FNloc$(25,7,"Title : ") 5400 PRINT FNloc$(25,9,"Supplier : ") 5410 PRINT FNloc$(25,11,"Number : ") 5420 PRINT FNloc$(25,13,"Format : ") 5430 PRINT FNloc$(25,15,"Category : ") 5440 PRINT FNloc$(25,17,"Type : ") 5450 RETURN 5460 ZONE 6:PRINT cof$:PRINT cls$:GOSUB 470:GOSUB 510 5470 LPRINT esc$+CHR$(15) 5480 PRINT FNloc$(35,4,"List members to printer") 5490 err%=SEEKRANK(2,0,0) 5500 IF err%<>0 THEN 590 5510 LPRINT "Number......Name................................Format......Date joined":LPRINT 5520 WHILE err%=0 OR err%=101 5530 GET 2 5540 PRINT FNloc$(9,6,"Please wait - printing in progress") 5550 LPRINT zp$,za$,ze$,zf$ 5560 err%=SEEKNEXT(2,0) 5570 WEND 5580 LPRINT esc$+"@" 5590 LPRINT:LPRINT:LPRINT:CLOSE 2:GOTO 3340 5600 ZONE 6:PRINT cof$:PRINT cls$:GOSUB 470:GOSUB 560 5610 LPRINT esc$+CHR$(15) 5620 PRINT FNloc$(35,4,"List films to printer") 5630 err%=SEEKRANK(1,0,2) 5640 IF err%<>0 THEN 590 5650 LPRINT "Number......Title.......................................................Supplier............Format....Earnt......Hirer":LPRINT 5660 WHILE err%=0 OR err%=101 5670 GET 1 5680 PRINT FNloc$(9,6,"Please wait - printing in progress") 5690 LPRINT nt$,tt$st$ft$,"£"at$dt$ 5700 err%=SEEKNEXT(1,0) 5710 WEND 5720 LPRINT esc$+"@" 5730 LPRINT:LPRINT:LPRINT:CLOSE 1:GOTO 3340 5740 ZONE 6:PRINT cof$:PRINT cls$:GOSUB 470:GOSUB 560:PRINT cuo$ 5750 LPRINT esc$+"W"+CHR$(1) 5760 PRINT FNloc$(34,4,"Produce a film catalogue") 5770 PRINT FNloc$(1,8,"What is the name of your business ");:INPUT in$ 5780 PRINT cof$:PRINT FNloc$(1,8,ab$) 5790 LPRINT in$" Film Catalogue":LPRINT esc$+"@" 5800 LPRINT esc$+CHR$(15) 5810 LPRINT "Updated to "date$:LPRINT:LPRINT 5820 err%=SEEKRANK(1,0,0) 5830 IF err%<>0 THEN 590 5840 LPRINT "Number....Title.......................................................Format..Cat...Type" 5850 LPRINT 5860 WHILE err%=0 OR err%=101 5870 GET 1 5880 PRINT FNloc$(9,9,"Please wait - printing in progress") 5890 LPRINT nt$tt$ft$,ct$,td$ 5900 err%=SEEKNEXT(1,0) 5910 WEND 5920 LPRINT esc$+"@" 5930 LPRINT:LPRINT:LPRINT:CLOSE 1:GOTO 3340 5940 PRINT cls$:j%=1:GOSUB 470:PRINT cof$:GOSUB 510:PRINT cuo$:PRINT FNloc$(35,4,"Create a bad members list") 5950 LPRINT esc$+"W"+CHR$(1):LPRINT "Bad Members List":LPRINT esc$+"@" 5960 LPRINT esc$+CHR$(15) 5970 PRINT FNloc$(5,9,"Enter member number: "):PRINT FNloc$(5,11,"Notes: ") 5980 PRINT FNloc$(5,9,"Enter member number: ");bel$;:INPUT m$ 5990 PRINT FNloc$(5,11,"Notes: ");bel$;:INPUT n$ 6000 key$=UPPER$(LEFT$(m$+" ",5)):err%=SEEKKEY(2,0,0,key$):IF err%<>0 THEN 3270 6010 PRINT cof$:GET 2 6020 LPRINT m$,za$,n$ 6030 PRINT FNloc$(5,16,"Do you wish to:-"):PRINT FNloc$(7,18,"1> Print another bad member") 6040 PRINT FNloc$(7,20,"2> Return to UTILITIES menu"):k$="":WHILE k$="":k$=INKEY$:WEND 6050 IF k$="1" THEN PRINT cuo$:PRINT FNloc$(5,16,ab$):PRINT FNloc$(5,18,ab$):PRINT FNloc$(5,20,ab$):PRINT FNloc$(27,9,ab$):PRINT FNloc$(13,11,ab$):GOTO 5970 6060 IF k$="2" THEN CLOSE 2:LPRINT esc$+"@":GOTO 3340 6070 END 6080 move.any$=CHR$(27)+"Y":row=4:col=0 6090 PRINT CHR$(27)+"E" +CHR$(27)+"H" 6100 READ a$:IF a$="++" THEN RETURN 6110 a$=STRING$((85-LEN(a$))/2," ")+a$ 6120 FOR i=LEN(a$) TO 1 STEP -1 6130 PRINT move.any$;CHR$(32+row);CHR$(32+col);MID$(a$,i) 6140 NEXT i 6150 row=row+2:GOTO 6100 6160 DATA VIDEOSCENE 6170 DATA Video Film Library 6180 DATA Management System 6190 DATA Copyright 1987 SJC SOFT 6200 DATA Version 3.00 6210 DATA ++ 6220 PRINT cls$: GOSUB 470:PRINT FNloc$(34,4,"Calendar Generator") 6230 PRINT FNloc$(1,10,"Enter Calendar year required: ");bel$;:INPUT y 6240 RESTORE 6400 6250 PRINT cof$ 6260 l=y-3+INT((y+3)/4) 6270 e=-(l-7*INT(l/7)) 6280 FOR c=1 TO 12:IF c<8 THEN READ d$(c) 6290 READ m$(c):READ m(c): IF INT (y/4)=y/4 THEN m(2)=1 6300 e=e-m(c-1):b(c)=e+(7 AND e<-5) 6310 e=b(c):NEXT 6320 LPRINT TAB(28);y;"C A L E N D A R":n=1 6330 FOR c=1 TO 6:LPRINT TAB(18);m$(n);TAB(51);m$(n+1):LPRINT 6340 FOR w=1 TO 7:p=1:x=0:a=10:t=16:FOR h=1 TO 2 6350 d=b(n+x)+(w-1):LPRINT TAB(a);d$(w);"..."; 6360 FOR p=1 TO 6:IF d<1 OR d>28+m(n+x) THEN 6380 6370 LPRINT TAB(t);d; 6380 t=t+4:d=d+7:NEXT:x=1:a=43:t=49 6390 NEXT:LPRINT:NEXT:LPRINT:n=n+2:NEXT 6400 DATA SUN,JANUARY,3,MON,FEBRUARY,0,TUE,MARCH,3,WED,APRIL 6410 DATA 2,THU,MAY,3,FRI,JUNE,2,SAT,JULY,3,AUGUST,3 6420 DATA SEPTEMBER,2,OCTOBER,3,NOVEMBER,2,DECEMBER,3 6430 GOTO 3340 6440 jj$=zz$:zz$=zp$:xx$=za$:yy$=zb$:qq$=zc$:tq$=zd$:vv$=ze$:ww$=zf$:RETURN 6450 ja$=nu$:ti$=tt$:su$=st$:nu$=nt$:fo$=ft$:ca$=ct$:ty$=td$:ck$=sp$:ch$=dt$:am$=at$:is$=np$:RETURN $:vv$=ze$:ww$=zf$:RETURN 6450