home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / hard.hdv / UTILS / FILESELECT.bas < prev    next >
BASIC Source File  |  2020-08-13  |  2KB  |  35 lines

  1. 100  REM  ONE KEY FILE SELECTOR
  2. 180 D$ =  CHR$(4): DIM DI$(10),F$(100)
  3. 190  REM  LOAD IN FILES
  4. 200  PRINT D$"PREFIX": INPUT DI$(1):B = 1
  5. 210 A$ = "": FOR I = 1 TO B:A$ = A$ +DI$(I): NEXT : FOR I = 1 TO 100:F$(I) = "": NEXT :NF = 1
  6. 220  ONERR  GOTO 270
  7. 230  PRINT D$"OPEN"A$",TDIR": PRINT D$"READ"A$
  8. 240  INPUT F$(NF):NF = NF +1
  9. 250  GOTO 240
  10. 260  REM  DISPLAY
  11. 270  POKE 216,0: PRINT D$"CLOSE"A$:NF = NF -6
  12. 280  PRINT : PRINT  CHR$(21): TEXT : HOME :P = 1:NP = NF/12:NP = NP +(NP > INT(NP)):NP =  INT(NP): IF B >1  THEN  PRINT "SUB";
  13. 290  PRINT "DIRECTORY: ";DI$(B): PRINT : PRINT "ENTER LETTER TO RUN FILE, ARROW KEYS    PAGE, CTRL-R FOR NEW VOLUME, <ESC> EXITS"
  14. 300  PRINT "PAGE "P" OF "NP: FOR I = 1 TO 40: PRINT "-";: NEXT 
  15. 310 S = 12 *(P -1) +1:E = S +11: IF E >NF  THEN E = NF
  16. 320  FOR I = S TO E: VTAB 9 +(I -S): PRINT "<"; CHR$(65 +(I -S));"> "; MID$ (F$(I +3),2,21);
  17. 330  IF  MID$ (F$(I +3),18,3) = "DIR"  THEN  INVERSE : HTAB 21: PRINT "DIR";: NORMAL 
  18. 340  PRINT : NEXT 
  19. 350  VTAB 23: PRINT  LEFT$(F$(NF +5),40);
  20. 360  REM  GET INPUT
  21. 370 KB =  PEEK(49152): ON KB <128 GOTO 370: POKE 49168,0
  22. 380  IF KB = 146  THEN  HOME : PRINT "READING IN NEW VOLUME...": RUN 
  23. 390  IF KB = 155  THEN  HOME : END 
  24. 400  IF KB = 136  THEN P = P -1: GOTO 490
  25. 410  IF KB = 149  THEN P = P +1: GOTO 490
  26. 420  IF KB <193  OR KB >193 +(E -S)  THEN 370
  27. 430 F = KB -190:FL$ =  MID$ (F$(S +F),2,15)
  28. 440  VTAB 6 +F: INVERSE : PRINT "<"; CHR$(62 +F);"> ";FL$: NORMAL 
  29. 450  REM  GET PREFIX IF DIRECTORY
  30. 460  IF  MID$ (F$(S +F),18,3) = "DIR"  THEN B = B +1:DI$(B) = FL$: FOR I = 1 TO 15:DI$(B) =  LEFT$(DI$(B), LEN(DI$(B)) -( RIGHT$(DI$(B),1) =  CHR$(32))): NEXT :DI$(B) = DI$(B) +"/": GOTO 210
  31. 470  REM  OTHERWISE EXECUTE FILE
  32. 480  PRINT D$"PREFIX"A$: PRINT D$"-"FL$: NEW : END 
  33. 490  IF P <1  THEN P = NP
  34. 500  IF P >NP  THEN P = 1
  35. 510  HOME : GOTO 290