home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / hard.hdv / HARD / UTILS / FILE.FINDER (.txt) < prev    next >
Encoding:
Applesoft BASIC Source Code  |  1991-06-26  |  4.3 KB  |  105 lines  |  [FC] Applesoft BASIC Program (0x0801)

  1. 1  PRINT  CHR$(21): PRINT  CHR$(4);"PR#3"
  2. 2  TEXT : HOME : VTAB 3: PRINT " ":A$ = "Shareware Program": GOSUB 60:A$ = "This is program is made available by": GOSUB 60:A$ = "Breezy Point Software": GOSUB 60: PRINT 
  3. 3 A$ = " If you use this program please Send $5.00 to": GOSUB 60:A$ = " Greg R. Guilford": GOSUB 60:A$ = "P.O. Box 512": GOSUB 60:A$ = "Monticello, IA, 52310. ": GOSUB 60: PRINT 
  4. 4 A$ = "I am working on a extended command file for ProDOS 8         ": GOSUB 60
  5. 6 A$ = "and a NDA for ProDOS 16 , GS/OS.  All funds are directed to      ": GOSUB 60:A$ = "research and developement.  This program has multiple uses and I ":: GOSUB 60:A$ = "have availble several additions that will allow you to print to a": GOSUB 60
  6. 7 A$ = " text file for Appleworks database. Also allows for searching by    ": GOSUB 60:A$ = "type, size, date, etc.                                           ": GOSUB 60
  7. 8 A$ = " Sign up now and get the new releases as soon as they are available ": GOSUB 60
  8. 9  PRINT :A$ = " This program works great for Hard disk drives and 3.5 drives       ": GOSUB 60:A$ = "it will search five megabytes in about three minutes on a IIgs.  ": GOSUB 60:
  9. 10 A$ = " And it can be compiled with the Beagle Compiler to run even faster ": GOSUB 60:A$ = "   See the accompanying documentation for more information.             ": GOSUB 60
  10. 14  VTAB 23:A$ = "Press return": GOSUB 80: INPUT "";AN$
  11. 15  REM <CTRL-0x0a><< FILE FINDER >><CTRL-0x0a>
  12. 20 DL$ = "-------------------------------------------------------------------------------"
  13. 30 W = 5:LL =  PEEK( -16336): DIM DR$(100)
  14. 40  PRINT  CHR$(4);"PR#3"
  15. 50 PR% = 1: GOTO 170
  16. 60  POKE 36,0: CALL  -868: POKE 36,35 - LEN(A$)/2 +1: PRINT A$: RETURN 
  17. 70  REM POKE 36,0: CALL  - 868: POKE 36,35 -  LEN (A$) / 2 + 1: PRINT A$;: RETURN 
  18. 80  INVERSE : GOSUB 60: NORMAL : RETURN 
  19. 90  VTAB 12: HTAB 1: CALL  -958: PRINT : RETURN 
  20. 100  IF YY = 9  THEN  RETURN 
  21. 105 A$ = "PRESS <RETURN> TO CONTINUE": VTAB 23: GOSUB 60: POKE  -16368,0: WAIT  -16384,128
  22. 107  IF  PEEK( -16384) = 155  THEN XX = 1: GOTO 590
  23. 110  VTAB 23: CALL  -868: POKE  -16368,0: RETURN 
  24. 120  GET A$: IF A$ = "Y"  OR A$ = "y"  THEN Y = 2
  25. 125  IF A$ = "C"  OR A$ = "c"  THEN YY = 9
  26. 130  IF A$ = "N"  OR A$ = "n"  THEN Y = 0
  27. 140  IF A$ < >"Y"  AND A$ < >"N"  AND A$ < >"y"  AND A$ < >"n"  AND A$ < >"C"  AND A$ < >"c"  THEN  GOTO 120
  28. 150  RETURN 
  29. 159  REM  <CTRL-0x0a><< START OF PROGRAM>><CTRL-0x0a>
  30. 160  TEXT : HOME 
  31. 165  POKE 34,5: VTAB 2: PRINT "DIR/FILE.NAME";: POKE 36,48: PRINT "BLOCKS";: POKE 36,55: PRINT "MODIFIED  CREATED";: POKE 36,75: PRINT "TYPE": PRINT DL$:A$ = "SEARCH STRING " +S$: GOSUB 60: PRINT : RETURN 
  32. 170  HOME 
  33. 180  VTAB 1: PRINT DL$: VTAB 2:A$ = "FILE.FINDER": GOSUB 60
  34. 190  PRINT :A$ = "By Greg R. Guilford": GOSUB 60:A$ = "Copyright 1987 by Breezy Point Software": GOSUB 60
  35. 200  PRINT DL$
  36. 210  POKE 34,8
  37. 220  REM <CTRL-0x0a><<  INPUT >><CTRL-0x0a>
  38. 230  PRINT  CHR$(4);"PREFIX": INPUT PRF$
  39. 239  REM   VTAB 8: PRINT "FILE NAME OR STARTING LETTERS (USE * FOR MATCH ALL)": PRINT "(BEGIN WITH ? THEN CHARACTERS FOR CONTAINS STRING) ": INPUT ":";S$
  40. 240  VTAB 8:A$ = "File name / starting letters (Use * alone, for Wild Card search.)": GOSUB 60:A$ = "(Begin entry with a ? for contains string) ": GOSUB 60: INPUT ":";S$
  41. 250  IF S$ = ""  OR S$ = "?"  THEN  GOTO 240
  42. 260  IF  LEFT$(S$,1) = "?"  THEN FL = 1:S$ =  RIGHT$(S$,( LEN(S$) -1))
  43. 270  GOSUB 90: PRINT "ENTER THE NAME OF THE VOLUME OR  DIRECTORY TO CHECK FOR THE FILE"
  44. 280  PRINT "ENTER 'D' TO USE A SLOT, DRIVE "
  45. 290  VTAB 16: PRINT ":"PRF$
  46. 300  VTAB 16: HTAB 2: INPUT "";NP$:NP$ = NP$ +"": IF NP$ = "D"  OR NP$ = "d"  THEN  INPUT "SLOT  # ";YA: INPUT "DRIVE # ";YB:Z = 1: GOSUB 850
  47. 310  IF NP$ = ""  THEN NP$ = PRF$
  48. 320  VTAB 16: HTAB 2: PRINT NP$
  49. 330  ONERR  GOTO 360
  50. 340  REM <CTRL-0x0a><< START READING/CHECK >><CTRL-0x0a>
  51. 350  PRINT  CHR$(4);"PREFIX"NP$: PRINT  CHR$(4);"PREFIX": INPUT NP$: GOTO 370
  52. 360  GOSUB 90:A$ = "ERROR #" + STR$( PEEK(222)) +" IN PREFIX": GOSUB 80: GOSUB 100: RUN 
  53. 370  POKE 216,0: VTAB 16: CALL  -958: HTAB 2: PRINT NP$;
  54. 380  VTAB 23: POKE 36,1: PRINT "LIST ON PRINTER? ";: GOSUB 120
  55. 390 PR = 0: IF Y  THEN PR = PR%
  56. 400  VTAB 23: HTAB 1: CALL  -868: IF   NOT PR  THEN Y = 2:PR = 3
  57. 410 X = 1:I = 1:DR$(1) = NP$
  58. 420  TEXT : HOME : GOSUB 160
  59. 430  IF PR < >3  THEN  PRINT  CHR$(4);"PR#"PR: PRINT  CHR$(9);"80N": IF PR = PR%  THEN  GOSUB 160
  60. 440  PRINT  CHR$(4);"OPEN"DR$(X)",TDIR"
  61. 450  PRINT  CHR$(4);"READ"DR$(X)
  62. 460  INPUT A$: INPUT A$: INPUT A$
  63. 470  ONERR  GOTO 590
  64. 480  INPUT NM$:NM$ = NM$ +""
  65. 490  IF NM$ = ""  THEN 590
  66. 500 TY$ =  MID$ (NM$,18,3)
  67. 510  GOSUB 700
  68. 520  IF PR = PR%  THEN 540
  69. 530  IF  PEEK(37) >20  THEN  GOSUB 100: IF YY < >9  THEN  HOME 
  70. 540  IF TY$ < >"DIR"  THEN 480
  71. 550 NM$ =  MID$ (NM$,2,16): IF  RIGHT$(DR$(X),1) < >"/"  THEN NM$ = "/" +NM$
  72. 560  IF  RIGHT$(NM$,1) = " "  THEN NM$ =  LEFT$(NM$, LEN(NM$) -1): GOTO 560
  73. 570 I = I +1:DR$(I) = DR$(X) +NM$
  74. 580  GOTO 480
  75. 590  PRINT  CHR$(4);"CLOSE"
  76. 600  IF  PEEK(222) = 255  THEN  TEXT : END 
  77. 610  IF X =  <I  THEN X = X +1: GOTO 440
  78. 620  IF PR  AND PR < >3  THEN  PRINT  CHR$(4);"PR#0"
  79. 625  IF XX = 1  THEN XX = 0: GOTO 640
  80. 630  VTAB 24: HTAB 1: CALL  -868: GOSUB 100
  81. 640  VTAB 23: HTAB 1: CALL  -868
  82. 645 YY = 0
  83. 650 FL = 0: PRINT "PERFORM ANOTHER SEARCH? ";: GOSUB 120: IF Y  THEN FT = 1
  84. 660  IF   NOT Y  THEN  GOTO 690
  85. 670  IF Y  THEN  PRINT : PRINT "SAME DRIVE/PREFIX/SEARCH ?";: GOSUB 120: IF Y  THEN  GOSUB 850: GOTO 320
  86. 680  IF FT  THEN  RUN 
  87. 690  TEXT : END 
  88. 700  REM <CTRL-0x0a><< CHECK DATA >><CTRL-0x0a>
  89. 710 LL =  PEEK( -16336)
  90. 720  IF FL  THEN  GOTO 760
  91. 730  IF  MID$ (NM$,2,( LEN(S$))) = S$  THEN  GOTO 820
  92. 740  IF S$ = "*"  THEN  GOTO 820
  93. 750  RETURN 
  94. 760  REM <CTRL-0x0a><< PARTIAL CHECK >><CTRL-0x0a>
  95. 770  FOR Q = 1 TO 16
  96. 780  IF  MID$ (NM$,Q,( LEN(S$))) = S$  THEN 820
  97. 790  NEXT Q
  98. 800  RETURN 
  99. 810  REM <CTRL-0x0a><< DISPLAY SECTION >><CTRL-0x0a>
  100. 820  IF  RIGHT$(DR$(X),1) = "/"  THEN  GOTO 840
  101. 830  PRINT DR$(X);"/"; MID$ (NM$,2,16);: POKE 36,48: PRINT  MID$ (NM$,24,6);: POKE 36,55: PRINT  MID$ (NM$,31,9);: POKE 36,65: PRINT  MID$ (NM$,48,9);: POKE 36,75: PRINT TY$: FOR II = 1 TO W:LL =  PEEK( -16336): NEXT II: RETURN 
  102. 840  PRINT DR$(X); MID$ (NM$,2,16);: POKE 36,48: PRINT  MID$ (NM$,24,6);: POKE 36,55: PRINT  MID$ (NM$,31,9);: POKE 36,65: PRINT  MID$ (NM$,48,9);: POKE 36,75: PRINT TY$: FOR II = 1 TO W:LL =  PEEK( -16336): NEXT II: RETURN 
  103. 850  IF Z < >1  THEN NP$ = PRF$: RETURN 
  104. 860 NP$ = ",S" + STR$(YA) +",D" + STR$(YB): RETURN 
  105. 870  PRINT DR$(X);"/"; MID$ (NM$,2,16);: POKE 36,48: PRINT  MID$ (NM$,24,6);: POKE 36,55: PRINT  MID$ (NM$,31,11);: POKE 36,59: PRINT  MID$ (NM$,48,15);: POKE 3