DECLARE SUB usercheck () DECLARE SUB useradd () DECLARE SUB userdisplay () DECLARE SUB trashspecs () DECLARE SUB numbersearch () DECLARE SUB namesearch () DECLARE SUB numbersort () DECLARE SUB namesort () DECLARE SUB choice () DECLARE SUB enter () DECLARE SUB see () DECLARE SUB look () DECLARE SUB trash () DECLARE SUB leave () DECLARE SUB intro () DIM SHARED name$(100) DIM SHARED phnumber$(100) DIM SHARED address$(100) DIM SHARED city$(100) DIM SHARED state$(100) DIM SHARED username$(100) DIM SHARED timer$(100) DIM SHARED dates$(100) DIM SHARED number(100) DIM SHARED usernames$(1) CALL intro CALL choice SUB choice DO CLS SCREEN 12 WINDOW (-50, -50)-(50, 50) PAINT (0, 0), 0 PAINT (0, 0), 8 PAINT (0, 0), 7 PAINT (0, 0), 15 LINE (-47.5, 47.5)-(-22.5, 7.5), 15, BF LINE (-47.5, -47.5)-(-22.5, -7.5), 15, BF LINE (47.5, 47.5)-(22.5, 7.5), 15, BF LINE (47.5, -47.5)-(22.5, -7.5), 15, BF LINE (-45, 45)-(-20, 5), 7, BF LINE (-45, -45)-(-20, -5), 7, BF LINE (45, 45)-(20, 5), 7, BF LINE (45, -45)-(20, -5), 7, BF LINE (-42.5, 42.5)-(-17.5, 2.5), 8, BF LINE (-42.5, -42.5)-(-17.5, -2.5), 8, BF LINE (42.5, 42.5)-(17.5, 2.5), 8, BF LINE (42.5, -42.5)-(17.5, -2.5), 8, BF LINE (-40, 40)-(-15, 0), 0, BF LINE (-40, -40)-(-15, 0), 0, BF LINE (40, 40)-(15, 0), 0, BF LINE (40, -40)-(15, 0), 0, BF LINE (-15, 40)-(15, -40), 0, BF FOR i = 5 TO 10 STEP .6 LINE (-i, i)-(i, -i), 8, BF NEXT i FOR i = 15 TO 40 STEP .4 LINE (-i, i)-(i, -i), 8, BF NEXT i FOR i = 40 TO 45 STEP .1 LINE (-i, -i)-(-i, i), 8 LINE (-i, i)-(i, i), 8 LINE (-i, -i)-(i, -i), 8 LINE (i, -i)-(i, i), 8 NEXT i FOR i = 45 TO 50 LINE (-i, i)-(i, -i), 7, BF NEXT i FOR i = 0 TO 50 LINE (-i, i)-(i, -i), 8, BF NEXT i FOR i = 0 TO 50 LINE (-i, i)-(i, -i), 0, BF NEXT i FOR i = 0 TO 15 LINE (-i, i)-(i + 10, -i - 10), 15, BF NEXT i FOR i = 0 TO 20 LINE (-i, i)-(i, -i), 7, BF NEXT i COLOR 8 LOCATE 4, 35: PRINT "P H A S T F O N E" COLOR 7 LOCATE 5, 34: PRINT "P H A S T F O N E" COLOR 15 LOCATE 6, 33: PRINT "P H A S T F O N E" LOCATE 7, 28: PRINT "The programmable phonebook" COLOR 7 LOCATE 11, 29: PRINT "1. Enter New Data" LOCATE 12, 29: PRINT "2. Read Current Data" LOCATE 13, 29: PRINT "3. Search For Data" LOCATE 14, 29: PRINT "4. Delete Data" LOCATE 15, 29: PRINT "5. Exit Phonebook" LOCATE 17, 29: INPUT "Your Choice"; chs% SELECT CASE chs% CASE 1 CALL enter CASE 2 CALL see CASE 3 CALL look CASE 4 CALL trash CASE 5 CALL leave CASE ELSE CLS COLOR 4 PRINT "That is not a valid choice" SLEEP 1 CLS CALL choice END SELECT CLOSE #1 LOOP END SUB SUB enter CLS SCREEN 12 WINDOW (-50, -50)-(50, 50) FOR i = 50 TO 0 STEP -.1 LINE (-5, i)-(5, i), 6 LINE (-5, -i)-(5, -i), 6 NEXT i FOR i = 5 TO 50 STEP .1 LINE (i, -50)-(i, 50), 6 LINE (-i, -50)-(-i, 50), 6 NEXT i LINE (-15, 15)-(25, -25), 0, BF FOR i = 0 TO 20 LINE (-i, i)-(i, -i), 14, BF NEXT i COLOR 14 LOCATE 11, 29: PRINT "You are now entering data" LOCATE 13, 29: PRINT "1. Continue" LOCATE 14, 29: PRINT "2. Abort" LOCATE 16, 29: INPUT "Your choice"; inchs% SELECT CASE inchs% CASE 1 DO CLS INPUT "Do you have something to tell me"; secret$ LOOP UNTIL secret$ = "yes" OR secret$ = "no" IF secret$ = "yes" THEN PRINT "What is it?" COLOR 0 INPUT ""; info$ COLOR 14 SELECT CASE info$ CASE "My name is Luca" PRINT "How long has it been like that?" COLOR 0 INPUT "", finally IF finally = ASC("ì") THEN COLOR 14 INPUT "Very well. What data file would you like to open"; file$ ELSE COLOR 14 PRINT "That is not impressive" file$ = "phonbook.phf" END IF CASE ELSE PRINT "I find your statement useless and wasteful." file$ = "phonbook.phf" SLEEP 2 END SELECT ELSE file$ = "phonbook.phf" END IF OPEN file$ FOR APPEND AS #1 DO COLOR 14 INPUT "Enter a name ", name$ INPUT "Enter the phone number, including the dash ", phnumber$ INPUT "Enter the address ", address$ INPUT "Enter the city ", city$ INPUT "Enter the state, two letters only ", state$ WRITE #1, name$, phnumber$, address$, city$, state$ INPUT "Continue entering data"; enchs$ LOOP UNTIL LCASE$(LEFT$(enchs$, 1)) = "n" CASE 2 CLOSE #1 GOSUB ender END SELECT CLOSE #1 GOSUB ender ender: END SUB SUB intro SCREEN 12 COLOR 15 INPUT "login:", usernames$(1) SELECT CASE usernames$(1) CASE "introskip" CLS CALL choice CASE "fulghamd" flag = 0 GOSUB funpass funpass: COLOR 10 PRINT "Password?" COLOR 0 INPUT " ", funpass$ SELECT CASE funpass$ CASE "red castle" GOSUB ok ok: COLOR 10 PRINT "Recognize system designer" PRINT "All access granted" PRINT : PRINT "choice" PRINT "enter" PRINT "intro" PRINT "leave" PRINT "look" PRINT "namesearch" PRINT "namesort" PRINT "numbersearch" PRINT "numbersort" PRINT "see" PRINT "trash" PRINT "trashspecs" PRINT : INPUT "Which SUB would you like to skip to"; subb$ SELECT CASE subb$ CASE "choice" CALL choice CASE "enter" CALL enter CASE "intro" CALL intro CASE "leave" CALL leave CASE "look" CALL look CASE "namesearch" CALL namesearch CASE "namesort" CALL namesort CASE "numbersearch" CALL numbersearch CASE "numbersort" CALL numbersort CASE "see" CALL see CASE "trash" CALL trash CASE "trashspecs" CALL trashspecs CASE ELSE PRINT "Sub not recognized" CALL intro END SELECT CASE ELSE IF flag = 0 THEN CLS COLOR 4 PRINT "Incorrect password" FOR i = 1 TO 500 NEXT i PRINT "SYSPOL protection program notified" FOR i = 1 TO 500 NEXT i PRINT "Please press 'y' and input correct" PRINT "password or press any other key to" INPUT "start again ", lastchance$ SELECT CASE lastchance$ CASE "y" flag = 1 GOSUB funpass CASE ELSE CALL intro END SELECT ELSE COLOR 14 SOUND 100, 4 SOUND 0, 4 SOUND 100, 4 SOUND 0, 4 SOUND 100, 4 SOUND 0, 4 SOUND 100, 4 SOUND 0, 4 PRINT "Incorrect password" SLEEP 1 PRINT "SYSPOL version 2.1 was initiated, "; TIME$ SLEEP 1 PRINT "Investigating..." SLEEP 2 CLS COLOR 14 LOCATE 1, 1: PRINT "" SLEEP 1 FOR i = 2 TO 19 STEP .01 LOCATE INT(i), 1: PRINT "º" NEXT i LOCATE 19, 1: PRINT "È" FOR i = 2 TO 40 STEP .01 LOCATE 19, INT(i): PRINT "Í" NEXT i LOCATE 19, 40: PRINT "¼" FOR i = 18 TO 12 STEP -.01 LOCATE i, 40: PRINT "º" NEXT i LOCATE 11, 40: PRINT "ÉÍ»" LOCATE 12, 42: PRINT "È»" FOR i = 13 TO 20 STEP .01 LOCATE i, 43: PRINT "º" NEXT i LOCATE 21, 43: PRINT "?" SLEEP 4 COLOR 4 LOCATE 21, 43: PRINT "ê" FOR i = 370 TO 37 STEP -100 SOUND i, 1 NEXT i COLOR 4 PRINT "Intruder detected: damage at Firewall, sector 0764" SLEEP 2 PRINT "AUT-ARMOR was initiated, "; TIME$ SLEEP 2 PRINT "Auto defense locking sequence..." SLEEP 2 FOR i = 1 TO 25 PRINT : NEXT i pause$ = INPUT$(100000000000#) END IF END SELECT CASE ELSE PRINT usernames$(1) END SELECT COLOR 15 INPUT "Is this correct"; yn$ SELECT CASE LCASE$(LEFT$(yn$, 1)) CASE "n" CALL intro CASE "y" CALL usercheck CASE ELSE PRINT "That is not a valid choice" CALL intro END SELECT RANDOMIZE TIMER begincolor = INT(RND * 6 + 1) COLOR begincolor PRINT "Recalling archives, please wait" c = 32: DO OPEN "tricker.ph" FOR OUTPUT AS #1 FOR trick = 1 TO 2 WRITE #1, trick NEXT CLOSE #1 KILL "tricker.ph" LOCATE 1, c: PRINT "."; c = c + .5 LOOP UNTIL c > 50 LOCATE 1, 51: PRINT "done" LOCATE 2, 1: PRINT "" PRINT "BASICA Phonebook version 2.00" SLEEP 1 PRINT "'Phastfone', 'GESS', and 'GERS' are registered trademarks" FOR i = 1 TO 1000 NEXT PRINT "Copyright (C) 1995 Domino Productions" SLEEP 1 PRINT "SYSPOL and AUT-ARMOR are registered trademarks" FOR i = 1 TO 1000 NEXT PRINT "Copyright (C) 1994,95 Flipcom, Inc." PRINT : PRINT : SLEEP 1 FOR i = 0 TO 4096 STEP 8 LOCATE 8, 1: PRINT "real mem" LOCATE 8, 10: PRINT USING "#### k"; i NEXT i SLEEP 1 FOR i = 0 TO 32767 STEP 63.99804688# LOCATE 9, 1: PRINT "avail mem" LOCATE 9, 11: PRINT USING "##### m"; i NEXT i LOCATE 10, 1: PRINT "<" SLEEP 1 c = 0: DO c = c + .003 IF c > 1 THEN SELECT CASE INT(c) CASE 2 x$ = " " CASE 3 x$ = "-" CASE 4 x$ = "d" CASE 5 x$ = "e" CASE 6 x$ = "v" CASE 7 x$ = "i" CASE 8 x$ = "c" CASE 9 x$ = "e" CASE 10 x$ = " " CASE 11 x$ = "-" CASE 12 x$ = "d" CASE 13 x$ = "." CASE 14 x$ = "u" CASE 15 x$ = "." CASE 16 x$ = "r" CASE 17 x$ = "." CASE 18 x$ = " " CASE 19 x$ = "-" CASE 20 x$ = "p" CASE 21 x$ = "b" END SELECT LOCATE 10, INT(c): PRINT x$ c = c + .003 ELSE c = c + .003 END IF LOOP UNTIL c > 22 SOUND 10000, 3 LOCATE 11, 1: PRINT "< shell command?" LOCATE 12, 1: PRINT "<" SLEEP 2 c = 0: DO LOCATE 12, 1: PRINT "<" c = c + .0025 IF c > 1 THEN SELECT CASE INT(c) CASE 2 x$ = " " CASE 3 x$ = "-" CASE 4 x$ = "g" CASE 5 x$ = "r" CASE 6 x$ = "a" CASE 7 x$ = "n" CASE 8 x$ = "t" CASE 9 x$ = " " CASE 10 x$ = "a" CASE 11 x$ = "c" CASE 12 x$ = "c" CASE 13 x$ = "e" CASE 14 x$ = "s" CASE 15 x$ = "s" CASE 16 x$ = " " END SELECT LOCATE 12, INT(c): PRINT x$ c = c + .0125 ELSE c = c + .0125 END IF LOOP UNTIL c > 21 SOUND 10000, 2 LOCATE 13, 1: PRINT "< firewall disable command?" SLEEP 1 c = 0: DO LOCATE 14, 1: PRINT "<" c = c + .003 IF c > 1 THEN SELECT CASE INT(c) CASE 2 x$ = " " CASE 3 x$ = "*" CASE 4 x$ = "*" CASE 5 x$ = "*" CASE 6 x$ = "*" CASE 7 x$ = "*" END SELECT LOCATE 14, INT(c): PRINT x$ c = c + .003 ELSE c = c + .003 END IF LOOP UNTIL c > 8 c = 0: DO c = c + .001 IF c > 1 THEN SELECT CASE INT(c) CASE 2 x$ = "*" CASE 3 x$ = "*" CASE 4 x$ = "*" CASE 5 x$ = "*" END SELECT LOCATE 14, INT(c) + 6: PRINT x$ c = c + .001 ELSE c = c + .001 END IF LOOP UNTIL c > 6 SOUND 10000, 2 FOR i = 1 TO 32 STEP .02 LOCATE 15, 1: PRINT "< Cross-checking" SELECT CASE INT(i) CASE 1, 5, 9, 13, 17, 21, 25, 29 LOCATE 15, 18: PRINT "-" CASE 2, 6, 10, 14, 18, 22, 26, 30 LOCATE 15, 18: PRINT "\" CASE 3, 7, 11, 15, 19, 23, 27, 31 LOCATE 15, 18: PRINT "|" CASE 4, 8, 12, 16, 20, 24, 28, 32 LOCATE 15, 18: PRINT "/" END SELECT NEXT i SOUND 10000, 2 LOCATE 16, 1: PRINT "< Legitimate commands recognized...user access granted" SLEEP 1 CLS PRINT "Opening file 'phonbook.phf' for user "; usernames$(1) PRINT : PRINT : PRINT : PRINT : PRINT : SLEEP 1 FOR i = 1000 TO 5000 STEP 2500 SOUND i, 1 NEXT i PRINT "Reading 'GRAPHIC ECHO'" SLEEP 1 FOR i = 1000 TO 5000 STEP 2500 SOUND i, 1 NEXT i PRINT "Reading 'BASE BACKGROUND'" SLEEP 2 FOR i = 1000 TO 5000 STEP 2500 SOUND i, 1 NEXT i PRINT : PRINT : PRINT "Reading 'U-IP'" SLEEP 1 CLS LOCATE 16, 1: PRINT "Graphic Echo Recalling System (GERS)" LOCATE 17, 1: PRINT "Graphics will show rate of transfer (speed of" LOCATE 18, 1: PRINT "graphics) and working/ready status;" LOCATE 19, 1: PRINT "Dark = working" LOCATE 20, 1: PRINT "Bright = ready" DO WHILE INKEY$ = "" LOCATE 21, 1: PRINT "Press a key to begin buffer => file transfer _" SLEEP 1 LOCATE 21, 1: PRINT "Press a key to begin buffer => file transfer " SLEEP 1 LOOP CLS SCREEN 13 WINDOW (-1, -1)-(1, 1) RANDOMIZE TIMER speed = (INT(RND * 30 + 1)) / 500 FOR i = 1 TO 15 STEP speed x = COS(i) y = SIN(-i) LINE (-x, 0)-(0, -y), i + 16 LINE (x, 0)-(0, -y), i + 16 LINE (-x, 0)-(0, y), i + 16 LINE (x, 0)-(0, y), i + 16 LINE (y, y)-(-x, x), i + 16 LINE (-y, y)-(x, x), i + 16 LINE (-y, -y)-(x, -x), i + 16 LINE (y, -y)-(-x, -x), i + 16 LINE (-y, y)-(x, x), 0 LINE (y, -y)-(-x, -x), 0 LINE (-x, 0)-(0, -y), 0 LINE (x, 0)-(0, -y), 0 LINE (-x, 0)-(0, y), 0 LINE (x, 0)-(0, y), 0 LINE (y, y)-(-x, x), 0 LINE (-y, -y)-(x, -x), 0 NEXT i CLS CALL choice END SUB SUB leave CLS SCREEN 12 WINDOW (-50, -50)-(50, 50) FOR i = 100 TO 35 STEP -.1 d = i * 1.4 / 2 LINE (0, i)-(i, 0), 8 LINE (0, -i)-(-i, 0), 8 LINE (0, i)-(-i, 0), 8 LINE (0, -i)-(i, 0), 8 LINE (-d, d)-(d, d), 8 LINE (-d, d)-(-d, -d), 8 LINE (-d, -d)-(d, -d), 8 LINE (d, d)-(d, -d), 8 NEXT i FOR i = 35 TO 0 STEP -.2 d = i * 1.4 / 2 LINE (0, i)-(i, 0), 8 LINE (0, -i)-(-i, 0), 8 LINE (0, i)-(-i, 0), 8 LINE (0, -i)-(i, 0), 8 LINE (-d, d)-(d, d), 8 LINE (-d, d)-(-d, -d), 8 LINE (-d, -d)-(d, -d), 8 LINE (d, d)-(d, -d), 8 NEXT i LINE (-15, 15)-(25, -25), 0, BF FOR i = 0 TO 20 LINE (-i, i)-(i, -i), 7, BF NEXT i COLOR 7 LOCATE 11, 29: PRINT "You Are Exiting Phastfone" LOCATE 13, 29: PRINT "1. Complete Exit" LOCATE 14, 29: PRINT "2. Abort Exit" LOCATE 16, 29: INPUT "Your Choice"; c SELECT CASE c CASE 1 CLS PRINT "Graphic Echo Storing System (GESS)" PRINT "Graphics will show speed of storage" PRINT "(graphics speed) and storage status" PRINT "(one circle = 20% storage)." PRINT "Press a key to begin file => buffer" PRINT "transfer." pause$ = INPUT$(1) CLS SCREEN 12 WINDOW (-80, -80)-(80, 80) n = 36: c = 0: DIM x(n + 20), y(n + 20) DIM a(i) pi = 4 * ATN(1) OR pi = 3.1415 FOR d = 1 TO 1 FOR z = 0 TO 2 * pi STEP (2 * pi) / n c = c + 1 x(c) = 50 * COS(z) y(c) = 50 * SIN(z) NEXT z RANDOMIZE TIMER t = INT(RND * 41 + 10) FOR o = 1 TO 6 FOR i = 1 TO 1 FOR j = 1 TO 40 FOR a = 41 TO 1 STEP -t SELECT CASE o CASE 6 r = 0 CASE 1, 5 r = 8 CASE 2, 4 r = 7 CASE 3 r = 15 END SELECT LINE (a(i), a(i))-(x(j), y(j)), r LINE (-x(1), -y(1))-(-x(j), -y(j)), r LINE (x(1), y(1))-(x(j), y(j)), r LINE (-a(i), -a(i))-(-x(j), -y(j)), r NEXT a NEXT j NEXT i NEXT o NEXT d COLOR 7 LOCATE 9, 24: PRINT "Thank you for using Phastfone" LOCATE 11, 32: PRINT "Also look for:" FOR b = 1 TO 5 STEP .05 SELECT CASE INT(b) CASE 1 a = 0 CASE 2 a = 8 CASE 3 a = 7 CASE 4 a = 15 END SELECT COLOR a LOCATE 15, 9: PRINT "M E G A R A P H I X" LOCATE 15, 49: PRINT "A F T E R M A T H" NEXT b FOR i = 1 TO 14 STEP .025 SELECT CASE INT(i) CASE 1, 5, 9, 13 o = 15 CASE 2, 6, 10 o = 7 CASE 3, 7, 11 o = 8 CASE 4, 8, 12 o = 0 END SELECT COLOR o LOCATE 15, 59: PRINT "M A T H" NEXT i FOR d = 1 TO 3 FOR i = 1 TO 10 STEP .1 COLOR i WINDOW (-39, -12)-(39, 12) CIRCLE (-8.4, -3.6), 2, i LOCATE 20, 31: PRINT "Dom" LOCATE 20, 35: PRINT "Productions" NEXT i NEXT d CIRCLE (-8.4, -3.6), 2, 10 COLOR 0 END CASE 2 CALL choice CASE ELSE PRINT "That is not a valid choice" SLEEP 1 CLS CALL leave END SELECT END SUB SUB look CLS SCREEN 12 WINDOW (-50, -50)-(50, 50) DO F = F + 1 RANDOMIZE TIMER i = ((RND * 1) - .5) * 100 RANDOMIZE TIMER d = ((RND * 1) - .5) * 100 CIRCLE (i, d), 15, 9 n = 36: c = 0: REDIM x(n + 20), y(n + 20) pi = 4 * ATN(1) OR pi = 3.1415 FOR z = 0 TO 2 * pi c = c + 1 x(c) = 14.4 * COS(z) y(c) = 14.4 * SIN(z) PAINT (x(c) + i, y(c) + d), 9 NEXT z LOOP UNTIL F = 300 LINE (0, 0)-(-50, 50), 9, BF SLEEP 1 LINE (0, 0)-(50, -50), 9, BF SLEEP 1 LINE (0, 0)-(-50, -50), 9, BF SLEEP 1 LINE (0, 0)-(50, 50), 9, BF LINE (-15, 15)-(25, -25), 0, BF FOR i = 0 TO 20 LINE (-i, i)-(i, -i), 11, BF NEXT i COLOR 11 LOCATE 11, 29: PRINT "You are searching for data" LOCATE 13, 29: PRINT "1. Continue" LOCATE 14, 29: PRINT "2. Abort" LOCATE 16, 29: INPUT "Your Choice"; sirchs% SELECT CASE sirchs% CASE 1 CLS FOR i = 60 TO 1 STEP -.5 LINE (i - 10, i)-(i, i - 10), 9, BF LINE (-i + 10, -i)-(-i, -i + 10), 9, BF LINE (-i + 10, i)-(-i, i - 10), 9, BF LINE (i - 10, -i)-(i, -i + 10), 9, BF NEXT i FOR i = 0 TO 50 LINE (i, i)-(-i, -i), 9, BF NEXT i LINE (-15, 15)-(25, -25), 0, BF FOR i = 0 TO 20 LINE (-i, i)-(i, -i), 11, BF NEXT i COLOR 11 LOCATE 11, 29: PRINT "Choose searching mode" LOCATE 13, 29: PRINT "1. Search by phone number" LOCATE 14, 29: PRINT "2. Search by name" LOCATE 16, 29: INPUT "Your Choice"; lookchs% SELECT CASE lookchs% CASE 1 CALL numbersearch CASE 2 CALL namesearch CASE ELSE CLS COLOR 4 PRINT "That is not a valid choice" CALL look END SELECT CASE 2 GOSUB enderII CASE ELSE CLS COLOR 4 PRINT "That is not a valid choice" CALL look END SELECT enderII: END SUB SUB namesearch CLS count% = 0 OPEN "phonbook.phf" FOR INPUT AS #1 DO WHILE NOT EOF(1) count% = count% + 1 INPUT #1, name$(count%), phnumber$(count%), address$(count%), city$(count%), state$(count%) LOOP COLOR 11 INPUT "What name would you like to look for"; inname$ CLS FOR i = 0 TO count% IF inname$ = name$(i) THEN COLOR 11 LOCATE 2, 16: PRINT "PHONE NUMBER" LOCATE 2, 1: PRINT "NAME" LOCATE 2, 30: PRINT "ADDRESS" LOCATE 2, 60: PRINT "CITY" LOCATE 2, 76: PRINT "STATE" LOCATE 3, 1: PRINT "______________________________________________________________________________" LOCATE 4, 1: PRINT name$(i) LOCATE 4, 16: PRINT phnumber$(i) LOCATE 4, 30: PRINT address$(i) LOCATE 4, 60: PRINT city$(i) LOCATE 4, 76: PRINT state$(i) INPUT "Continue search"; namesearchchoice$ SELECT CASE namesearchchoice$ CASE "y" CLOSE #1 CALL namesearch CASE "n" CLOSE #1 GOSUB enderIII CASE ELSE COLOR 0 PRINT "That is not a valid choice" CLOSE #1 CALL namesearch END SELECT ELSEIF i = count% AND inname$ <> name$ THEN PRINT "That name is not in the data file." INPUT "Continue search"; namesearchchoice$ SELECT CASE namesearchchoice$ CASE "y" CLOSE #1 CALL namesearch CASE "n" CLOSE #1 GOSUB enderIII CASE ELSE COLOR 10 PRINT "That is not a valid choice" CLOSE #1 CALL namesearch END SELECT END IF NEXT i CLOSE #1 GOSUB enderIII enderIII: END SUB SUB namesort CLS SCREEN 12 OPEN "phonbook.phf" FOR INPUT AS #1 load% = 0 DO WHILE NOT EOF(1) load% = load% + 1 INPUT #1, name$(load%), phnumber$(load%), address$(load%), city$(load%), state$(load%) LOOP CLOSE #1 final% = load% flag% = 1 DO WHILE flag% = 1 flag% = 0 FOR j = 1 TO final% - 1 IF name$(j) > name$(j + 1) THEN SWAP name$(j), name$(j + 1) SWAP phnumber$(j), phnumber$(j + 1) SWAP address$(j), address$(j + 1) SWAP city$(j), city$(j + 1) SWAP state$(j), state$(j + 1) flag% = 1 END IF NEXT j final% = final% - 1 LOOP c = 0: d = 0: DO c = c + 1 d = d + 1 IF c > 19 THEN INPUT "Continue (y/n)"; continuechoice$ SELECT CASE continuechoice$ CASE "y" CLS c = 0 CASE "n" CLOSE #1 GOSUB enderIV END SELECT END IF COLOR 10 LOCATE 2, 1: PRINT "NAME" LOCATE 2, 17: PRINT "PHONE NUMBER" LOCATE 2, 30: PRINT "ADDRESS" LOCATE 2, 60: PRINT "CITY" LOCATE 2, 76: PRINT "STATE" LOCATE 3, 1: PRINT "________________________________________________________________________________" LOCATE c + 3, 1: PRINT name$(d) LOCATE c + 3, 17: PRINT phnumber$(d) LOCATE c + 3, 30: PRINT address$(d) LOCATE c + 3, 60: PRINT city$(d) LOCATE c + 3, 76: PRINT state$(d) LOOP CLS CLOSE #1 enderIV: END SUB SUB numbersearch CLS count% = 0 OPEN "phonbook.phf" FOR INPUT AS #1 DO WHILE NOT EOF(1) count% = count% + 1 INPUT #1, name$(count%), phnumber$(count%), address$(count%), city$(count%), state$(count%) LOOP COLOR 11 INPUT "What phone number would you like to look for"; phonenumber$ FOR i = 0 TO count% IF phonenumber$ = phnumber$(i) THEN COLOR 11 LOCATE 2, 1: PRINT "PHONE NUMBER" LOCATE 2, 15: PRINT "NAME" LOCATE 2, 30: PRINT "ADDRESS" LOCATE 2, 60: PRINT "CITY" LOCATE 2, 76: PRINT "STATE" LOCATE 3, 1: PRINT "______________________________________________________________________________" LOCATE 4, 15: PRINT name$(i) LOCATE 4, 1: PRINT phnumber$(i) LOCATE 4, 30: PRINT address$(i) LOCATE 4, 60: PRINT city$(i) LOCATE 4, 76: PRINT state$(i) INPUT "Continue search"; numbersearchchoice$ SELECT CASE numbersearchchoice$ CASE "y" CLOSE #1 CALL numbersearch CASE "n" CLOSE #1 GOSUB enderV CASE ELSE COLOR 0 PRINT "That is not a valid choice" CLOSE #1 CALL numbersearch END SELECT ELSEIF i = count% AND phonenumber$ <> phnumber$ THEN PRINT "That number is not in the data file." INPUT "Continue search"; numbersearchchoice$ SELECT CASE numbersearchchoice$ CASE "y" CLOSE #1 CALL numbersearch CASE "n" CLOSE #1 GOSUB enderV CASE ELSE COLOR 10 PRINT "That is not a valid choice" CLOSE #1 CALL numbersearch END SELECT END IF NEXT i CLOSE #1 GOSUB enderV enderV: END SUB SUB numbersort CLS SCREEN 12 OPEN "phonbook.phf" FOR INPUT AS #1 load% = 0 DO WHILE NOT EOF(1) load% = load% + 1 INPUT #1, name$(load%), phnumber$(load%), address$(load%), city$(load%), state$(load%) LOOP CLOSE #1 final% = load% flag% = 1 DO WHILE flag% = 1 flag% = 0 FOR j = 1 TO final% - 1 IF phnumber$(j) > phnumber$(j + 1) THEN SWAP name$(j), name$(j + 1) SWAP phnumber$(j), phnumber$(j + 1) SWAP address$(j), address$(j + 1) SWAP city$(j), city$(j + 1) SWAP state$(j), state$(j + 1) flag% = 1 END IF NEXT j final% = final% - 1 LOOP c = 0: d = 0: DO c = c + 1 d = d + 1 IF c > 19 THEN INPUT "Continue (y/n)"; continuechoice$ SELECT CASE continuechoice$ CASE "y" CLS c = 0 CASE "n" CLOSE #1 GOSUB enderVI END SELECT END IF COLOR 10 LOCATE 2, 15: PRINT "NAME" LOCATE 2, 1: PRINT "PHONE NUMBER" LOCATE 2, 30: PRINT "ADDRESS" LOCATE 2, 60: PRINT "CITY" LOCATE 2, 76: PRINT "STATE" LOCATE 3, 1: PRINT "______________________________________________________________________________" LOCATE c + 3, 15: PRINT name$(d) LOCATE c + 3, 1: PRINT phnumber$(d) LOCATE c + 3, 30: PRINT address$(d) LOCATE c + 3, 60: PRINT city$(d) LOCATE c + 3, 76: PRINT state$(d) LOOP CLS CLOSE #1 enderVI: END SUB SUB see CLS SCREEN 12 WINDOW (-50, -50)-(50, 50) FOR i = 50 TO 0 STEP -.1 LINE (-i, 5)-(i, -5), 2 LINE (-i, -5)-(i, 5), 2 LINE (i, i / 10)-(i, -i / 10), 2 LINE (-i, i / 10)-(-i, -i / 10), 2 NEXT i FOR i = 5 TO 50 STEP .1 LINE (-50, i)-(50, i), 2 LINE (-50, -i)-(50, -i), 2 NEXT i LINE (-15, 15)-(25, -25), 0, BF FOR i = 0 TO 20 LINE (-i, i)-(i, -i), 10, BF NEXT i COLOR 10 LOCATE 11, 29: PRINT "You are now reading data." LOCATE 13, 29: PRINT "1. Continue" LOCATE 14, 29: PRINT "2. Abort" LOCATE 16, 29: INPUT "Your choice"; seechs SELECT CASE seechs CASE 1 CLS PAINT (0, 0), 2 FOR i = 0 TO 15 LINE (-i, i)-(i + 10, -i - 10), 0, BF NEXT i FOR i = 0 TO 20 LINE (-i, i)-(i, -i), 10, BF NEXT i COLOR 10 LOCATE 11, 29: PRINT "Choose your sorting mode?" LOCATE 13, 29: PRINT "1. Sort by (first) name" LOCATE 15, 29: PRINT "2. Sort by phone number" LOCATE 16, 29: INPUT "Your choice"; sortchoice SELECT CASE sortchoice CASE 1 CALL namesort CASE 2 CALL numbersort CASE ELSE COLOR 4 PRINT "That is not a valid choice" SLEEP 1 CALL see END SELECT CASE 2 GOSUB enderVII CASE ELSE COLOR 4 PRINT "That is not a valid choice" SLEEP 1 CALL see END SELECT GOSUB enderVII enderVII: END SUB SUB trash CLS SCREEN 12 WINDOW (-50, -50)-(50, 50) FOR n = 50 TO 0 STEP -.25 m = -n y = ((.5 * (SIN(.5 * n))) + .25) * 10 z = ((.5 * (SIN(.5 * n))) - .25) * 10 w = ((.5 * (SIN(.5 * n)) + 4) + .25) * 10 x = ((.5 * (SIN(.5 * n)) + 4) - .25) * 10 PSET (w, m), 4 PSET (x, m), 4 LINE (x, m)-(w, m), 4 PSET (-w, m), 4 PSET (-x, m), 4 LINE (-x, m)-(-w, m), 4 PSET (-y, m), 4 PSET (-z, m), 4 LINE (-z, m)-(-y, m), 4 PSET (y, m), 4 PSET (z, m), 4 LINE (z, m)-(y, m), 4 PSET (w, n), 4 PSET (x, n), 4 LINE (x, n)-(w, n), 4 PSET (-w, n), 4 PSET (-x, n), 4 LINE (-x, n)-(-w, n), 4 PSET (-y, n), 4 PSET (-z, n), 4 LINE (-z, n)-(-y, n), 4 PSET (y, n), 4 PSET (z, n), 4 LINE (z, n)-(y, n), 4 LINE (0, n)-(0, n), 4 LINE (0, m)-(0, m), 4 LINE (40, n)-(40, n), 4 LINE (40, m)-(40, m), 4 LINE (-40, n)-(-40, n), 4 LINE (-40, m)-(-40, m), 4 NEXT n FOR i = 0 TO 25 STEP .1 o = i + 40 LINE (40 - i, 50)-(40 - i, -50), 4 LINE (-40 + i, -50)-(-40 + i, 50), 4 LINE (o, 50)-(o, -50), 4 LINE (-o, -50)-(-o, 50), 4 LINE (i, 50)-(i, -50), 4 LINE (-i, -50)-(-i, 50), 4 NEXT i LINE (-15, 15)-(25, -25), 0, BF FOR i = 0 TO 20 LINE (-i, i)-(i, -i), 12, BF NEXT i COLOR 12 LOCATE 11, 29: PRINT "You are now deleting data" LOCATE 13, 29: PRINT "1. Continue" LOCATE 14, 29: PRINT "2. Abort" LOCATE 16, 29: INPUT "Your choice"; deletechoice SELECT CASE deletechoice CASE 1 CALL trashspecs CASE 2 GOSUB enderVIII END SELECT enderVIII: END SUB SUB trashspecs CLS OPEN "phonbook.phf" FOR INPUT AS #1 count% = 0: DO WHILE NOT EOF(1) count% = count% + 1 INPUT #1, name$(count%), phnumber$(count%), address$(count%), city$(count%), state$(count%) LOOP CLOSE #1 KILL "phonbook.phf" OPEN "phonbook.phf" FOR OUTPUT AS #1 COLOR 12 INPUT "Enter the name of the person you want to delete ", intwoname$ FOR i = 1 TO count% IF intwoname$ <> name$(i) THEN WRITE #1, name$(i), phnumber$(i), address$(i), city$(i), state$(i) END IF NEXT i CLOSE #1 PRINT intwoname$; " has been deleted" INPUT "Delete another"; trashspecschoice$ SELECT CASE trashspecschoice$ CASE "y" CALL trashspecs CASE "n" GOSUB enderIX END SELECT GOSUB enderIX enderIX: END SUB SUB useradd OPEN "userlist.phf" FOR APPEND AS #1 number = 1 timer$ = TIME$ dates$ = DATE$ WRITE #1, usernames$(1), timer$, dates$, number CLOSE #1 CALL userdisplay END SUB SUB usercheck OPEN "userlist.phf" FOR INPUT AS #1 count% = 0: DO WHILE NOT EOF(1) count% = count% + 1 INPUT #1, username$(count%), timer$(count%), dates$(count%), number(count%) LOOP CLOSE #1 flag = 0: FOR i = 1 TO count% IF usernames$(1) = username$(i) THEN CALL userdisplay ELSE flag = flag + 1 IF flag = count% THEN CALL useradd END IF END IF NEXT i END SUB SUB userdisplay CLS count% = 0: OPEN "userlist.phf" FOR INPUT AS #1 DO WHILE NOT EOF(1) count% = count% + 1 INPUT #1, username$(count%), timer$(count%), dates$(count%), number(count%) LOOP CLS FOR i = 0 TO count% IF usernames$(1) = username$(i) THEN COLOR 4 PRINT "User name: " COLOR 10 LOCATE 1, 21: PRINT usernames$(1) COLOR 4 PRINT "Last logon time: " COLOR 9 LOCATE 2, 21: PRINT timer$(i) COLOR 4 PRINT "Last logon date: " COLOR 5 LOCATE 3, 21: PRINT dates$(i) COLOR 4 PRINT "Number of logons: " COLOR 14 LOCATE 4, 20: PRINT number(i) pause$ = INPUT$(1) END IF NEXT i CLOSE #1 CLS OPEN "userlist.phf" FOR INPUT AS #1 count% = 0: DO WHILE NOT EOF(1) count% = count% + 1 INPUT #1, username$(count%), timer$(count%), dates$(count%), number(count%) LOOP CLOSE #1 KILL "userlist.phf" OPEN "userlist.phf" FOR APPEND AS #1 FOR i = 1 TO count% IF usernames$(1) = username$(i) THEN number = number(i) + 1 ELSE WRITE #1, username$(i), timer$(i), dates$(i), number(i) END IF NEXT i timer$ = TIME$ dates$ = DATE$ WRITE #1, usernames$(1), timer$, dates$, number CLOSE #1 END SUB