home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / educ / retrv_pc.zip / FASTFIND.PRG < prev    next >
Text File  |  1984-10-24  |  7KB  |  216 lines

  1. NOTE  - EXTENDED COMMAND FILE FASTFIND.CMD
  2. USE &FILE1
  3. GO BOTTOM
  4. STORE STR(#,4) TO REC:NO
  5. STORE TRIM(REC:NO) TO REC:NO
  6. STORE '*** REFS.DBF CONTAINS '+REC:NO+' RECORDS ***' TO MESSAGE
  7. STORE 40-(LEN(MESSAGE)/2) TO COLUMN
  8. ERASE
  9. @  1,COLUMN SAY MESSAGE
  10. @  3,1  SAY '*** WARNING: This program finds only EXACT matches to the substring entered ***'
  11. @  4,1  SAY '* Files are indexed by first author,  first 20 chrs of source, first key word *'
  12. @  5,1  SAY '* Therefore,  this program  will  only find records  where  an author is  the *'
  13. @  6,1  SAY '* first author, or where a key word is the first key word!!!!                 *'
  14. @  8,26 SAY '** WANT TO CONTINUE? (Y/N) **'
  15. @ 22,1  SAY ' '
  16. WAIT TO CONTINUE
  17. IF !(CONTINUE)='N'
  18.    RETURN
  19. ENDIF
  20. @  8,26 SAY '                              '
  21. @ 23,0  SAY '                      '
  22. @  8,26 SAY 'POSSIBLE FIELDS TO SEARCH ON:'
  23. @ 10,27 SAY '(1) AUTHORS   (3) KEY WORDS'
  24. @ 11,27 SAY '(2) SOURCE'
  25. STORE ' ' TO FLD
  26. STORE '                                         ' TO SSTR
  27. STORE 'N' TO PRINT
  28. @ 13,20 SAY '________________________________________'
  29. @ 15,25 SAY '** ENTER SEARCH INFORMATION **'
  30. @ 17,10 SAY 'FIELD TO SEARCH ON (1-3) ' GET FLD PICTURE '9'
  31. @ 19,10 SAY 'SUBSTRING TO LOCATE ' GET SSTR PICTURE ;
  32.    'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  33. @ 21,22 SAY 'DO YOU WANT RESULTS PRINTED? (Y/N) ' GET PRINT PICTURE 'A'
  34. READ
  35. IF FLD='1'
  36.      STORE 'AUTHORS' TO FLD
  37. ELSE
  38.      IF FLD='2'
  39.           STORE 'SOURCE' TO FLD
  40.      ELSE
  41.           IF FLD='3'
  42.                STORE 'KWORDS' TO FLD
  43.           ENDIF
  44.      ENDIF
  45. ENDIF
  46. STORE DR+':'+FLD TO FLD1
  47. STORE TRIM(SSTR) TO SSTR
  48. @ 21,22 SAY '                                          '
  49. @ 21,27 SAY '*** LOCATING RECORD(S) ***'
  50. USE &FILE1 INDEX &FLD1
  51. FIND &SSTR
  52. STORE T TO AGAIN
  53. IF !(PRINT)='Y'
  54.      ERASE
  55.      @ 11,23 SAY '*** MAKE SURE PRINTER IS READY ***'
  56.      @ 13,24 SAY '*** PRESS ANY KEY TO CONTINUE ***'
  57.      @ 22,1 SAY ' '
  58.      WAIT
  59.      ERASE
  60.      @ 12,31 SAY '**** SEARCHING ****'
  61.      @ 22,1  SAY ' '
  62.      STORE 5 TO LINE
  63.      SET FORMAT TO PRINT
  64.      SET EJECT OFF
  65.      DO WHILE AGAIN
  66.           IF !(SSTR)$!(&FLD)
  67.            STORE $(AUTHORS,1,40) TO AU1
  68.              STORE $(AUTHORS,41,40) TO AU2
  69.              STORE $(TITLE,1,40) TO TI1
  70.              STORE $(TITLE,41,40) TO TI2
  71.              STORE $(TITLE,81,40) TO TI3
  72.              STORE $(TITLE,121,40) TO TI4
  73.              STORE $(SOURCE,1,40) TO SO1
  74.              STORE $(SOURCE,41,40) TO SO2
  75.              STORE $(KWORDS,1,40) TO KW1
  76.              STORE $(KWORDS,41,40) TO KW2
  77.              @ LINE,14 SAY 'REF. NO.: '+REF:NO USING 'XXXXXXXXXXXXXXX'
  78.              STORE LINE+1 TO LINE
  79.              @ LINE,13 SAY 'AUTHOR(S): '+AU1 USING;
  80.                 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  81.              IF AU2<>' '
  82.                   STORE LINE+1 TO LINE
  83.                   @ LINE,24 SAY AU2 USING;
  84.                      'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  85.              ENDIF
  86.              STORE LINE+1 TO LINE
  87.              @ LINE,17 SAY 'TITLE: '+TI1 USING;
  88.                 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  89.              IF TI2<>' '
  90.                   STORE LINE+1 TO LINE
  91.                   @ LINE,24 SAY TI2 USING;
  92.                      'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  93.                   IF TI3<>' '
  94.                        STORE LINE+1 TO LINE
  95.                        @ LINE,24 SAY TI3 USING;
  96.                           'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  97.                        IF TI4<>' '
  98.                             STORE LINE+1 TO LINE
  99.                             @ LINE,24 SAY TI4 USING;
  100.                                'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  101.                        ENDIF
  102.                   ENDIF
  103.              ENDIF
  104.              STORE LINE+1 TO LINE
  105.              @ LINE,16 SAY 'SOURCE: '+SO1 USING;
  106.                 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  107.              IF SO2<>' '
  108.                   STORE LINE+1 TO LINE
  109.                   @ LINE,24 SAY SO2 USING;
  110.                      'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  111.              ENDIF
  112.              STORE LINE+1 TO LINE
  113.              @ LINE,13 SAY 'KEY WORDS: '+KW1 USING;
  114.                 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  115.              IF KW2<>' '
  116.                   STORE LINE+1 TO LINE
  117.                   @ LINE,24 SAY KW2 USING;
  118.                      'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  119.              ENDIF
  120.              STORE LINE+2 TO LINE
  121.              IF LINE=55 .OR. LINE>55
  122.                   SET EJECT ON
  123.                   EJECT
  124.                   STORE 5 TO LINE
  125.              ENDIF
  126.           ENDIF
  127.           SKIP
  128.           IF !(SSTR)$!(&FLD)
  129.                STORE T TO AGAIN
  130.           ELSE
  131.                STORE F TO AGAIN
  132.           ENDIF
  133.      ENDDO
  134.      @ 60,1 SAY ' '
  135.      SET FORMAT TO SCREEN
  136.      ERASE
  137.      @ 11,21 SAY '************** FINISHED ***************'
  138.      @ 13,21 SAY '*** PRESS ANY KEY TO RETURN TO MENU ***'
  139.      @ 22,1  SAY ' '
  140.      WAIT
  141.      RETURN
  142. ENDIF
  143. STORE 1 TO LINE
  144. DO WHILE AGAIN
  145.      IF !(SSTR)$!(&FLD)
  146.         STORE $(AUTHORS,1,40) TO AU1
  147.         STORE $(AUTHORS,41,40) TO AU2
  148.         STORE $(TITLE,1,40) TO TI1
  149.         STORE $(TITLE,41,40) TO TI2
  150.         STORE $(TITLE,81,40) TO TI3
  151.         STORE $(TITLE,121,40) TO TI4
  152.         STORE $(SOURCE,1,40) TO SO1
  153.         STORE $(SOURCE,41,40) TO SO2
  154.         STORE $(KWORDS,1,40) TO KW1
  155.         STORE $(KWORDS,41,40) TO KW2
  156.         ERASE
  157.         @ LINE,14 SAY 'REF. NO.: '+REF:NO
  158.         STORE LINE+1 TO LINE
  159.         @ LINE,13 SAY 'AUTHOR(S): '+AU1
  160.         IF AU2<>' '
  161.              STORE LINE+1 TO LINE
  162.              @ LINE,24 SAY AU2
  163.         ENDIF
  164.         STORE LINE+1 TO LINE
  165.         @ LINE,17 SAY 'TITLE: '+TI1
  166.         IF TI2<>' '
  167.              STORE LINE+1 TO LINE
  168.              @ LINE,24 SAY TI2
  169.              IF TI3<>' '
  170.                   STORE LINE+1 TO LINE
  171.                   @ LINE,24 SAY TI3
  172.                   IF TI4<>' '
  173.                        STORE LINE+1 TO LINE
  174.                        @ LINE,24 SAY TI4
  175.                   ENDIF
  176.              ENDIF
  177.         ENDIF
  178.         STORE LINE+1 TO LINE
  179.         @ LINE,16 SAY 'SOURCE: '+SO1
  180.         IF SO2<>' '
  181.              STORE LINE+1 TO LINE
  182.              @ LINE,24 SAY SO2
  183.         ENDIF
  184.         STORE LINE+1 TO LINE
  185.         @ LINE,13 SAY 'KEY WORDS: '+KW1
  186.         IF KW2<>' '
  187.              STORE LINE+1 TO LINE
  188.              @ LINE,24 SAY KW2
  189.         ENDIF
  190.         STORE LINE+2 TO LINE
  191.         IF LINE=5 .OR. LINE>5
  192.              @ 14,26 SAY '** WANT TO CONTINUE? (Y/N) **'
  193.              @ 22,1  SAY ' '
  194.              WAIT TO CONTINUE
  195.              IF !(CONTINUE)='N'
  196.                 RETURN
  197.              ENDIF
  198.              STORE 1 TO LINE
  199.         ENDIF
  200.      ENDIF
  201.      ERASE
  202.      @ 12,31 SAY '**** SEARCHING ****'
  203.      SKIP
  204.      IF !(SSTR)$!(&FLD)
  205.           STORE T TO AGAIN
  206.      ELSE
  207.           STORE F TO AGAIN
  208.      ENDIF
  209. ENDDO
  210. @     20,21 SAY '************** FINISHED ***************'
  211. @     21,21 SAY '*** PRESS ANY KEY TO RETURN TO MENU ***'
  212. @     22,1  SAY ' '
  213. WAIT
  214. USE
  215. RELEASE REC:NO,MESSAGE,COLUMN,FLD,SSTR,PRINT,CONTINUE,FLD1
  216. RETURN