home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PROG_BAS / MNUSYS22.ZIP / README.DOC < prev   
Text File  |  1994-01-13  |  8KB  |  177 lines

  1.  
  2.                       Menusys PowerBASIC Menuing System
  3.                                 Version 2.2
  4.                   (C) Copyright 1993, 1994 by Tim Gerchmez
  5.                              All Rights Reserved.
  6.  
  7.      Menusys is a complete text-mode GUI for PowerBASIC 3.0.  Included
  8. is Menulib, a library of support routines that add a great deal of
  9. functionality to Menusys.  Menusys can be used either by itself or with
  10. Menulib ; however, using routines in Menulib requires that you link in
  11. the Menusys routines as well.
  12.  
  13.        Both Menusys and Menulib are supplied as PowerBASIC .PBU files
  14. in this package.  All the subprograms and functions are detailed in
  15. the files MENUSYS.DOC and MENULIB.DOC.
  16.  
  17.         You may use Menusys and Menulib routines in your programs intended
  18. for PERSONAL USE ONLY, without paying any fees.  However, if you intend to
  19. distribute your programs that include Menusys and/or Menulib, either for
  20. profit or for freeware release, you must register Menusys and Menulib with
  21. me.  Registration for both packages is $25.00 ($20.00 plus $5 S/H), and 
  22. entitles you to the source code for both libraries.  You will also be 
  23. entitled to ongoing technical support by mail for both libraries.
  24.  
  25.         Businesses may not use the shareware version of Menusys/Menulib
  26. for more than 10 days without registering.  Site licensing is available;
  27. please contact me at the address below with a reasonable offer, and I'll
  28. consider it.
  29.  
  30.         To register Menusys/Menulib, please send a check/MO for $25.00
  31. made out to Tim Gerchmez, to:
  32.  
  33. Tim Gerchmez
  34. 12648 S.E. 81st Pl.
  35. Renton, WA  98056-9121
  36.  
  37. Please specify the disk format desired - if you don't, I'll assume
  38. 3 1/2", 1.44Mb High Density format.
  39.  
  40. BE SURE to include your phone number and return address so I can send
  41. you the source code to Menusys and Menulib, and can notify you when
  42. upgrades are available to the programs.  Also, please specify Menusys
  43. for PowerBASIC, as I also have a version for QuickBASIC 4.5.  Use the 
  44. enclosed MAILER order form if possible for ordering.
  45.  
  46. Distributors: Please distribute this entire package/archive freely,
  47.               making every attempt to keep the files together.
  48.  
  49. ---------------------------------------------------------------------------------
  50.  
  51.                            Backup and Installation
  52.                            -----------------------
  53.  
  54.         To install, create a subdirectory under your PB3 directory entitled
  55. \MENUSYS or something similar, and copy all files in this archive (disk)
  56. to that subdirectory.  After this, copy the .PBU files to your PowerBASIC
  57. PBU or Link directory so the PB3 compiler can find them for linking purposes.
  58. If you use the .INC (Include) files, copy them to your INCLUDE directory as
  59. well.
  60.  
  61.  
  62. MENUSYS.PBH
  63. -----------
  64.  
  65.      Included is a help file for use with the PowerBASIC 3.0C IDE.
  66. Copy MENUSYS.PBH to your main PowerBASIC directory (usually \PB3).  You
  67. can then access online help for Menusys by pressing SHIFT-F1 repeatedly
  68. until you see the Menusys help menu come up.  You can also press CTRL-F1
  69. in the editor when the cursor is on a Menusys/Menulib routine for help
  70. with that routine.
  71.  
  72.  
  73. Include files
  74. -------------
  75.  
  76.      Programs that use Menusys/Menulib routines in .PBU's don't normally
  77. need to DECLARE SUBs and FUNCTIONS before using them.  However, include
  78. files for Menusys and Menulib are supplied in case you wish to put
  79. MENUSYS.PBU and MENULIB.PBU together into a .PBL (PowerBASIC Library),
  80. in which case you WILL need to declare routines before use.  Copy MENUSYS.INC
  81. and MENULIB.INC into your PB3 INCLUDE directory (if any), then use
  82. $INCLUDE "MENUSYS.INC" and/or $INCLUDE "MENULIB.INC" to include these files
  83. in your programs.  You can also merge the two include files together into
  84. one if you wish.  DECLAREing routines in your programs will not automatically
  85. include them in the final .EXE unless they're actually referenced (PB3C and
  86. above).
  87.  
  88.  
  89. ---------------------------------------------------------------------------------
  90.  
  91.                       Using Menusys/Menulib Routines
  92.  
  93.  
  94.      Menusys requires no special "event-driven" programming techniques.
  95. You simply check for either of the following conditions in the main loop
  96. of your program:
  97.  
  98. * If the mouse cursor is on the top row of the screen, and the left mouse
  99.   button is pressed, call the main MENUSYS routine to display the pulldown
  100.   menus.  Use the MCHECK sub, and the global variables msy% and lb%.
  101.   For example:
  102.  
  103.   call mcheck
  104.   IF msy% = 1 AND lb% = 1 then goto dothemenu
  105.  
  106. * If the alt key is pressed, call the main MENUSYS routine to display the
  107.   pulldown menus.  Use the ALTKEY% function.  For example:
  108.  
  109.   IF altkey% then goto dothemenu
  110.  
  111.      That's all there is to it!  The other routines in Menusys and Menulib
  112. you call as needed - for user input, menu selection, check boxes, etc.
  113.  
  114.      You can use the SUB printtopmenu to display the top (bar) menu at the
  115. start of your program.  Be sure to call this routine every time you erase
  116. the screen if you want to "keep" a menu at the top of the screen at all times.
  117. See MNSDEMO.BAS to see how this routine can be used.
  118.  
  119.      If you need further help, see the file HELP.TXT, or contact the
  120. author of Menusys at the address toward the top of this document.
  121.  
  122. ---------------------------------------------------------------------------------
  123.                           Menusys/Menulib Notes
  124.  
  125.  
  126. Converting to Version 2.x
  127. -------------------------
  128.  
  129.      Version 2.x of Menusys/Menulib is a major overhaul, and it's
  130. possible that this version will "break" your code written using previous
  131. versions.  In updating Menulib, I found it necessary to delete several
  132. routines that I deemed unnecessary or not supportive of the overall concept
  133. of Menusys, to make room for improvements to the really powerful routines.
  134. I apologize for any inconvenience this may cause you.
  135.  
  136.  
  137. Monochrome (MDA) Compatibility
  138. ------------------------------
  139.  
  140.      Menusys now uses direct buffering for screen saves, rather than
  141. transferring data between screen pages as earlier versions did.  This makes
  142. Menusys compatible with ALL display adapters, including the original MDA
  143. adapter (which has only one screen page available).  Direct buffering also
  144. also gives you the ability to store many more screens, as you can increase
  145. the subscript of the array variable SCNBUF() in the PAGECOPY routine to as
  146. high a number as desired.  You can use the PAGECOPY command, or the new
  147. SCREENSTORE and SCREENRECALL commands, to store and retrieve full-color text
  148. screens.  See the docs for each of these commands for more information.
  149.  
  150.  
  151. DRAWBOX bug
  152. -----------
  153.  
  154.      There's a minor bug in the DRAWBOX routine that requires you pass
  155. the Y dimension of the box desired PLUS ONE rather than the actual Y
  156. dimension.  Fixing this bug will involve a major overhaul of the entire
  157. library, which I intend to do for the next version.  For now, be sure to
  158. pass DRAWBOX the Y dimension plus one if you access it directly with your
  159. own routines:
  160.  
  161. DRAWBOX YD%+1, XD%, TPE%, SHAD%, TITLE$
  162.  
  163.  
  164. V2.2 Speed Increase and Improvements
  165. ------------------------------------
  166.  
  167.      If you've used versions of Menusys prior to 2.2, you'll notice that
  168. the main MENUSYS and boxdraw routines have been greatly speeded up (try
  169. MNSDEMO.EXE and run the mouse cursor over the top menu bar while holding
  170. down the left mouse button).  I hope you enjoy this speed increase and
  171. that it benefits you and your programs.  Other routines have been improved
  172. (INPBOX now accepts longer than one line length of input using scrolling
  173. techniques, for example).  Keep those bug reports and suggestions for
  174. improvements coming, and you'll see even more positive changes in future
  175. versions of Menusys/Menulib.  Coming soon to Menusys: Exploding Boxes!
  176.  
  177.