home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / basic / library / pb / pbmnus / vertsamp.bas < prev    next >
BASIC Source File  |  1993-03-01  |  3KB  |  85 lines

  1. DECLARE SUB VerticalMenu(boxstyle%, fc%, bc%, tr%, lc%, row%)
  2. '**************************************************
  3. CLS
  4. VerticalMenu 2, 15, 4, 5, 33, 6
  5. '**************************************************
  6. SUB VerticalMenu(boxstyle%, fc%, bc%, tr%, lc%, row%)
  7. DIM menu$(0 to 11 )
  8. COLOR fc%, bc%
  9. SELECT CASE boxstyle%
  10. CASE 1
  11. side$ ="│
  12. menu$(0) ="┌─────────────────────────┐
  13. menu$( 11 ) ="└─────────────────────────┘
  14. CASE 2
  15. side$ ="║
  16. menu$(0)="╔═════════════════════════╗
  17. menu$( 11 ) ="╚═════════════════════════╝
  18. CASE 3
  19. side$ ="║
  20. menu$(0) ="╓─────────────────────────╖
  21. menu$( 11 ) ="╙─────────────────────────╜
  22. CASE 4
  23. side$ ="│
  24. menu$(0) = "╒═════════════════════════╕
  25. menu$( 11 ) ="╘═════════════════════════╛
  26. CASE 5
  27. side$ ="█
  28. menu$(0) = string$(27, 219)
  29. menu$( 11 ) = STRING$(27, 219)
  30. END SELECT
  31. menu$( 1 ) = side$ + "       MATTHEW           "+ side$
  32. menu$( 2 ) = side$ + "       MARK              "+ side$
  33. menu$( 3 ) = side$ + "       LUKE              "+ side$
  34. menu$( 4 ) = side$ + "       JOHN              "+ side$
  35. menu$( 5 ) = side$ + "       ACTS              "+ side$
  36. menu$( 6 ) = side$ + "       FIRST JOHN        "+ side$
  37. menu$( 7 ) = side$ + "       SECOND JOHN       "+ side$
  38. menu$( 8 ) = side$ + "       THIRD JOHN        "+ side$
  39. menu$( 9 ) = side$ + "       JAMES             "+ side$
  40. menu$( 10 ) = side$ +"       EXIT PROGRAM      "+ side$
  41. FOR set = 0 to 11
  42. LOCATE set + tr%, lc%: COLOR fc%, bc%: PRINT menu$(set)
  43. NEXT
  44. row = row%
  45. DO
  46. DO
  47. SELECT CASE row
  48. CASE row% : opt$ = "       MATTHEW           "
  49. CASE row% + 1 : opt$ = "       MARK              "
  50. CASE row% + 2 : opt$ = "       LUKE              "
  51. CASE row% + 3 : opt$ = "       JOHN              "
  52. CASE row% + 4 : opt$ = "       ACTS              "
  53. CASE row% + 5 : opt$ = "       FIRST JOHN        "
  54. CASE row% + 6 : opt$ = "       SECOND JOHN       "
  55. CASE row% + 7 : opt$ = "       THIRD JOHN        "
  56. CASE row% + 8 : opt$ = "       JAMES             "
  57. case row% + 9 : opt$ = "       EXIT PROGRAM      "
  58. END SELECT
  59. LOCATE row, lc% + 1, 0: COLOR bc%, fc%: PRINT opt$
  60. keys$ = INKEY$
  61. LOOP WHILE keys$ = ""
  62. keymove = ASC(RIGHT$(keys$, 1))
  63. LOCATE row, lc% + 1, 0: COLOR fc%, bc%: PRINT opt$
  64. Select case keymove
  65. case 13
  66. IF row = row% THEN END
  67. IF row = row% + 1 THEN END
  68. IF row = row% + 2 THEN END
  69. IF row = row% + 3 THEN END
  70. IF row = row% + 4 THEN END
  71. IF row = row% + 5 THEN END
  72. IF row = row% + 6 THEN END
  73. IF row = row% + 7 THEN END
  74. IF row = row% + 8 THEN END
  75. IF row = row% + 9 THEN END
  76. case 72: row = row - 1
  77. case 80: row = row + 1
  78. case 79: row = row% + 9 
  79. case 71: row = row% + 9 
  80. END select
  81. IF row < row% THEN row = row% + 9 ELSE IF row > row% + 9 THEN row = row%
  82. LOOP
  83. END
  84. END SUB
  85.