* DATE 04/24/85 19:36 * search.ref STOR CHR(PEEK (063)) TO dr REST from rdata additive STOR t TO first STOR t TO more DO WHIL more IF first ERAS STOR 'Search by itle, athor, ode, ny string or uit searching' TO prompt1 STOR 'ackward, orward, elete/Recall, dit, or

rint' TO prompt2 STOR 'Record Search Module' TO mode @ 0,65 SAY "Code: " @ 1, 0 SAY "+-------------------------------------------------" @ 1,50 SAY "-----------------------------+" @ 2, 2 SAY "Author:" @ 3,54 SAY ">>> ACTION >>>>>" @ 4, 1 SAY "Title 1:" @ 6, 1 SAY "Title 2:" @ 7, 0 SAY "JrnlCite:" @ 9, 0 SAY "Ed-Trans:" @ 9,56 SAY "Edn:" @ 10, 0 SAY "Pub data:" @ 10,55 SAY "Pg #:" @ 11, 0 SAY "Lib data:" @ 13, 3 SAY "Chron:" @ 13,55 SAY "Type:" @ 14, 0 SAY "Wks disc:" @ 16, 0 SAY "Comments:" @ 18,52 SAY "Updated:" @ 19, 0 SAY "+-------------------------------------------------" @ 19,50 SAY "-----------------------------+" ENDI first STOR f TO first STOR '?' TO command * find out if the current record is marked for deletion IF * STOR 'Deleted' TO deleted ELSE STOR ' ' TO deleted ENDI * STOR ' ' TO name STOR # TO rec:number @ 0, 0 SAY deleted @ 0,27 SAY mode @ 0,72 SAY code @ 2,10 SAY author @ 3,72 SAY action @ 4,10 SAY $(title1,1,60) @ 5,10 SAY $(title1,61,60) @ 6,10 SAY title2 @ 7,10 SAY journal @ 9,10 SAY edtrans @ 9,61 SAY edition @ 10,10 SAY publdat @ 10,61 SAY pageno @ 11,10 SAY librdat @ 13,10 SAY chron @ 13,61 SAY type @ 14,10 SAY $(worksdis,1,60) @ 15,10 SAY $(worksdis,61,60) @ 16,10 SAY $(comments,1,60) @ 17,10 SAY $(comments,60,60) @ 18,10 SAY $(comments,121,40) @ 18,61 SAY dayu @ 20,00 @ 21,00 @ 22,00 @ 20,02 SAY prompt1 @ 21,02 SAY prompt2 @ 22,64 SAY 'WHAT NEXT ?' @ 22,77 GET command picture '!' READ DO CASE CASE command = 'A' DO search1.ref CASE (command = 'B' .OR. command = ',') SKIP -1 CASE command = 'C' STOR # TO rec:number SET INDEX TO &dr.:&cindex @ 20,00 @ 21,00 @ 22,00 @ 20,12 SAY 'Please enter code ' GET name READ STOR TRIM(name) TO name STOR !(name) TO name FIND &name IF # = 0 @ 20,00 @ 21,00 @ 22,00 @ 20,12 SAY name+' is not in the file' @ 22,12 SAY 'Press RETURN to Continue' SET CONSOLE OFF WAIT SET CONSOLE ON GO rec:number ENDI CASE command = 'D' IF * RECA ELSE DELE ENDI CASE (command = 'F' .OR. command = '.') SKIP CASE command = 'E' DO edit.ref CASE command = 'P' DO print.ref CASE command = 'T' STOR # TO rec:number SET INDEX TO &dr.:&tindex @ 20,00 @ 21,00 @ 22,00 @ 20,12 SAY 'Please enter title ' GET name READ STOR TRIM(name) TO name STOR !(name) TO name FIND &name IF # = 0 @ 20,00 @ 21,00 @ 22,00 @ 20,12 SAY name+' is not in the file' @ 22,12 SAY 'Press RETURN to Continue' SET CONSOLE OFF WAIT SET CONSOLE ON GO rec:number ENDI CASE command = 'U' STOR # TO rec:number SET INDEX TO &dr.:&aindex @ 20,00 @ 21,00 @ 22,00 @ 20,12 SAY 'Please enter author ' GET name READ STOR TRIM(name) TO name STOR !(name) TO name FIND &name IF # = 0 @ 20,00 @ 21,00 @ 22,00 @ 20,12 SAY name+' is not in the file' @ 22,12 SAY 'Press RETURN to Continue' SET CONSOLE OFF WAIT SET CONSOLE ON GO rec:number ENDI CASE command = '?' ERAS STOR t TO first TEXT S E A R C H M E N U H E L P S C R E E N You can find information in a variety of ways using the various search functions. If you know the name of the first author - the author index will turn up the first instance of that name. If you know the start of the title, the title index will turn that up. Please remember, however, dBASE index files will find the first instance of the stated combination (in upper or lower case). Always enter as little as you can. Thus 'smi' will turn up 'SMITH' or 'SMITHERS' etc. (which ever comes first); 'smithe' will turn up 'SMITHERS.' If you put a title in as 'The Story of ' 'story' will turn up nothing. You would have to put in 'the sto.' You can use upper or lower case. All is not lost, however. If you are looking for a book by an author whose name begins with 'Smi' - use the ny part of data base option. It will turn up any string in any field - and then let you look at all files that contain the string - and select any one of those files. Please hit any key to return to the program ENDT SET CONSOLE OFF WAIT SET CONSOLE ON CASE command = 'Q' STOR f TO more ENDC ENDD SET INDEX TO &dr.:&tindex RELE ALL STOR t TO first