home *** CD-ROM | disk | FTP | other *** search
- The QuickBASIC Wizard's Library
-
- QBWIZ Copyright (c) 1990 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 probably will 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 under the
- following conditions:
-
- 1) No fee of over $5.00 may be charged for distribution. This restriction
- applies only to physical copies and is not meant to prevent
- distribution by telecommunication.
-
- 2) All QBWIZ files must be distributed together in original, unaltered
- form. This includes ACCESS.BI, ACCESS.LIB, FILES.LST, PROBAS.TXT,
- QBWIZ.DOC, QBWIZ.NEW, and REGISTER.TXT.
-
- 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.
-
- It is expected that if you find QBWIZ useful, you will register your copy.
- This entitles you to receive the latest version of QBWIZ on a 5 1/4" disk,
- complete with full source code. The source code is designed for the OPTASM
- assembler by SLR Systems and may require minor modifications to assemble
- under MASM or TASM. See REGISTER.TXT for more information.
-
- *** Limited-time Offer ***
- Those who register QBWIZ before May 1, 1990, will receive a free upgrade to
- the next version of QBWIZ.
-
- 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.
-
- Future versions of QBWIZ will include a library that will replace part or all
- of the QuickBASIC system library (BCOMxx.LIB), which will result in a
- dramatic reduction in program .EXE size.
-
- 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 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. Among the good BBS libraries are ADVBAS, BASDLX, and
- QB4BAS. GLIB is fair, but it's a "demo" library which can't be used to
- create an .EXE file. Commercial libraries are available from AJS Publishing,
- Crescent Software, Hammerly Computer Services, MicroHelp, and other vendors.
-
- If you were to LINK a normal BASIC program, you'd probably type something
- like this:
- LINK program;
-
- To use the functions in the provided ACCESS.LIB, you would type something
- like this instead:
- LINK program,,NUL,ACCESS;
-
- You can use multiple libraries very easily:
- LINK program,,NUL,ACCESS+anylib;
-
- QuickBASIC Access Functions
-
-
-
- The QuickBASIC Access Functions are contained in the ACCESS.LIB library. The
- function declaration information for this library is contained in ACCESS.BI,
- which should be included at the top of your programs. Either copy ACCESS.BI
- directly into your program or use an include statement:
- REM $INCLUDE: 'ACCESS.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 (the one read from and written to)
- BACKCOLOR% current text background color
- BORDERCOLOR% current border color (CGA only)
- COLORBURST% whether color burst is on: 0 no, -1 yes
- CRT$ type of display adapter ("MDA", "CGA", "EGA", or "VGA")
- CURSORSTART% starting cursor scan line, if the cursor is visible
- CURSORSTOP% ending cursor scan line, if the cursor is visible
- DEFSEG% data segment defined by DEF SEG
- FORECOLOR% current text foreground color
- REDIRECTION% 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 (according to VIEW PRINT info)
- VIEWTOP% top row of the screen (according to VIEW PRINT info)
- VISPAGE% visible display page (the one displayed on the screen)
-