home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / PROG / BASIC / QBWIZ10.ZIP / QBWIZ.DOC < prev    next >
Encoding:
Text File  |  1990-02-03  |  5.5 KB  |  118 lines

  1.                       The QuickBASIC Wizard's Library
  2.  
  3.                 QBWIZ  Copyright (c) 1990  Thomas G. Hanlin III
  4.  
  5.  
  6.  
  7. This is QBWIZ, an assembly language library for use with QuickBASIC and
  8. BASCOM.  It was tested under QB 4.5 and is expected to work with QuickBASIC
  9. versions 4.0 - 4.5 and BASCOM 6.0.  Due to strong dependency on the internals
  10. of the compiler, QBWIZ probably will not work with other versions.  QBWIZ is
  11. only for stand-alone compiled programs.  It will not work with programs that
  12. require the runtime module (BRUNxx) or inside the QB environment.
  13.  
  14. The QBWIZ collection is copyrighted and may be distributed only under the
  15. following conditions:
  16.  
  17.    1) No fee of over $5.00 may be charged for distribution.  This restriction
  18.       applies only to physical copies and is not meant to prevent
  19.       distribution by telecommunication.
  20.  
  21.    2) All QBWIZ files must be distributed together in original, unaltered
  22.       form.  This includes ACCESS.BI, ACCESS.LIB, FILES.LST, PROBAS.TXT,
  23.       QBWIZ.DOC, QBWIZ.NEW, and REGISTER.TXT.
  24.  
  25. You use this library at your own risk.  It has been tested by me on my own
  26. computer, but I will not assume any responsibility for any problems which
  27. QBWIZ may cause you.  If you do encounter a problem, please let me know about
  28. it, and I will do my best to verify and repair the error.
  29.  
  30. It is expected that if you find QBWIZ useful, you will register your copy.
  31. This entitles you to receive the latest version of QBWIZ on a 5 1/4" disk,
  32. complete with full source code.  The source code is designed for the OPTASM
  33. assembler by SLR Systems and may require minor modifications to assemble
  34. under MASM or TASM.  See REGISTER.TXT for more information.
  35.  
  36.      *** Limited-time Offer ***
  37. Those who register QBWIZ before May 1, 1990, will receive a free upgrade to
  38. the next version of QBWIZ.
  39.  
  40. Note that QBWIZ will work only with stand-alone compiled BASIC programs, that
  41. is, programs compiled with the /O switch.
  42.  
  43. The QBWIZ library provides a way to access many of QuickBASIC's internal
  44. variables, which is useful in general and can be especially handy in writing
  45. generic subprograms.  The information provided allows subprograms to do
  46. whatever they may need to do and reset the original values when they exit.
  47. Among the information that may be accessed is what the current screen colors
  48. are, whether the cursor is visible (and if so, what size it is), what the
  49. current display pages are, whether redirection is in effect, and so forth.
  50.  
  51. Future versions of QBWIZ will include a library that will replace part or all
  52. of the QuickBASIC system library (BCOMxx.LIB), which will result in a
  53. dramatic reduction in program .EXE size.
  54.  
  55.                                    Libraries
  56.  
  57.  
  58.  
  59. If you are not familiar with libraries, you're missing a good thing.  A
  60. library is a collection of routines.  These may be subprograms or functions
  61. written in BASIC and compiled to .OBJ format, assembly language routines, or
  62. even routines written in Microsoft C or Pascal using the "mixed language"
  63. calling conventions.  When your program is compiled, you can LINK it with one
  64. or more libraries.  The LINK utility will automatically take the routines
  65. that you use from the library and add them to your program.  A library is a
  66. great way to put together a set of standard routines which you use
  67. frequently.  Libraries of this sort can also be obtained from your local BBS
  68. or purchased outright.  Among the good BBS libraries are ADVBAS, BASDLX, and
  69. QB4BAS.  GLIB is fair, but it's a "demo" library which can't be used to
  70. create an .EXE file.  Commercial libraries are available from AJS Publishing,
  71. Crescent Software, Hammerly Computer Services, MicroHelp, and other vendors.
  72.  
  73. If you were to LINK a normal BASIC program, you'd probably type something
  74. like this:
  75.    LINK program;
  76.  
  77. To use the functions in the provided ACCESS.LIB, you would type something
  78. like this instead:
  79.    LINK program,,NUL,ACCESS;
  80.  
  81. You can use multiple libraries very easily:
  82.    LINK program,,NUL,ACCESS+anylib;
  83.  
  84.                           QuickBASIC Access Functions
  85.  
  86.  
  87.  
  88. The QuickBASIC Access Functions are contained in the ACCESS.LIB library. The
  89. function declaration information for this library is contained in ACCESS.BI,
  90. which should be included at the top of your programs.  Either copy ACCESS.BI
  91. directly into your program or use an include statement:
  92.    REM $INCLUDE: 'ACCESS.BI'
  93.  
  94. These functions allow you to obtain information from QuickBASIC's internal
  95. variables.  Many useful values can be obtained this way that would not be
  96. available otherwise.
  97.  
  98.  
  99. The following functions are available:
  100.  
  101. ACTPAGE%        active display page (the one read from and written to)
  102. BACKCOLOR%      current text background color
  103. BORDERCOLOR%    current border color (CGA only)
  104. COLORBURST%     whether color burst is on: 0 no, -1 yes
  105. CRT$            type of display adapter ("MDA", "CGA", "EGA", or "VGA")
  106. CURSORSTART%    starting cursor scan line, if the cursor is visible
  107. CURSORSTOP%     ending cursor scan line, if the cursor is visible
  108. DEFSEG%         data segment defined by DEF SEG
  109. FORECOLOR%      current text foreground color
  110. REDIRECTION%    whether output is redirected: 0 no, -1 yes
  111. SCREENHEIGHT%   height of the screen (rows)
  112. SCREENMODE%     current BASIC screen mode
  113. SCREENWIDTH%    width of the screen (columns)
  114. SHOWCURSOR%     whether the cursor is visible: 0 no, -1 yes
  115. VIEWBOTTOM%     bottom row of the screen (according to VIEW PRINT info)
  116. VIEWTOP%        top row of the screen (according to VIEW PRINT info)
  117. VISPAGE%        visible display page (the one displayed on the screen)
  118.