home *** CD-ROM | disk | FTP | other *** search
/ Bila Vrana / BILA_VRANA.iso / 021A / MENUV1_1.ZIP / MENU.BAS next >
BASIC Source File  |  1996-08-10  |  2KB  |  64 lines

  1. DIM select$(9), directory$(9), filename$(9)
  2. OPEN "i", 1, "c:\menu.inf"
  3. INPUT #1, i$
  4. IF i$ <> "Listed below should be 30 lines: Program Name; Program Working Directory; Program Command Line... repeated 10X." THEN CLOSE : PRINT "MENU.INF is not in correct format.": END
  5. FOR i = 0 TO 9
  6.   INPUT #1, select$(i)
  7.   select$(i) = LEFT$(select$(i), 18) + STRING$(18 - LEN(select$(i)), 32)
  8.   INPUT #1, directory$(i)
  9.   INPUT #1, filename$(i)
  10.   NEXT
  11. CLOSE
  12. PRINT
  13. COLOR 7, 0
  14. PRINT TAB(18); CHR$(201); STRING$(20, 205); CHR$(209); STRING$(20, 205); CHR$(187)
  15. PRINT TAB(18); CHR$(186); " Date : ";
  16. COLOR 15: PRINT DATE$;
  17. COLOR 7: PRINT "  "; CHR$(179); " Time : "; TIME$; "    "; CHR$(186)
  18. PRINT TAB(18); CHR$(199); STRING$(20, 196); CHR$(197); STRING$(20, 196); CHR$(182)
  19. FOR i = 0 TO 4
  20.         PRINT TAB(18); CHR$(186); " "; select$(i); " "; CHR$(179); " "; select$(i + 5); " "; CHR$(186)
  21.         NEXT
  22. PRINT TAB(18); CHR$(199); STRING$(20, 196); CHR$(193); STRING$(20, 196); CHR$(182)
  23. PRINT TAB(18); CHR$(186);
  24. COLOR 1: PRINT "  Press 's' to select down, 'S' for up.  ";
  25. COLOR 7: PRINT CHR$(186)
  26. PRINT TAB(18); CHR$(200); STRING$(41, 205); CHR$(188)
  27.  
  28. marker = CSRLIN
  29. position = 0
  30. GOSUB update
  31. done = 0
  32. WHILE NOT done
  33.    i$ = INKEY$
  34.    IF i$ = CHR$(13) THEN done = -1
  35.    IF i$ = "s" THEN position = position + 1: GOSUB update
  36.    IF i$ = "S" THEN position = position - 1: GOSUB update
  37.    COLOR 15: LOCATE marker - 10, 48: PRINT TIME$
  38.    WEND
  39. OPEN "o", 1, "c:\select.bat"
  40. PRINT #1, "@echo off"
  41. PRINT #1, "cd " + directory$(position)
  42. PRINT #1, filename$(position)
  43. CLOSE #1
  44. LOCATE marker
  45. COLOR 7, 0
  46. END
  47.  
  48. update:
  49.    IF position = 10 THEN position = 0
  50.    IF position = -1 THEN position = 9
  51.    LOCATE marker - 8
  52.    FOR i = 0 TO 4
  53.      IF position = i THEN COLOR 7, 1 ELSE COLOR 7, 0
  54.      LOCATE CSRLIN, 20: PRINT select$(i)
  55.      NEXT
  56.    LOCATE marker - 8
  57.    FOR i = 5 TO 9
  58.      IF position = i THEN COLOR 7, 1 ELSE COLOR 7, 0
  59.      LOCATE CSRLIN, 41: PRINT select$(i)
  60.      NEXT
  61.    COLOR 7, 0
  62.    RETURN
  63.  
  64.