home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
mbug
/
mbug107.arc
/
RETRIEVE.LBR
/
FASTFIND.CQD
/
FASTFIND.CMD
Wrap
OS/2 REXX Batch file
|
1979-12-31
|
7KB
|
216 lines
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