* * * Author......: James A. Gronek * Notice......: Copyright 04/09/1984, UCS Inc. All Rights Reserved * * Called by...: DBASEII * * Call(s).....: N/A * * Uses(.dbf)..: MUSIC.DBF * * Creates.....: N/A * * Interfaces..: N/A * * Notes.......: Music Library Management Program * * set environmental variables CLEAR ERASE SET talk OFF * intro screen @ 12,05 SAY "This is the Main Menu for The Music Management System" @ 16,05 SAY "Type an 'X' to exit, or any other key to continue...." ? ? WAIT TO CONTINUE * evaluate response.... IF !(CONTINUE)= 'X' * time to do something else... QUIT ELSE * ok, continue on... RELEASE CONTINUE ENDIF !(CONTINUE)= 'X' * find out where work files are located... STORE 'B' TO drive ERASE @ 12,20 SAY "What drive are your work files on?" GET drive PICTURE "A" READ * set default to work file location... SET DEFAULT TO &drive * select the database USE music * initialize menu selecction variable STORE '?' TO choice * set up 'forever' loop DO WHILE t * clear screen, display menu.... ERASE @ 1, 0 SAY "++================================================" @ 1,50 SAY "============================++" @ 2, 0 SAY "|| MUSIC MANAGEMENT SYSTEM MAI" @ 2,50 SAY "N MENU ||" @ 3, 0 SAY "++================================================" @ 3,50 SAY "============================++" @ 4, 0 SAY "||" @ 4,78 SAY "||" @ 5, 0 SAY "|| You may perform the following function" @ 5,50 SAY "s: ||" @ 6, 0 SAY "||" @ 6,78 SAY "||" @ 7, 0 SAY "|| (1) - Add new records/tapes/casset" @ 7,50 SAY "tes to the database ||" @ 8, 0 SAY "||" @ 8,78 SAY "||" @ 9, 0 SAY "|| (2) - Edit the database" @ 9,78 SAY "||" @ 10, 0 SAY "||" @ 10,78 SAY "||" @ 11, 0 SAY "|| (3) - Search for database entries" @ 11,78 SAY "||" @ 12, 0 SAY "||" @ 12,78 SAY "||" @ 13, 0 SAY "|| (4) -Quit to CP/M" @ 13,78 SAY "||" @ 14, 0 SAY "||" @ 14,78 SAY "||" @ 15, 0 SAY "||" @ 15,78 SAY "||" @ 16, 0 SAY "||" @ 16,78 SAY "||" @ 17, 0 SAY "||" @ 17,78 SAY "||" @ 18, 0 SAY "|| Enter your choice please----->" @ 18,47 GET choice PICTURE "9" @ 18,78 SAY "||" @ 19, 0 SAY "||" @ 19,78 SAY "||" @ 20, 0 SAY "||" @ 20,78 SAY "||" @ 21, 0 SAY "||" @ 21,78 SAY "||" @ 22, 0 SAY "++================================================" @ 22,50 SAY "============================++" READ * evaluate action response... DO CASE * add new records to database.... CASE choice= '1' * reset selection variable.... STORE '?' TO choice * clear screen, intro add routine.... ERASE @ 12,10 SAY "This is the Home Music Management System Add Routine......" @ 16,07 SAY "Type an 'X' to exit, or any other key to continue..." WAIT TO CONTINUE * evaluate response.... IF !(CONTINUE)= 'X' * ok, do something else.... RELEASE CONTINUE * 'N' bypasses add routine.... STORE 'N' TO more ELSE * add some records.... RELEASE CONTINUE * 'Y' puts us in the add loop.... STORE 'Y' TO more ENDIF !(CONTINUE)= 'X' * set up conditional loop..... DO WHILE !(more)<> 'N' * initialize memvars to blank for add.... STORE ' ' TO artist STORE ' ' TO media STORE ' ' TO number STORE ' ' TO title STORE ' ' TO sel1,sel2,sel3,sel4,sel5 STORE ' ' TO ; comments * clear screen, display add format.... ERASE @ 1, 0 SAY "++================================================" @ 1,50 SAY "============================++" @ 2, 0 SAY "|| Home Music Management Sys" @ 2,50 SAY "tem ||" @ 3, 0 SAY "++================================================" @ 3,50 SAY "============================++" @ 4, 0 SAY "||" @ 4,78 SAY "||" @ 5, 0 SAY "|| Artist" @ 5,11 GET artist PICTURE "!!!!!!!!!!!!!!!!!!!!" @ 5,40 SAY "Media" @ 5,46 GET media PICTURE "!" @ 5,57 SAY "Number" @ 5,64 GET number PICTURE "999" @ 5,78 SAY "||" @ 6, 0 SAY "||" @ 6,78 SAY "||" @ 7, 0 SAY "|| Title" @ 7,11 GET title PICTURE "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" @ 7,78 SAY "||" @ 8, 0 SAY "||" @ 8,78 SAY "||" @ 9, 0 SAY "|| Selection 1:" @ 9,17 GET sel1 PICTURE "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" @ 9,78 SAY "||" @ 10, 0 SAY "||" @ 10,78 SAY "||" @ 11, 0 SAY "|| Selection 2:" @ 11,17 GET sel2 PICTURE "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" @ 11,78 SAY "||" @ 12, 0 SAY "||" @ 12,78 SAY "||" @ 13, 0 SAY "|| Selection 3:" @ 13,17 GET sel3 PICTURE "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" @ 13,78 SAY "||" @ 14, 0 SAY "||" @ 14,78 SAY "||" @ 15, 0 SAY "|| Selection 4:" @ 15,17 GET sel4 PICTURE "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" @ 15,78 SAY "||" @ 16, 0 SAY "||" @ 16,78 SAY "||" @ 17, 0 SAY "|| Selection 5:" @ 17,17 GET sel5 PICTURE "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" @ 17,78 SAY "||" @ 18, 0 SAY "||" @ 18,78 SAY "||" @ 19, 0 SAY "|| Comments:" @ 19,14 GET comments ; PICTURE "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" @ 19,78 SAY "||" @ 20, 0 SAY "||" @ 20,78 SAY "||" @ 21, 0 SAY "||" @ 21,78 SAY "||" @ 22, 0 SAY "++================================================" @ 22,50 SAY "============================++" READ * add a blank record.... APPEND BLANK * input screen values to data fields.... REPLACE artist WITH artist REPLACE media WITH media REPLACE number WITH number REPLACE sel1 WITH sel1 REPLACE sel2 WITH sel2 REPLACE sel3 WITH sel3 REPLACE sel4 WITH sel4 REPLACE sel5 WITH sel5 REPLACE comments WITH comments * clear screen, see if there is more to add... ERASE @ 12,20 SAY "DO YOU HAVE MORE TO ADD (Y/N)?" ? ? WAIT TO more * end of add loop.... ENDDO WHILE !(more)<> 'N' * edit routine.... CASE choice= '2' * reset selection variable.... STORE '?' TO choice * clear screen, intro edit routine..... ERASE @ 12,10 SAY "This is the Home Music Management System Edit Routine" @ 16,10 SAY "Type an 'X' to exit, or any other key to continue...." ? ? WAIT TO CONTINUE * evaluate response.... IF !(CONTINUE)= 'X' * time to do something else... RELEASE CONTINUE * 'N' bypasses edit routine STORE 'N' TO looking ELSE * continue on edit routine.... RELEASE CONTINUE * 'Y' puts us in the edit loop STORE 'Y' TO looking ENDIF !(CONTINUE)= 'X' * initialize selection variable.... STORE '?' TO edchoice * set up conditional loop DO WHILE !(looking)<> 'N' * store fields to memvars for editting.... STORE artist TO artist STORE media TO media STORE number TO number STORE title TO title STORE sel1 TO sel1 STORE sel2 TO sel2 STORE sel3 TO sel3 STORE sel4 TO sel4 STORE sel5 TO sel5 STORE comments TO comments * clear screen, display record, prompt for action.... ERASE @ 1, 0 SAY "++================================================" @ 1,50 SAY "============================++" @ 2, 0 SAY "|| HOME MUSIC MANAGEMENT SYSTEM E" @ 2,50 SAY "DIT ROUTINE ||" @ 3, 0 SAY "++================================================" @ 3,50 SAY "============================++" @ 4, 0 SAY "||" @ 4,78 SAY "||" @ 5, 0 SAY "|| ARTIST" @ 5,11 SAY artist @ 5,44 SAY "MEDIA" @ 5,50 SAY media @ 5,60 SAY "NUMBER" @ 5,67 SAY number @ 5,78 SAY "||" @ 6, 0 SAY "||" @ 6,78 SAY "||" @ 7, 0 SAY "|| TITLE" @ 7,10 SAY title @ 7,78 SAY "||" @ 8, 0 SAY "||" @ 8,78 SAY "||" @ 9, 0 SAY "|| SELECTION 1" @ 9,16 SAY sel1 @ 9,78 SAY "||" @ 10, 0 SAY "|| SELECTION 2" @ 10,16 SAY sel2 @ 10,78 SAY "||" @ 11, 0 SAY "|| SELECTION 3" @ 11,16 SAY sel3 @ 11,78 SAY "||" @ 12, 0 SAY "|| SELECTION 4" @ 12,16 SAY sel4 @ 12,78 SAY "||" @ 13, 0 SAY "|| SELECTION 5" @ 13,16 SAY sel5 @ 13,78 SAY "||" @ 14, 0 SAY "||" @ 14,78 SAY "||" @ 15, 0 SAY "|| COMMENTS" @ 15,13 SAY comments @ 15,78 SAY "||" @ 16, 0 SAY "++================================================" @ 16,50 SAY "============================++" @ 17, 0 SAY "|| B)ackward 1 Record F)orward 1 Record" @ 17,51 SAY "1-9)Move x Records (B or F)||" @ 18, 0 SAY "|| E)dit Record D)elete Record" @ 18,51 SAY "S)earch for Record ||" @ 19, 0 SAY "||" @ 19,78 SAY "||" @ 20, 0 SAY "|| to exit to Main Menu Enter you" @ 20,50 SAY "r choice please---->" @ 20,70 GET edchoice PICTURE "!" @ 20,78 SAY "||" @ 21, 0 SAY "||" @ 21,78 SAY "||" @ 22, 0 SAY "++================================================" @ 22,50 SAY "============================++" READ * evaluate action response.... DO CASE * move backwards one record.... CASE !(edchoice)= 'B' * reset selection variable.... STORE '?' TO edchoice SKIP -1 STORE 'Y' TO looking * move forward one record.... CASE !(edchoice)= 'F' * reset selection variable.... STORE '?' TO edchoice SKIP 1 STORE 'Y' TO looking * move x records, forward or backward.... CASE !(edchoice) >= "1" .AND. !(edchoice) <= "9" * initialize backward or forward variable.... STORE '?' TO bf * erase line 20 @ 20,0 * prompt for backward or forward..... @ 20,0 SAY "|| B)ackwards or F)orwards ?" @ 20,78 SAY "||" @ 20,40 GET bf PICTURE "A" READ * evaluate response.... DO CASE * if backward.... CASE !(bf)= 'B' SKIP -&edchoice RELEASE bf * reset selection variable.... STORE '?' TO edchoice STORE 'Y' TO looking * if forward.... CASE !(bf)= 'F' SKIP &edchoice RELEASE bf * reset selection variable.... STORE '?' TO edchoice STORE 'Y' TO looking * if invalid entry.... OTHERWISE RELEASE bf * reset selection variable.... STORE '?' TO edchoice STORE 'Y' TO looking ENDCASE * edit this record.... CASE !(edchoice)= 'E' * reset selection variable.... STORE '?' TO edchoice * store fields to memvars for editting... STORE artist TO artist STORE media TO media STORE number TO number STORE title TO title STORE sel1 TO sel1 STORE sel2 TO sel2 STORE sel3 TO sel3 STORE sel4 TO sel4 STORE sel5 TO sel5 STORE comments TO comments * clear screen, display record for edit.... ERASE @ 1, 0 SAY "++================================================" @ 1,50 SAY "============================++" @ 2, 0 SAY "|| HOME MUSIC MANAGEMENT SYSTEM E" @ 2,50 SAY "DIT ROUTINE ||" @ 3, 0 SAY "++================================================" @ 3,50 SAY "============================++" @ 4, 0 SAY "||" @ 4,78 SAY "||" @ 5, 0 SAY "|| ARTIST" @ 5,11 GET artist @ 5,44 SAY "MEDIA" @ 5,50 GET media @ 5,60 SAY "NUMBER" @ 5,67 GET number @ 5,78 SAY "||" @ 6, 0 SAY "||" @ 6,78 SAY "||" @ 7, 0 SAY "|| TITLE" @ 7,10 GET title @ 7,78 SAY "||" @ 8, 0 SAY "||" @ 8,78 SAY "||" @ 9, 0 SAY "|| SELECTION 1" @ 9,16 GET sel1 @ 9,78 SAY "||" @ 10, 0 SAY "|| SELECTION 2" @ 10,16 GET sel2 @ 10,78 SAY "||" @ 11, 0 SAY "|| SELECTION 3" @ 11,16 GET sel3 @ 11,78 SAY "||" @ 12, 0 SAY "|| SELECTION 4" @ 12,16 GET sel4 @ 12,78 SAY "||" @ 13, 0 SAY "|| SELECTION 5" @ 13,16 GET sel5 @ 13,78 SAY "||" @ 14, 0 SAY "||" @ 14,78 SAY "||" @ 15, 0 SAY "|| COMMENTS" @ 15,13 GET comments @ 15,78 SAY "||" @ 16, 0 SAY "++================================================" @ 16,50 SAY "============================++" @ 17, 0 SAY "||" @ 17,78 SAY "||" @ 18, 0 SAY "||" @ 18,78 SAY "||" @ 19, 0 SAY "||" @ 19,78 SAY "||" @ 20, 0 SAY "|| Edit Record as you please, to leave ; unchanged...." @ 20,78 SAY "||" @ 21, 0 SAY "||" @ 21,78 SAY "||" @ 22, 0 SAY "++================================================" @ 22,50 SAY "============================++" READ * replace field data with screen reponses.... REPLACE artist WITH artist REPLACE media WITH media REPLACE number WITH number REPLACE sel1 WITH sel1 REPLACE sel2 WITH sel2 REPLACE sel3 WITH sel3 REPLACE sel4 WITH sel4 REPLACE sel5 WITH sel5 REPLACE comments WITH comments STORE 'Y' TO looking * delete this record.... CASE !(edchoice)= 'D' * reset selection variable.... STORE '?' TO edchoice * initialize response test variable.... STORE 'N' TO yn ERASE @ 12,20 SAY "ARE YOU SURE (Y/N)????" GET yn PICTURE "!" READ * test for abort... * if no abort... IF yn= 'Y' DELETE PACK RELEASE yn ELSE * if abort.... RELEASE yn ENDIF yn= 'Y' STORE 'Y' TO looking * search for record to edit..... CASE !(edchoice)= 'S' * reset selection variables.... STORE '?' TO edchoice STORE '?' TO pick * clear screen, display search alternatives.... ERASE @ 1, 0 SAY "++================================================" @ 1,50 SAY "============================++" @ 2, 0 SAY "|| MUSIC MANAGEMENT SYSTEM SEARCH" @ 2,51 SAY "ROUTINE ||" @ 3, 0 SAY "++================================================" @ 3,50 SAY "============================++" @ 4, 0 SAY "||" @ 4,78 SAY "||" @ 5, 0 SAY "|| You have a number of options to select fro" @ 5,50 SAY "m in your search. ||" @ 6, 0 SAY "||" @ 6,78 SAY "||" @ 7, 0 SAY "|| You can select by the following methods..." @ 7,78 SAY "||" @ 8, 0 SAY "||" @ 8,78 SAY "||" @ 9, 0 SAY "|| (1) By keyword, as listed in the COMM" @ 9,50 SAY "ENTS field ||" @ 10, 0 SAY "|| (2) By keyword, as listed in the SELE" @ 10,50 SAY "CTION fields ||" @ 11, 0 SAY "|| (3) By keyword, as listed in the TITL" @ 11,50 SAY "E field ||" @ 12, 0 SAY "|| (4) By Artist's name" @ 12,78 SAY "||" @ 13, 0 SAY "|| (5) By Media type" @ 13,78 SAY "||" @ 14, 0 SAY "|| (6) By Number" @ 14,78 SAY "||" @ 15, 0 SAY "|| (7) Return to Edit Menu" @ 15,78 SAY "||" @ 16, 0 SAY "||" @ 16,78 SAY "||" @ 17, 0 SAY "||" @ 17,78 SAY "||" @ 18, 0 SAY "||" @ 18,78 SAY "||" @ 19, 0 SAY "||" @ 19,78 SAY "||" @ 20, 0 SAY "|| How do you wish to select?" @ 20,46 GET pick PICTURE "9" @ 20,78 SAY "||" @ 21, 0 SAY "||" @ 21,78 SAY "||" @ 22, 0 SAY "++================================================" @ 22,50 SAY "============================++" READ * evaluate response DO CASE * keyword search in comments field.... CASE pick= '1' * initilize keyword variables to blank.... STORE ' ' TO kw * prompt for search words... ERASE @ 12,10 SAY "Enter KEYWORD for search" GET kw ; PICTURE 'XXXXXXXXXXXXXXX' READ * trim out blanks from search variable.. STORE trim(kw) TO tkw * position record pointer to top.... GO TOP * display records that meet criteria..... DISPLAY FOR "&TKW" $comments artist, title, media, number OFF WAIT STORE '?' TO pick * keyword search in selections fields.... CASE pick= '2' STORE ' ' TO kw ERASE @ 12,10 SAY "Enter KEYWORD for search" GET kw ; PICTURE 'XXXXXXXXXXXXXXX' READ STORE trim(kw) TO tkw GO TOP DISPLAY FOR "&TKW" $sel1.OR. "&TKW" $sel2.OR. "&TKW" $sel3.OR.; "&TKW" $sel4.OR."&TKW" $sel5 artist, title, media, number OFF WAIT STORE '?' TO pick * keyword search in title field.... CASE pick= '3' STORE ' ' TO kw ERASE @ 12,10 SAY "Enter KEYWORD for search" GET kw ; PICTURE 'XXXXXXXXXXXXXXX' READ STORE trim(kw) TO tkw GO TOP DISPLAY FOR "&TKW" $title artist, title, media, number OFF WAIT STORE '?' TO pick * keyword search in artist field..... CASE pick= '4' STORE ' ' TO kw ERASE @ 12,10 SAY "Enter Artist's Name for search" GET kw ; PICTURE 'XXXXXXXXXXXXXXX' READ STORE trim(kw) TO tkw GO TOP DISPLAY FOR "&TKW" $artist artist, title, media, number OFF WAIT STORE '?' TO pick * search by media type...... CASE pick= '5' STORE ' ' TO type ERASE @ 12,10 SAY "Enter Media type for search (R/C/T)" GET type ; PICTURE 'A' READ GO TOP DISPLAY FOR media= '&TYPE' artist, title, media, number OFF WAIT STORE '?' TO pick * search by record or tape number.... CASE pick= '6' STORE '000' TO num ERASE @ 12,20 SAY "Enter the number to find---->" GET num ; PICTURE '999' READ GO TOP DISPLAY FOR number= '&NUM' artist, title, media, number OFF WAIT RELEASE num STORE '?' TO pick * return to edit menu..... CASE pick= '7' RELEASE pick GO TOP STORE 'Y' TO looking * invalid selection...... OTHERWISE RELEASE pick GO TOP STORE 'N' TO looking ENDCASE * invalid selection..... OTHERWISE RELEASE edchoice STORE 'N' TO looking ENDCASE * end of edit loop..... ENDDO WHILE !(looking)<> 'N' * search for records.... CASE choice= '3' * clear screen, intro search routine.... ERASE @ 12,20 SAY "THIS IS THE MUSIC SEARCH ROUTINE...." @ 16,10 SAY "Type an 'X' to exit, or any other key to continue..." ? ? WAIT TO CONTINUE * evaluate response.... * time to do something else... IF !(CONTINUE)= 'X' RELEASE CONTINUE * reset selection variable.... STORE '?' TO choice *'f' bypasses search loop STORE f TO srch ELSE RELEASE CONTINUE *'t' puts us in the search loop.... STORE t TO srch ENDIF !(CONTINUE)= 'X' * initialize selection variable... STORE '?' TO pick * set up conditional loop DO WHILE srch * clear screen, display search alternatives.... ERASE @ 1, 0 SAY "++================================================" @ 1,50 SAY "============================++" @ 2, 0 SAY "|| MUSIC MANAGEMENT SYSTEM SEARCH" @ 2,51 SAY "ROUTINE ||" @ 3, 0 SAY "++================================================" @ 3,50 SAY "============================++" @ 4, 0 SAY "||" @ 4,78 SAY "||" @ 5, 0 SAY "|| You have a number of options to select fro" @ 5,50 SAY "m in your search. ||" @ 6, 0 SAY "||" @ 6,78 SAY "||" @ 7, 0 SAY "|| You can select by the following methods..." @ 7,78 SAY "||" @ 8, 0 SAY "||" @ 8,78 SAY "||" @ 9, 0 SAY "|| (1) By keyword, as listed in the COMM" @ 9,50 SAY "ENTS field ||" @ 10, 0 SAY "|| (2) By keyword, as listed in the SELE" @ 10,50 SAY "CTION fields ||" @ 11, 0 SAY "|| (3) By keyword, as listed in the TITL" @ 11,50 SAY "E field ||" @ 12, 0 SAY "|| (4) By Artist's name" @ 12,78 SAY "||" @ 13, 0 SAY "|| (5) By Media type" @ 13,78 SAY "||" @ 14, 0 SAY "|| (6) By Number" @ 14,78 SAY "||" @ 15, 0 SAY "|| (7) By multiple KEYWORD, as listed ; in COMMENTS" @ 15,78 SAY "||" @ 16, 0 SAY "|| (8) Return to Main Menu" @ 16,78 SAY "||" @ 17, 0 SAY "||" @ 17,78 SAY "||" @ 18, 0 SAY "||" @ 18,78 SAY "||" @ 19, 0 SAY "||" @ 19,78 SAY "||" @ 20, 0 SAY "|| How do you wish to select?" @ 20,46 GET pick PICTURE "9" @ 20,78 SAY "||" @ 21, 0 SAY "||" @ 21,78 SAY "||" @ 22, 0 SAY "++================================================" @ 22,50 SAY "============================++" READ DO CASE * * * NOTE - see remarks on the search portion of the edit routine * for explanations on selections other than multiple * keywords. Multiple keyword selection is commented * below.... * * CASE pick= '1' STORE ' ' TO kw ERASE @ 12,10 SAY "Enter KEYWORD for search" GET kw ; PICTURE 'XXXXXXXXXXXXXXX' READ STORE trim(kw) TO tkw DISPLAY FOR "&TKW" $comments artist, title, media, number OFF WAIT STORE '?' TO pick CASE pick= '2' STORE ' ' TO kw ERASE @ 12,10 SAY "Enter KEYWORD for search" GET kw ; PICTURE 'XXXXXXXXXXXXXXX' READ STORE trim(kw) TO tkw DISPLAY FOR "&TKW" $sel1.OR. "&TKW" $sel2.OR. "&TKW" $sel3.OR. ; "&TKW" $sel4.OR."&TKW" $sel5 artist, title, media, number OFF WAIT STORE '?' TO pick CASE pick= '3' STORE ' ' TO kw ERASE @ 12,10 SAY "Enter KEYWORD for search" GET kw ; PICTURE 'XXXXXXXXXXXXXXX' READ STORE trim(kw) TO tkw DISPLAY FOR "&TKW" $title artist, title, media, number OFF WAIT STORE '?' TO pick CASE pick= '4' STORE ' ' TO kw ERASE @ 12,10 SAY "Enter Artist's Name for search" ; GET kw PICTURE 'XXXXXXXXXXXXXXX' READ STORE trim(kw) TO tkw DISPLAY FOR "&TKW" $artist artist, title, media, number OFF WAIT STORE '?' TO pick CASE pick= '5' STORE ' ' TO type ERASE @ 12,10 SAY "Enter Media type for search (R/C/T)" GET type; PICTURE 'A' READ DISPLAY FOR media= '&TYPE' artist, title, media, number OFF WAIT STORE '?' TO pick CASE pick= '6' STORE '000' TO num ERASE @ 12,20 SAY "Enter the number to find---->" GET num ; PICTURE '999' READ DISPLAY FOR number= '&NUM' artist, title, media, number OFF WAIT STORE '?' TO pick * * MULTIPLE KEYWORD SEARCHES...... * CASE pick= '7' * initialize keyword count variable STORE '0' TO hwmny * clear screen, prompt for how many keywords.... ERASE @ 12,20 SAY "How many Key Words (1-4)??" GET hwmny PICTURE "9" READ * evaluate response.... DO CASE * search by 1 keyword... CASE hwmny= '1' * initialize keyword to blank... STORE ' ' TO kw1 * clear screen, prompt for keyword ERASE @ 12,10 SAY "Enter KEYWORD for search" GET kw1 ; PICTURE 'XXXXXXXXXXXXXXX' READ * trim out blanks from keyword... STORE trim(kw1) TO tkw1 * clear screen, display records that meet criteria... ERASE DISPLAY FOR "&TKW1" $comments artist, title, media, number OFF WAIT STORE '?' TO pick * search by 2 keywords... CASE hwmny= '2' ERASE STORE ' ' TO kw1 STORE ' ' TO kw2 @ 12,10 SAY "Enter KEYWORD for search" GET kw1 ; PICTURE 'XXXXXXXXXXXXXXX' @ 13,10 SAY "Enter KEYWORD for search" GET kw2 ; PICTURE 'XXXXXXXXXXXXXXX' READ STORE trim(kw1) TO tkw1 STORE trim(kw2) TO tkw2 ERASE DISPLAY FOR "&TKW1" $comments .AND. "&TKW2" $comments ; artist, title, media, number OFF WAIT STORE '?' TO pick * search by 3 keywords.... CASE hwmny= '3' ERASE STORE ' ' TO kw1 STORE ' ' TO kw2 STORE ' ' TO kw3 @ 12,10 SAY "Enter KEYWORD for search" GET kw1 ; PICTURE 'XXXXXXXXXXXXXXX' @ 13,10 SAY "Enter KEYWORD for search" GET kw2 ; PICTURE 'XXXXXXXXXXXXXXX' @ 14,10 SAY "Enter KEYWORD for search" GET kw3 ; PICTURE 'XXXXXXXXXXXXXXX' READ STORE trim(kw1) TO tkw1 STORE trim(kw2) TO tkw2 STORE trim(kw3) TO tkw3 ERASE DISPLAY FOR "&TKW1" $comments .AND. "&TKW2" $comments .AND. ; "&TKW3" $comments artist, title, media, number OFF WAIT STORE '?' TO pick * search by 4 keywords... CASE hwmny= '4' ERASE STORE ' ' TO kw1 STORE ' ' TO kw2 STORE ' ' TO kw3 STORE ' ' TO kw4 @ 12,10 SAY "Enter KEYWORD for search" GET kw1 ; PICTURE 'XXXXXXXXXXXXXXX' @ 13,10 SAY "Enter KEYWORD for search" GET kw2 ; PICTURE 'XXXXXXXXXXXXXXX' @ 14,10 SAY "Enter KEYWORD for search" GET kw3 ; PICTURE 'XXXXXXXXXXXXXXX' @ 15,10 SAY "Enter KEYWORD for search" GET kw4 ; PICTURE 'XXXXXXXXXXXXXXX' READ STORE trim(kw1) TO tkw1 STORE trim(kw2) TO tkw2 STORE trim(kw3) TO tkw3 STORE trim(kw4) TO tkw4 ERASE DISPLAY FOR "&TKW1" $comments .AND. "&TKW2" $comments .AND. ; "&TKW3" $comments .AND. "&TKW4" $comments artist, title, ; media, number OFF WAIT STORE '?' TO pick * invalid selection..... OTHERWISE STORE '?' TO pick ENDCASE * return to main menu... CASE pick= '8' RELEASE pick STORE f TO srch * end of multiple keyword search routines.... ENDCASE * end of search routines.... ENDDO WHILE srch * quit for now.... CASE choice= '4' QUIT TO "DIR A:" , "DIR B:" * end of main menu selections ENDCASE ENDDO WHILE t