home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
-
-
-
- GLib 1.90 and QuickBASIC
-
-
-
- A. What's New in GLib 1.90 ??
-
- With the addition of complete support for BASIC PDS 7.0 and 7.1,
- we have had to make a slight change in the version designations. For
- the forseeable future, GLib for QuickBASIC will continue as normal,
- with the name and a version number (as in GLIB19.ZIP). To signify
- support for the far string features in Extended QuickBASIC (supplied
- with BASIC PDS), will use an x suffix (as in qbX) as in GLIB20x.ZIP.
- Additionally, we will try to make it clearer by using ODD numbers for
- QB 4.5 etc, and EVEN numbers for PDS support (ie there will never be a
- GLib 2.0 _and_ GLib 2.0/x available). So the next GLib for QB 4.5+
- would be GLib 2.1 while the next for PDS will be GLib 2.2/x.
-
- Most all of the enhancements in GLib 2.01x have been ported
- (back ported?) to GLib 1.9 for QuickBASIC.
-
-
-
- *** Greater inter-routine dependency ***
-
- Since GLib has a comprehensive base of fundamental routines, it
- is now possible to make the many routines highly dependant on each
- other. For example, QPrint, PGetCh and DialogBox (among others) will
- all require a certain amount of common code to quickly print text to
- the screen. GLib 1.90 has become highly integrated so as not to
- replicate that code over and over and over thus reducing the overall
- size. Registered users will find most of these support routines in
- object modules with the name beginning with an underscore (eg:
- _vtype.obj).
-
-
-
- *** More integrated options ***
-
- Building on the inherent abilities of the library, integral options
- have been added to the more complex routines: eg PGetCh and DialogBox
- can be set to emit a tone each time they are called, or
- disabled. Another example is that virtually all the video routines
- allow for automatic mouse control! Rather than calling MCsrDec before
- each QPrint or Save/Restore screen call and then calling MCsrInc
- afterwards, early in your program you can set a 'global' variable that
- will automatically turn off the mouse cursor, perform the operation
- and then turn the mouse cursor on again! Now, that's helpful!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- *** Superior string handling techniques ***
-
- We introduced this in GLib 1.65 (with no mention or fanfare) to a
- few routines to see how well it worked in the long haul. Since it not
- only works well, but is easier to use, we have converted many routines
- that were previously subs returning significant strings to functions.
- Even with the new far strings, we are able to continue to be able
- to CREATE new strings from many of the calls and return the result of
- the routine as a function. (We are watching to see how quickly
- others 'clone' this elegant interface!)
-
- For example:
-
- Old way:
- ok$ = " " ' MUST create string space
- CALL GetCh("QWERTY", ret$)
-
- New way:
- ret$ = GetCh$("QWERTY") ' routine creates it!
-
- GLib will CREATE a new string pointer and assign it to ret$ upon
- the return. See the compleat listing below.
-
-
-
- *** Changes to GLib names or functionality ***
-
- BASIC 7.0/7.1 introduced several new inherent functions that
- invalidated the need for a few GLib functions. While these remain a
- part of the library for backward code capability, names may need to be
- changed to avoid conflicts. (Many of these BASIC PDS syntax changes
- do not directly affect QB 4.5 users, but in an effort to maintain
- campatibility and code portability, we'll changes these in libraries
- for QB as well):
-
- -> BASIC PDS finally has a new function named DIR that conflicts
- with our own. Our Dir routine has been renamed to DIRA (as in
- DirArray) to avoid conflict with Dir$
-
-
- -> Several subs returning a string have been enhanced to be
- functions returning a string. With GLib creating the string
- to return to you, you no longer have to be so careful in pre-
- allocating string space. String subs that are now functions:
- - GetCh - DialogBox - DeciBin
- - PGetCh - PCase - SubDirGet
- - PrgName - LastNFirst - ReverseString
- - VLabelGet - ArgV - ExpandPath
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- *** New Features / Support ***
-
- o We can now supply GLib on 720k 3.5 inch disks.
-
- o Over 40 new routines, bringing the total to close to 300!:
-
- * Plus additional features integrated into existing routines:
-
- - FlexMenu now includes a definable Mark All key allowing
- the end user to Mark All selections as selected
-
- - DialogBox has been greatly improved and modified to
- resemble the one originally developed for BASIC PDS.
- These are now dead look alikes for the Dialog Boxes used
- in QB, QBX, Codeview et al. Also, an automatic beep tone
- option has been added. We love this so much, that we
- rarely use old fashioned windows or boxes any more:
- DialogBox performs all our message display and prompting
- as well as all KB I/O!
-
- - Sound, Color and location control have been added to
- DialogBox for those who dislike the SAA apprearance.
-
- - MFed now supports an embedded Exit key stroke in Macros:
- appending CHR$(13) to a macro will instruct MFed to exit
- once the preceding text has been fed into the field, MFed
- exits with return code 0. No need for the user to tap
- another key just to exit! This feature works as long as
- insert is off and the macro fits with FSize.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- B. GLib 1.90 New Routine Summary
-
-
- - Soundex support! Imagine your end user scanning a large
- database for a customer based on what the name SOUNDS like
- rather than how it is SPELLED! Our Soundex routine (2 of
- them actually) allow you to encode a word or name to speed
- up search and retrieve and hashing procedures.
-
- - BitChkInt, BitSetInt, BitClrInt, BitChkLng, BitSetLng and
- BitClrLng allow for integer and long integer bit
- manipulation
-
- - BoxesFrame allows you to highlight or box text on screen
- or just display a 'see thru' type box frame on screen.
-
- - Disable or enable the mouse driver.
-
- - Clear desired portions of the screen with ClrEOL (Clear to
- End Of Line), ClrSOL (Clear from Start Of Line), ClrEOS
- (Clear to End of Screen) and ClrSOS (Clear from Start of
- Screen).
-
- - Convert integers to binary strings. DeciBin works like
- BASIC's HEX$ to convert a number to binary.
-
- - Determine file handle capability quickly. FHandlesFree,
- FHandlesMax and FHandlesUsed return the number of file
- handles available, maximum allowed open at once on the
- system and the number in use. Great for applications
- running on networks (especially file servers!).
-
- - KeyLock? allows you to check the status of the lock keys
- (scroll, Num and Caps) and the state of the insert key.
-
- - KeyShift??? allows you to check the status of the Control,
- Alternate, Scroll and Insert keys.
-
- - MSetAuto allows you to instruct most video routines (like
- screen save/restore) to automatically turn off the mouse
- curosr, perform the function and then turn it back on -
- freeing you from doing it manually in your code and without
- altering old code or using a special routine!
-
- - RestCol restores a single column from a saved array to any
- column position on the screen.
-
- - RestRow restores a single row from a saved array to any row
- position on the screen.
-
- - RestScrnP - restore a rectangular portion of a screen array
-
-
-
-
-
-
-
-
-
-
-
-
- (via ScrnSave). Combines SaveScrn and RestWindow.
-
-
- New Routines (continued)
-
-
- - ParseFileSpec now works on a TYPE structure rather than
- simple strings
-
- - Faster and smaller SLEEP. Our Sleeper is as a replacement
- for BASIC's SLEEP that produces much smaller code. See
- details in the full documentation.
-
- - Plus many more like IsLeap (check if a year is a leap
- year); turn on continuous print as if Ctrl-PrtSc were
- pressed; convert an Alternate keypress (such as [Alt-Q])
- to an integer; perform Binary Coded Decimal conversions;
- RepAttr replaces a given attribute on the screen with
- another... and more!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-