home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol075 / search.bas < prev    next >
Encoding:
BASIC Source File  |  1984-04-29  |  2.9 KB  |  131 lines

  1. 80 V9=12
  2. 100 DIM A$(5)
  3. 150 REM
  4. 200 PRINT CHR$(V9)
  5. 250  PRINT TAB(30);" LIBRARY SEARCH"
  6. 300  PRINT TAB(28);"*****************"
  7. 350 PRINT CHR$(V9)
  8. 400  PRINT  :  PRINT  :  PRINT " YOU MAY EXAMINE:-"
  9. 450  PRINT "    1. COMPUTER JOURNALS"
  10. 500  PRINT "    2. GENERAL FILES"
  11. 550  PRINT " ENTER OPTION";
  12. 600 INPUT N
  13. 650 ON N GOTO 750,850
  14. 700 GOTO 350
  15. 750 N$="COMFIL.DAT"
  16. 755 N1$=" TITLE :  "
  17. 760 N2$=" PUBLICATION :  "
  18. 765 N3$=" VOLUME :  "
  19. 770 N4$=" PAGES :  "
  20. 775 N5$=" KEYWORDS :  "
  21. 800 GOTO 900
  22. 850 N$="GENFIL.DAT"
  23. 855 N1$="  TITLE :  "
  24. 860 N2$=" FILE :  "
  25. 865 N3$=" DATE :  "
  26. 870 N4$=" CROSS REFERENCE :  "
  27. 875 N5$=" KEYWORDS :  "
  28. 900  PRINT  :  PRINT  :  PRINT " YOU MAY:-"
  29. 950  PRINT "    1.SEARCH BY KEYWORD"
  30. 1000  PRINT "    2. ENTER NEW ARTICLE"
  31. 1050  PRINT "    3. DELETE ARTICLE"
  32. 1100  PRINT " ENTER OPTION";
  33. 1150 INPUT N1
  34. 1200 ON N1 GOTO 1250,2900,4250
  35. 1250 REM SEARCH
  36. 1300 K1$=" "
  37. 1500   PRINT " ENTER KEYWORD ";
  38. 1550  INPUT K1$
  39. 1650 CLOSE
  40. 1700 OPEN "R",1,N$
  41. 1710 FIELD #1,28 AS A$(1),60 AS A$(2),20 AS A$(3),10 AS A$(4),10 AS A$(5)
  42. 1750 GET #1,1
  43. 1800 N=VAL(A$(1))
  44. 1820 PRINT N
  45. 1850 FOR K=2 TO N
  46. 1900  A$=" "
  47. 1950  GET #1,K
  48. 2000 FOR I=1 TO 5
  49. 2010 P=INSTR(A$(I),K1$)
  50. 2020 IF P<>0 THEN 2400
  51. 2030 NEXT I
  52. 2040 GOTO 2700
  53. 2400    PRINT N1$;A$(2)
  54. 2450    PRINT N2$;A$(3)
  55. 2500    PRINT N3$;A$(4)
  56. 2550    PRINT N4$;A$(5)
  57. 2560    PRINT N5$;A$(1)
  58. 2600    PRINT  :  PRINT 
  59. 2700  NEXT K
  60. 2750  PRINT " HIT RETURN TO CONTINUE";
  61. 2800 INPUT B$
  62. 2850 GOTO 150
  63. 2900 REM ENTER NEW ARTICLE
  64. 2950 CLOSE
  65. 3000 OPEN "R",1,N$
  66. 3010 FIELD #1,28 AS A$(1),60 AS A$(2),20 AS A$(3),10 AS A$(4),10 AS A$(5)
  67. 3050 A$=" "
  68. 3100 GET #1,1
  69. 3110 N=VAL(A$(1))
  70. 3120 PRINT N
  71. 3150 K$="]]"
  72. 3200 FOR K=2 TO N
  73. 3250  A$=" "
  74. 3300 GET #1,K
  75. 3350 P=INSTR(A$(1),K$)
  76. 3400 IF P<>0 THEN 3500
  77. 3450  NEXT K
  78. 3500 A$=" "
  79. 3550  PRINT " ENTER KEYWORDS SEPERATED BY SPACES";
  80. 3600 INPUT B$
  81. 3601 LSET A$(1)=B$
  82. 3650  PRINT  :  PRINT " ENTER TITLE";
  83. 3700 INPUT B$
  84. 3701 LSET A$(2)=B$
  85. 3750  PRINT " ENTER ";N2$;
  86. 3800 INPUT B$
  87. 3801 LSET A$(3)=B$
  88. 3850  PRINT " ENTER ";N3$;
  89. 3900 LINE INPUT B$
  90. 3901 LSET A$(4)=B$
  91. 3950  PRINT " ENTER ";N4$;
  92. 4000 INPUT B$
  93. 4001 LSET A$(5)=B$
  94. 4100 PUT #1,K
  95. 4102 IF K<=N THEN 4200
  96. 4103 IF K>N THEN PUT #1,2
  97. 4104 LSET A$(1)=STR$(K)
  98. 4106 LSET A$(2)=" "
  99. 4108 LSET A$(3)=" "
  100. 4110 LSET A$(4)=" "
  101. 4112 LSET A$(5)=" "
  102. 4114 PUT #1,1
  103. 4200 GOTO 200
  104. 4250 REM DELETE
  105. 4300  PRINT " ENTER TITLE TO BE DELETED ";
  106. 4350 INPUT K$
  107. 4400 CLOSE
  108. 4405 OPEN "R",1,N$
  109. 4410 FIELD #1,28 AS A$(1),60 AS A$(2),20 AS A$(3),10 AS A$(4),10 AS A$(5)
  110. 4500 GET #1,1
  111. 4510 N=VAL(A$(1))
  112. 4520 PRINT N
  113. 4550  FOR K=2 TO N
  114. 4600  A$=" "
  115. 4650 GET #1,K
  116. 4700 P=INSTR(A$(2),K$)
  117. 4750 IF P=0 THEN 5350
  118. 4800 PRINT "TITLE   ";A$(2)
  119. 4850 PRINT N2$;A$(3)
  120. 4900 PRINT N3$;A$(4)
  121. 4950 PRINT N4$;A$(5)
  122. 5000   PRINT  :  PRINT " DELETE (Y OR N)";
  123. 5050  INPUT B$
  124. 5100  IF B$="N"THEN 5350
  125. 5200 FOR I=1 TO 5
  126. 5250 LSET A$(I)="]]]]]]]]]]]]]]]]"
  127. 5300 NEXT I
  128. 5310 PUT #1,K
  129. 5350  NEXT K
  130. 5400 GOTO 200
  131.