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

  1. NOTE  - EXTENDED COMMAND FILE FIND.CMD
  2. USE &FILE0
  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. @  4,COLUMN SAY MESSAGE
  10. @  6,24 SAY 'EACH RECORD CONSISTS OF 5 FIELDS:'
  11. @  8,28 SAY '(1) REF:NO    (4) SOURCE'
  12. @  9,28 SAY '(2) AUTHORS   (5) KWORDS'
  13. @ 10,28 SAY '(3) TITLE'
  14. STORE ' ' TO FLD1
  15. STORE ' ' TO FLD2
  16. STORE ' ' TO FLD3
  17. STORE '               ' TO SSTR1
  18. STORE '               ' TO SSTR2
  19. STORE '               ' TO SSTR3
  20. STORE 'N' TO PRINT
  21. @ 12,20 SAY '________________________________________'
  22. @ 14,25 SAY '** ENTER SEARCH INFORMATION **'
  23. @ 16,6  SAY '1st FIELD TO SEARCH ON (1-5) ' GET FLD1 PICTURE '9'
  24. @ 16,40 SAY 'SUBSTRING TO LOCATE ' GET SSTR1 PICTURE 'XXXXXXXXXXXXXXX'
  25. @ 17,6  SAY '2nd FIELD TO SEARCH ON (1-5) ' GET FLD2 PICTURE '9'
  26. @ 17,40 SAY 'SUBSTRING TO LOCATE ' GET SSTR2 PICTURE 'XXXXXXXXXXXXXXX'
  27. @ 18,6  SAY '3rd FIELD TO SEARCH ON (1-5) ' GET FLD3 PICTURE '9'
  28. @ 18,40 SAY 'SUBSTRING TO LOCATE ' GET SSTR3 PICTURE 'XXXXXXXXXXXXXXX'
  29. @ 20,22 SAY 'DO YOU WANT RESULTS PRINTED? (Y/N) ' GET PRINT PICTURE 'A'
  30. READ
  31. IF FLD1='1'
  32.      STORE 'REF:NO' TO FLD1
  33. ELSE
  34.      IF FLD1='2'
  35.           STORE 'AUTHORS' TO FLD1
  36.      ELSE
  37.           IF FLD1='3'
  38.                STORE 'TITLE' TO FLD1
  39.           ELSE
  40.                IF FLD1='4'
  41.                     STORE 'SOURCE' TO FLD1
  42.                ELSE
  43.                     IF FLD1='5'
  44.                          STORE 'KWORDS' TO FLD1
  45.                     ENDIF
  46.                ENDIF
  47.           ENDIF
  48.      ENDIF
  49. ENDIF
  50. IF FLD2='1'
  51.      STORE 'REF:NO' TO FLD2
  52. ELSE
  53.      IF FLD2='2'
  54.           STORE 'AUTHORS' TO FLD2
  55.      ELSE
  56.           IF FLD2='3'
  57.                STORE 'TITLE' TO FLD2
  58.           ELSE
  59.                IF FLD2='4'
  60.                     STORE 'SOURCE' TO FLD2
  61.                ELSE
  62.                     IF FLD2='5'
  63.                          STORE 'KWORDS' TO FLD2
  64.                     ENDIF
  65.                ENDIF
  66.           ENDIF
  67.      ENDIF
  68. ENDIF
  69. IF FLD3='1'
  70.      STORE 'REF:NO' TO FLD3
  71. ELSE
  72.      IF FLD3='2'
  73.           STORE 'AUTHORS' TO FLD3
  74.      ELSE
  75.           IF FLD3='3'
  76.                STORE 'TITLE' TO FLD3
  77.           ELSE
  78.                IF FLD3='4'
  79.                     STORE 'SOURCE' TO FLD3
  80.                ELSE
  81.                     IF FLD3='5'
  82.                          STORE 'KWORDS' TO FLD3
  83.                     ENDIF
  84.                ENDIF
  85.           ENDIF
  86.      ENDIF
  87. ENDIF
  88. STORE TRIM(SSTR1) TO SSTR1
  89. STORE TRIM(SSTR2) TO SSTR2
  90. STORE TRIM(SSTR3) TO SSTR3
  91. IF FLD3<>' '
  92.      @ 20,22 SAY '                                      '
  93.      @ 20,27 SAY '*** LOCATING RECORD(S) ***'
  94.      LOCATE FOR !(SSTR1)$!(&FLD1) .AND. !(SSTR2)$!(&FLD2);
  95.         .AND. !(SSTR3)$!(&FLD3)
  96. ELSE
  97.      IF FLD2<>' '
  98.           @ 20,22 SAY '                                      '
  99.           @ 20,27 SAY '*** LOCATING RECORD(S) ***'
  100.           LOCATE FOR !(SSTR1)$!(&FLD1) .AND. !(SSTR2)$!(&FLD2)
  101.      ELSE
  102.           @ 20,22 SAY '                                      '
  103.           @ 20,27 SAY '*** LOCATING RECORD(S) ***'
  104.           LOCATE FOR !(SSTR1)$!(&FLD1)
  105.      ENDIF
  106. ENDIF
  107. IF !(PRINT)='Y'
  108.  
  109.      ERASE
  110.      @ 11,23 SAY '*** MAKE SURE PRINTER IS READY ***'
  111.      @ 13,24 SAY '*** PRESS ANY KEY TO CONTINUE ***'
  112.      @ 22,1 SAY ' '
  113.      WAIT
  114.      ERASE
  115.      @ 12,31 SAY '**** SEARCHING ****'
  116.      @ 22,1  SAY ' '
  117.      STORE 5 TO LINE
  118.      SET FORMAT TO PRINT
  119.      SET EJECT OFF
  120.      DO WHILE .NOT. EOF
  121.           STORE $(AUTHORS,1,40) TO AU1
  122.           STORE $(AUTHORS,41,40) TO AU2
  123.           STORE $(TITLE,1,40) TO TI1
  124.           STORE $(TITLE,41,40) TO TI2
  125.           STORE $(TITLE,81,40) TO TI3
  126.           STORE $(TITLE,121,40) TO TI4
  127.           STORE $(SOURCE,1,40) TO SO1
  128.           STORE $(SOURCE,41,40) TO SO2
  129.           STORE $(KWORDS,1,40) TO KW1
  130.           STORE $(KWORDS,41,40) TO KW2
  131.           @ LINE,14 SAY 'REF. NO.: '+REF:NO USING 'XXXXXXXXXXXXXXX'
  132.           STORE LINE+1 TO LINE
  133.           @ LINE,13 SAY 'AUTHOR(S): '+AU1 USING;
  134.              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  135.           IF AU2<>' '
  136.                STORE LINE+1 TO LINE
  137.                @ LINE,24 SAY AU2 USING;
  138.                   'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  139.           ENDIF
  140.           STORE LINE+1 TO LINE
  141.           @ LINE,17 SAY 'TITLE: '+TI1 USING;
  142.              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  143.           IF TI2<>' '
  144.                STORE LINE+1 TO LINE
  145.                @ LINE,24 SAY TI2 USING;
  146.                   'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  147.                IF TI3<>' '
  148.                     STORE LINE+1 TO LINE
  149.                     @ LINE,24 SAY TI3 USING;
  150.                        'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  151.                     IF TI4<>' '
  152.                          STORE LINE+1 TO LINE
  153.                          @ LINE,24 SAY TI4 USING;
  154.                             'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  155.                     ENDIF
  156.                ENDIF
  157.           ENDIF
  158.           STORE LINE+1 TO LINE
  159.           @ LINE,16 SAY 'SOURCE: '+SO1 USING;
  160.              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  161.           IF SO2<>' '
  162.                STORE LINE+1 TO LINE
  163.                @ LINE,24 SAY SO2 USING;
  164.                   'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  165.           ENDIF
  166.           STORE LINE+1 TO LINE
  167.           @ LINE,13 SAY 'KEY WORDS: '+KW1 USING;
  168.              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  169.           IF KW2<>' '
  170.                STORE LINE+1 TO LINE
  171.                @ LINE,24 SAY KW2 USING;
  172.                   'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  173.           ENDIF
  174.           STORE LINE+2 TO LINE
  175.           IF LINE=55 .OR. LINE>55
  176.                SET EJECT ON
  177.                EJECT
  178.                STORE 5 TO LINE
  179.           ENDIF
  180.           CONTINUE
  181.      ENDDO
  182.      @ 60,1 SAY ' '
  183.      SET FORMAT TO SCREEN
  184.      ERASE
  185.      @ 11,21 SAY '************** FINISHED ***************'
  186.      @ 13,21 SAY '*** PRESS ANY KEY TO RETURN TO MENU ***'
  187.      @ 22,1  SAY ' '
  188.      WAIT
  189.      RETURN
  190. ENDIF
  191. STORE 1 TO LINE
  192. DO WHILE .NOT. EOF
  193.      ERASE
  194.      STORE $(AUTHORS,1,40) TO AU1
  195.      STORE $(AUTHORS,41,40) TO AU2
  196.      STORE $(TITLE,1,40) TO TI1
  197.      STORE $(TITLE,41,40) TO TI2
  198.      STORE $(TITLE,81,40) TO TI3
  199.      STORE $(TITLE,121,40) TO TI4
  200.      STORE $(SOURCE,1,40) TO SO1
  201.      STORE $(SOURCE,41,40) TO SO2
  202.      STORE $(KWORDS,1,40) TO KW1
  203.      STORE $(KWORDS,41,40) TO KW2
  204.      ERASE
  205.      @ LINE,14 SAY 'REF. NO.: '+REF:NO
  206.      STORE LINE+1 TO LINE
  207.      @ LINE,13 SAY 'AUTHOR(S): '+AU1
  208.      IF AU2<>' '
  209.           STORE LINE+1 TO LINE
  210.           @ LINE,24 SAY AU2
  211.      ENDIF
  212.      STORE LINE+1 TO LINE
  213.      @ LINE,17 SAY 'TITLE: '+TI1
  214.      IF TI2<>' '
  215.           STORE LINE+1 TO LINE
  216.           @ LINE,24 SAY TI2
  217.           IF TI3<>' '
  218.                STORE LINE+1 TO LINE
  219.                @ LINE,24 SAY TI3
  220.                IF TI4<>' '
  221.                     STORE LINE+1 TO LINE
  222.                     @ LINE,24 SAY TI4
  223.                ENDIF
  224.           ENDIF
  225.      ENDIF
  226.      STORE LINE+1 TO LINE
  227.      @ LINE,16 SAY 'SOURCE: '+SO1
  228.      IF SO2<>' '
  229.           STORE LINE+1 TO LINE
  230.           @ LINE,24 SAY SO2
  231.      ENDIF
  232.      STORE LINE+1 TO LINE
  233.      @ LINE,13 SAY 'KEY WORDS: '+KW1
  234.      IF KW2<>' '
  235.           STORE LINE+1 TO LINE
  236.           @ LINE,24 SAY KW2
  237.      ENDIF
  238.      STORE LINE+2 TO LINE
  239.      IF LINE=5 .OR. LINE>5
  240.           @ 14,26 SAY '** WANT TO CONTINUE? (Y/N) **'
  241.           @ 22,1  SAY ' '
  242.           WAIT TO CONTINUE
  243.           IF !(CONTINUE)='N'
  244.              RETURN
  245.           ENDIF
  246.           STORE 1 TO LINE
  247.      ENDIF
  248.      ERASE
  249.      @ 12,31 SAY '**** SEARCHING ****'
  250.      CONTINUE
  251. ENDDO
  252. ERASE
  253. @     20,21 SAY '************** FINISHED ***************'
  254. @     21,21 SAY '*** PRESS ANY KEY TO RETURN TO MENU ***'
  255. @     22,1  SAY ' '
  256. WAIT
  257. RELEASE REC:NO,MESSAGE,COLUMN,FLD1,FLD2,FLD3,SSTR1,SSTR2,SSTR3,PRINT,CONTINUE
  258. RETURN