NOTE - EXTENDED COMMAND FILE FASTFIND.CMD USE &FILE1 GO BOTTOM STORE STR(#,4) TO REC:NO STORE TRIM(REC:NO) TO REC:NO STORE '*** REFS.DBF CONTAINS '+REC:NO+' RECORDS ***' TO MESSAGE STORE 40-(LEN(MESSAGE)/2) TO COLUMN ERASE @ 1,COLUMN SAY MESSAGE @ 3,1 SAY '*** WARNING: This program finds only EXACT matches to the substring entered ***' @ 4,1 SAY '* Files are indexed by first author, first 20 chrs of source, first key word *' @ 5,1 SAY '* Therefore, this program will only find records where an author is the *' @ 6,1 SAY '* first author, or where a key word is the first key word!!!! *' @ 8,26 SAY '** WANT TO CONTINUE? (Y/N) **' @ 22,1 SAY ' ' WAIT TO CONTINUE IF !(CONTINUE)='N' RETURN ENDIF @ 8,26 SAY ' ' @ 23,0 SAY ' ' @ 8,26 SAY 'POSSIBLE FIELDS TO SEARCH ON:' @ 10,27 SAY '(1) AUTHORS (3) KEY WORDS' @ 11,27 SAY '(2) SOURCE' STORE ' ' TO FLD STORE ' ' TO SSTR STORE 'N' TO PRINT @ 13,20 SAY '________________________________________' @ 15,25 SAY '** ENTER SEARCH INFORMATION **' @ 17,10 SAY 'FIELD TO SEARCH ON (1-3) ' GET FLD PICTURE '9' @ 19,10 SAY 'SUBSTRING TO LOCATE ' GET SSTR PICTURE ; 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' @ 21,22 SAY 'DO YOU WANT RESULTS PRINTED? (Y/N) ' GET PRINT PICTURE 'A' READ IF FLD='1' STORE 'AUTHORS' TO FLD ELSE IF FLD='2' STORE 'SOURCE' TO FLD ELSE IF FLD='3' STORE 'KWORDS' TO FLD ENDIF ENDIF ENDIF STORE DR+':'+FLD TO FLD1 STORE TRIM(SSTR) TO SSTR @ 21,22 SAY ' ' @ 21,27 SAY '*** LOCATING RECORD(S) ***' USE &FILE1 INDEX &FLD1 FIND &SSTR STORE T TO AGAIN IF !(PRINT)='Y' ERASE @ 11,23 SAY '*** MAKE SURE PRINTER IS READY ***' @ 13,24 SAY '*** PRESS ANY KEY TO CONTINUE ***' @ 22,1 SAY ' ' WAIT ERASE @ 12,31 SAY '**** SEARCHING ****' @ 22,1 SAY ' ' STORE 5 TO LINE SET FORMAT TO PRINT SET EJECT OFF DO WHILE AGAIN IF !(SSTR)$!(&FLD) STORE $(AUTHORS,1,40) TO AU1 STORE $(AUTHORS,41,40) TO AU2 STORE $(TITLE,1,40) TO TI1 STORE $(TITLE,41,40) TO TI2 STORE $(TITLE,81,40) TO TI3 STORE $(TITLE,121,40) TO TI4 STORE $(SOURCE,1,40) TO SO1 STORE $(SOURCE,41,40) TO SO2 STORE $(KWORDS,1,40) TO KW1 STORE $(KWORDS,41,40) TO KW2 @ LINE,14 SAY 'REF. NO.: '+REF:NO USING 'XXXXXXXXXXXXXXX' STORE LINE+1 TO LINE @ LINE,13 SAY 'AUTHOR(S): '+AU1 USING; 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' IF AU2<>' ' STORE LINE+1 TO LINE @ LINE,24 SAY AU2 USING; 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' ENDIF STORE LINE+1 TO LINE @ LINE,17 SAY 'TITLE: '+TI1 USING; 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' IF TI2<>' ' STORE LINE+1 TO LINE @ LINE,24 SAY TI2 USING; 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' IF TI3<>' ' STORE LINE+1 TO LINE @ LINE,24 SAY TI3 USING; 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' IF TI4<>' ' STORE LINE+1 TO LINE @ LINE,24 SAY TI4 USING; 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' ENDIF ENDIF ENDIF STORE LINE+1 TO LINE @ LINE,16 SAY 'SOURCE: '+SO1 USING; 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' IF SO2<>' ' STORE LINE+1 TO LINE @ LINE,24 SAY SO2 USING; 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' ENDIF STORE LINE+1 TO LINE @ LINE,13 SAY 'KEY WORDS: '+KW1 USING; 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' IF KW2<>' ' STORE LINE+1 TO LINE @ LINE,24 SAY KW2 USING; 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' ENDIF STORE LINE+2 TO LINE IF LINE=55 .OR. LINE>55 SET EJECT ON EJECT STORE 5 TO LINE ENDIF ENDIF SKIP IF !(SSTR)$!(&FLD) STORE T TO AGAIN ELSE STORE F TO AGAIN ENDIF ENDDO @ 60,1 SAY ' ' SET FORMAT TO SCREEN ERASE @ 11,21 SAY '************** FINISHED ***************' @ 13,21 SAY '*** PRESS ANY KEY TO RETURN TO MENU ***' @ 22,1 SAY ' ' WAIT RETURN ENDIF STORE 1 TO LINE DO WHILE AGAIN IF !(SSTR)$!(&FLD) STORE $(AUTHORS,1,40) TO AU1 STORE $(AUTHORS,41,40) TO AU2 STORE $(TITLE,1,40) TO TI1 STORE $(TITLE,41,40) TO TI2 STORE $(TITLE,81,40) TO TI3 STORE $(TITLE,121,40) TO TI4 STORE $(SOURCE,1,40) TO SO1 STORE $(SOURCE,41,40) TO SO2 STORE $(KWORDS,1,40) TO KW1 STORE $(KWORDS,41,40) TO KW2 ERASE @ LINE,14 SAY 'REF. NO.: '+REF:NO STORE LINE+1 TO LINE @ LINE,13 SAY 'AUTHOR(S): '+AU1 IF AU2<>' ' STORE LINE+1 TO LINE @ LINE,24 SAY AU2 ENDIF STORE LINE+1 TO LINE @ LINE,17 SAY 'TITLE: '+TI1 IF TI2<>' ' STORE LINE+1 TO LINE @ LINE,24 SAY TI2 IF TI3<>' ' STORE LINE+1 TO LINE @ LINE,24 SAY TI3 IF TI4<>' ' STORE LINE+1 TO LINE @ LINE,24 SAY TI4 ENDIF ENDIF ENDIF STORE LINE+1 TO LINE @ LINE,16 SAY 'SOURCE: '+SO1 IF SO2<>' ' STORE LINE+1 TO LINE @ LINE,24 SAY SO2 ENDIF STORE LINE+1 TO LINE @ LINE,13 SAY 'KEY WORDS: '+KW1 IF KW2<>' ' STORE LINE+1 TO LINE @ LINE,24 SAY KW2 ENDIF STORE LINE+2 TO LINE IF LINE=5 .OR. LINE>5 @ 14,26 SAY '** WANT TO CONTINUE? (Y/N) **' @ 22,1 SAY ' ' WAIT TO CONTINUE IF !(CONTINUE)='N' RETURN ENDIF STORE 1 TO LINE ENDIF ENDIF ERASE @ 12,31 SAY '**** SEARCHING ****' SKIP IF !(SSTR)$!(&FLD) STORE T TO AGAIN ELSE STORE F TO AGAIN ENDIF ENDDO @ 20,21 SAY '************** FINISHED ***************' @ 21,21 SAY '*** PRESS ANY KEY TO RETURN TO MENU ***' @ 22,1 SAY ' ' WAIT USE RELEASE REC:NO,MESSAGE,COLUMN,FLD,SSTR,PRINT,CONTINUE,FLD1 RETURN