home *** CD-ROM | disk | FTP | other *** search
- The QuickBasic Wizard's Library
-
- QBWiz Copyright (c) 1990-1992 Thomas G. Hanlin III
-
-
-
- This is QBWiz, an assembly language library for use with
- QuickBasic and BASCOM. It was tested under QB 4.5 and is
- expected to work with QuickBasic versions 4.0 - 4.5 and BASCOM
- 6.0. Due to strong dependency on the internals of the
- compiler, QBWiz may well not work with other versions. QBWiz
- is only for stand-alone compiled programs. It will not work
- with programs that require the runtime module (BRUNxx) or
- inside the QB environment.
-
- The QBWiz collection is copyrighted and may be distributed only
- if the following conditions are met:
-
- All files must be included in original, unaltered condition.
- This means that none of the original files may be altered,
- and that no additions or deletions may be made to the set of
- original files.
-
- You use this library at your own risk. It has been tested by
- me on my own computer, but I will not assume any responsibility
- for any problems which QBWiz may cause you. If you do
- encounter a problem, please let me know about it, and I will do
- my best to verify and repair the error.
-
- The accompanying source code is designed for the MASM 6.0
- assembler and may require modifications to assemble with A86,
- OPTASM, or TASM.
-
- Note that QBWiz will work only with stand-alone compiled BASIC
- programs, that is, programs compiled with the /O switch.
-
- The QBWiz library provides a way to access many of QuickBasic's
- internal variables, which is useful in general and can be
- especially handy in writing generic subprograms. The
- information provided allows subprograms to do whatever they may
- need to do and reset the original values when they exit. Among
- the information that may be accessed is what the current screen
- colors are, whether the cursor is visible (and if so, what size
- it is), what the current display pages are, whether redirection
- is in effect, and so forth. It is also possible to set certain
- values, like the error level to return to DOS when your program
- finishes.
-
- Replacements for BCOM45.LIB:
- These routines will not work with Crescent's P.D.Q. library,
- which does not maintain internal compatibility with the
- standard BASIC library. However, with the exception of the
- PrinterWidth% function, they work fine with my QBTiny library.
-
- Libraries
-
-
-
- If you are not familiar with libraries, you're missing a good
- thing. A library is a collection of routines. These may be
- subprograms or functions written in BASIC and compiled to .OBJ
- format, assembly language routines, or even routines written in
- Microsoft C, Fortran or Pascal using the "mixed language"
- calling conventions. When your program is compiled, you can
- LINK it with one or more libraries. The LINK utility will
- automatically take the routines that you use from the library
- and add them to your program. A library is a great way to put
- together a set of standard routines which you use frequently.
- Libraries of this sort can also be obtained from your local BBS
- or purchased outright. There are many, many libraries
- available, ranging from special-purpose collections containing
- such things as communications support or dBASE access to
- full-spectrum libraries with hundreds of routines of all kinds.
- Don't miss out-- scan your local BBS today!
-
- If you were to LINK a normal BASIC program, you'd probably type
- something like this:
-
- LINK program/EX;
-
- To use the functions in the provided QBWIZ.LIB, you would type
- something like this instead:
-
- LINK program/EX,,NUL,QBWIZ;
-
- You can use multiple libraries very easily:
-
- LINK program/EX,,NUL,QBWIZ+anylib;
-
- QuickBasic Access Functions
-
-
-
- The QuickBasic Access Functions are contained in the QBWIZ.LIB
- library. The function declaration information for this library
- is contained in QBWIZ.BI, which should be included at the top
- of your programs. Either copy QBWIZ.BI directly into your
- program or use an include statement:
-
- REM $INCLUDE: 'QBWIZ.BI'
-
- These functions allow you to obtain information from
- QuickBasic's internal variables. Many useful values can be
- obtained this way that would not be available otherwise.
-
-
- The following functions are available:
-
- ActPage% active display page
- BackColor% current text background color
- BorderColor% current border color
- ColorBurst% whether color burst is on: 0 no, -1 yes
- CommandLine$ original command line
- CRT$ type of display adapter
- CursorStart% starting cursor scan line
- CursorStop% ending cursor scan line
- DefSeg% data segment defined by DEF SEG
- ForeColor% current text foreground color
- PrinterWidth% width of the printer (columns)
- RedirIn% whether input is redirected: 0 no, -1 yes
- RedirOut% whether output is redirected: 0 no, -1 yes
- ScreenHeight% height of the screen (rows)
- ScreenMode% current BASIC screen mode
- ScreenWidth% width of the screen (columns)
- ShowCursor% whether the cursor is visible: 0 no, -1 yes
- ViewBottom% bottom row of the screen (VIEW PRINT info)
- ViewTop% top row of the screen (VIEW PRINT info)
- VisPage% visible display page
-
- QuickBasic Access Subprograms
-
-
-
- The QuickBasic Access Subprograms are contained in the
- QBWIZ.LIB library. The function declaration information for
- this library is contained in QBWIZ.BI, which should be
- included at the top of your programs. Either copy QBWIZ.BI
- directly into your program or use an include statement:
-
- REM $INCLUDE: 'QBWIZ.BI'
-
- These subprograms allow you to alter information in
- QuickBasic's internal variables. This allows you to accomplish
- some things that might not otherwise be possible.
-
-
- The following subprograms are available:
-
- ErrLevel x% error level to return to DOS when program ends
- (x% may be from 0 - 255)
-
-