home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / PROGRAM / BASIC / MNUSYS11 / MLIBDEMO.BAS < prev    next >
BASIC Source File  |  1993-09-23  |  6KB  |  215 lines

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