home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PROG_BAS / MNUSYS22.ZIP / MLIBDEMO.BAS < prev    next >
BASIC Source File  |  1994-01-13  |  6KB  |  218 lines

  1. 'Menulib Demo Program
  2. 'Version 2.2
  3. '(C) Copyright 1993, 1994 by Tim Gerchmez
  4. 'All Rights Reserved.
  5.  
  6. 'Demonstrates some of the routines available
  7. 'in Menulib for Menusys.
  8.  
  9. 'Note: Color and Mouse Required
  10. 'for this Demo.
  11.  
  12. $compile exe
  13. $link "menusys.pbu"
  14. $link "menulib.pbu"
  15. $float procedure
  16.  
  17. public mouse%, segment&        'Mouse Flag and Video Segment
  18. public msx%, msy%, lb%, rb%    'Mouse X and Y pos, Left/Right Buttons
  19. public topcount%, bottomcount% 'Top/Bottom Menu Counts
  20. public mainclr%, mainbckg%     '"Main" Screen Colors
  21. public clr%, bckg%             'Temporary (Current) Colors
  22. public clr1%, clr2%, clr3%     'Alternate Character Colors
  23. public bckg1%, bckg2%, bckg3%  'Alternate Background Colors
  24. public helpfn$, progname$      'Help File and Program Name
  25.                    'Help filename should contain path as
  26.                    'well as main filename.
  27.  
  28. '------------------------------------------------------------------------------
  29.  
  30. mouse% = 1: segment& = &HB800
  31. mainclr% = 7: mainbckg% = 0
  32. clr1% = 0: bckg1% = 7
  33. bckg3% = bckg1%
  34. clr2% = mainclr%
  35. COLOR mainclr%, mainbckg%: CLS
  36. CALL mhardreset(a%, b%)
  37.  
  38. 'INFOBOX --------------------------------------------------------------------
  39.  
  40. REDIM msg$(9)
  41. msg$(1) = "            MenuLIB Test/Example Program"
  42. msg$(2) = "         (C) Copyright 1993 by Tim Gerchmez"
  43. msg$(3) = ""
  44. msg$(4) = "This program demonstrates some of the routines"
  45. msg$(5) = "that are available in MENULIB for Menusys."
  46. msg$(6) = ""
  47. msg$(7) = "This is one of the routines, called INFOBOX, which"
  48. msg$(8) = "displays information on the screen and waits for the"
  49. msg$(9) = "user to select OK or press ENTER or ESC."
  50. LOCATE 1, 1: PRINT "INFOBOX"
  51. call sounds(1)
  52. CALL infobox(msg$())
  53. call sounds(2)
  54.  
  55. 'CHOOSEBOX ------------------------------------------------------------------
  56.  
  57. REDIM msg$(3)
  58. LOCATE 1, 1: PRINT "CHOOSEBOX"
  59. msg$(1) = "    Begin Program    "
  60. msg$(2) = ""
  61. msg$(3) = "    Are you sure ?   "
  62. CALL choosebox(msg$(), choice%)
  63. IF choice% THEN END
  64.  
  65.  
  66. 'YESNOBOX -------------------------------------------------------------------
  67.  
  68. LOCATE 1, 1: PRINT "YESNOBOX              "
  69. CALL yesnobox("Are you positive you want to start?", c%)
  70. IF c% <> 1 THEN END
  71.  
  72.  
  73. 'SELECTFORE SELECTBACK ------------------------------------------------------
  74.  
  75. LOCATE 1, 1: PRINT "SELECTFORE          "
  76. CALL selectfore(clr%)
  77. LOCATE 1, 1: PRINT "SELECTBACK       "
  78. CALL selectback(bckg%)
  79. mainclr% = clr%: mainbckg% = bckg%
  80. COLOR mainclr%, mainbckg%: CLS
  81.  
  82.  
  83. 'BACKGROUND -----------------------------------------------------------------
  84.  
  85. CALL background(1)
  86.  
  87.  
  88. 'PICKLIST -------------------------------------------------------------------
  89.  
  90. REDIM lst$(1 TO 50)
  91. FOR t% = 1 TO 50: lst$(t%) = "Choice Number" + STR$(t%)
  92. NEXT t%
  93. LOCATE 1, 1: PRINT "PICKLIST"
  94. locate 1,10
  95. CALL picklist(lst$(), ch%)
  96. a$ = "You Chose Number" + STR$(ch%)
  97. LOCATE 1, 1: PRINT "ALERTBOX"
  98. CALL alertbox(a$)
  99. ERASE lst$
  100. CLS
  101.  
  102. 'MARKLIST --------------------------------------------------------------------
  103.  
  104. REDIM lst$(1 : 50),mrk?(1 : 50)
  105. FOR t% = 1 TO 50: lst$(t%) = "Selection " + STR$(t%)
  106. NEXT t%
  107. LOCATE 1, 1: PRINT "MARKLIST"
  108. CALL marklist(lst$(), mrk?())
  109. ERASE lst$, mrk?
  110. CLS
  111.  
  112.  
  113. 'RADIOBOX -------------------------------------------------------------------
  114.  
  115. DIM optn$(1 TO 10)
  116. FOR t% = 1 TO 10: optn$(t%) = "Option" + STR$(t%)
  117. NEXT t%
  118. title$ = "^Pick One"
  119. LOCATE 1, 1: PRINT "RADIOBOX              "
  120. locate 6, 28:CALL radiobox(title$, optn$(), ch%)
  121. a$ = "You Chose Number" + STR$(ch%)
  122. LOCATE 1, 1: PRINT "ALERTBOX          "
  123. CALL alertbox(a$)
  124. ERASE optn$
  125.  
  126.  
  127. 'MOUSEPICK ------------------------------------------------------------------
  128.  
  129. REDIM ypos%(5), xmin%(5), xmax%(5)
  130. FOR t% = 2 TO 6: ypos%(t%-1) = t% * 2: NEXT t%
  131. FOR t% = 1 TO 5: xmin%(t%) = 2: xmax%(t%) = 6: NEXT t%
  132. LOCATE 4, 1: FOR t% = 1 TO 5: PRINT " =====  "; t%: PRINT : NEXT t%
  133. LOCATE 1, 1: PRINT "MOUSEPICK     "
  134. LOCATE 15, 1: PRINT "Click on one of the five ===== bars"
  135. WHILE pick% = 0
  136.     IF INKEY$ = CHR$(27) THEN GOTO clickedpoint
  137.     CALL mousepick(ypos%(), xmin%(), xmax%(), pick%)
  138. WEND
  139. clickedpoint:
  140. a$ = "You clicked on #" + STR$(pick%)
  141. LOCATE 1, 1: PRINT "ALERTBOX          "
  142. CALL alertbox(a$)
  143. ERASE ypos%, xmin%, xmax%
  144. CLS
  145.  
  146.  
  147. 'MESSAGEBOX -----------------------------------------------------------------
  148.  
  149. REDIM msg$(5)
  150. title$ = "Choose a Text File to Display"
  151. msg$(1) = "Choose a file to display using the mouse"
  152. msg$(2) = "or keyboard.  Make sure the file chosen"
  153. msg$(3) = "is a pure text file!  Also, make sure"
  154. msg$(4) = "file is not too large, as it will be read"
  155. msg$(5) = "into memory all at once."
  156. LOCATE 1, 1: PRINT "MESSAGEBOX         "
  157. LOCATE 8, 35
  158. CALL messagebox(title$, msg$())
  159.  
  160.  
  161. 'CHOOSEDIR ------------------------------------------------------------------
  162.  
  163. LOCATE 1, 1: PRINT "CHOOSEDIR         "
  164. CALL choosedir("*.*", ch$, 1)
  165. IF ch$ = "" THEN
  166.     LOCATE 1, 1: PRINT "ALERTBOX           "
  167.     a$ = "No File Selected!": CALL alertbox(a$)
  168.     GOTO testcheckandpick
  169. END IF
  170.  
  171.  
  172. 'SHOWTEXTFILE ---------------------------------------------------------------
  173.  
  174. LOCATE 1, 1: PRINT "SHOWTEXTFILE         "
  175. CALL showtextfile(ch$, 15)
  176.  
  177.  
  178.  
  179. 'CHECKBOX -------------------------------------------------------------------
  180.  
  181. testcheckandpick:
  182. CLS
  183. REDIM mb$(5), help$(5), mb%(5)
  184. mb$(1) = "Selection One": mb$(2) = "Selection Two"
  185. mb$(3) = "Selection Three": mb$(4) = "Selection Four"
  186. mb$(5) = "Selection Five": title$ = "Test"
  187. help$(1) = "     Use Cursor Keys or Mouse to select -- ESC or Right Button to Cancel."
  188. LOCATE 1, 1: PRINT "CHECKBOX"
  189. LOCATE 5, 5
  190. CALL checkbox(title$, mb$(), mb%())
  191.  
  192.  
  193. 'MENUPICK -------------------------------------------------------------------
  194.  
  195. LOCATE 1, 1: PRINT "MENUPICK             "
  196. locate 3,2
  197. CALL menupick(title$, mb$(), help$(), choice%)
  198. a$ = "You Chose Number" + STR$(choice%)
  199. LOCATE 1, 1: PRINT "ALERTBOX          "
  200. CALL alertbox(a$)
  201.  
  202.  
  203. 'INPBOX -------------------------------------------------------------------
  204. testinput:
  205.     LOCATE 1, 1: PRINT "INPBOX          "
  206.     ip$ = "*.*"
  207.     CALL inpbox("File to Load:", ip$, 48, 12, 0, 255)
  208.  
  209.  
  210. 'ALERTBOX -------------------------------------------------------------------
  211.  
  212. testalert:
  213.     a$ = "You Chose " + ip$
  214.     IF ip$ = "" THEN a$ = "Command Cancelled"
  215.     LOCATE 1, 1: PRINT "ALERTBOX          "
  216.     CALL alertbox(a$)
  217.  
  218.