home *** CD-ROM | disk | FTP | other *** search
-
- SEPT, 1990
-
-
- BASIC WINDOWS TOOLS
-
- version 8.0
-
- with
-
- MS Mouse support
-
-
- BY
-
- James P. Morgan
- 5226 Via Hacienda #115
- Orlando Fl. 32809
- U.S.A.
-
-
- * based on original PD works by *
-
- Dave Evers
-
-
- ===========================================================================
-
- As an introduction, let me say that the modifications and enhancements
- made by myself, James P Morgan, were based on the original source code
- as distributed by Mr Evers. This source coded was greatly enhanced by myself
- and released into the Public Domain, with Mr. Evers permission.
-
- This product, BASWIND, is a MAJOR enhancement and as such will stand
- on its own merits. BASWIND was designed to support QuickBASIC 4.5 only
- from the compile command line, however testing has been done from the
- environment, with no problems found as yet.
-
- Also, assembler mouse interface routines were written to provide
- MS Mouse support. These routines (for now) were patterned after the
- ADVBAS9A.ARC library of routines, available on most BBSs. My next goal
- is to replicate MOST/ALL the asm routines in ADVBAS and some of the
- other routines in Shareware/PD libraries and make them (source and all)
- available.
-
- With version 8.0 of BASWIND the source, .bas and .asm , is included as
- well as a compiled QB4.5 version of the demo programs. The documentation
- on how to interface to the various window/mouse routines is also included.
- QB 2.0 and QB 3.0 will not be supported.
-
- I hate to re-invent the wheel, but if we can put together a library of
- public domain QB routines and .asm routines to match ADVBAS and GLIB and
- others, then we can all benefit.
-
-
-
-
- YOUR FEEDBACK IS NECESSARY IF YOU USE BASWIND AND WANT THIS EFFORT TO
- CONTINUE.
-
-
- - Version 8.00 is initially being distributed on
- ---------
-
- 1). THE PUBLIC (software) LIBRARY
-
- P. O. Box 35705
- Houston TX 77235-5705
-
- Ph :713-721-5205 - 713-721-6104
-
- Ask for disk : (see PSL catalogue)
-
-
- 2). PC ROCKLAND BBS - NY (bulletin board, one of the BEST)
-
- Download file : BASWIND8.ZIP
-
- Ph :914-353-2538 (open public - non-subscribers)
- 914-353-2157 (paid subscribers only)
-
-
- Off the top of my head, some of the enhancements are:
- -----------------------------------------------------
-
- o For Version 8.0, some enhancements were:
-
- o For some/most menus, where you make a selection based on the
- first character of an option, the selection test is now case
- insentitive. In otherwords upper/lower case does not matter.
-
- o For some selection menus the mouse cursor does NOT follow
- the keyboard. If you select an item with the keyboard or
- cursor/page around, the mouse cursor stays where it is
- located. This mainly applies to POPLIST and TAGLIST functions.
-
- o Fixed bugs with incorrectly updating screen full of options.
- This occured under some HOME/END/PAGE UP/PAGE DOWN conditions.
-
-
-
- o For Version 7.0, some enhancements were to add support to allow
- the array that holds screen images to exist outside Qbasics 'work'
- area. In otherwords as a FAR array (allocated from high memory heap).
- This now requires you to define the screen image array as DYNAMIC and
- also for you to pass the ASM routines (SCRNSAVE, SCRNREST, SAVEWIND
- and RESTWIND) the memory SEGMENT address and memory OFFSET (in
- SEGMENT) of the array you are using to store screen image. The other
- comments below (other bullet items) really apply to version 6.0
- --------------------------
- (when it was released).
-
- Most ALL routines NOW REQUIRE an extra paramenter, RETURN.CODE%.
-
- To support QuickBasics DIM syntax : DIM Array (-x TO +y), additional
- considerations MUST be made (see RETURN.CODE% also above). BASWIND7
- 'normalizes' all array process AS IF user had passed arrays as,
- OPTION BASE 1. This requires you to 're-normalize' selection value
- returned to your REAL 'UBOUND' for array passed.
-
- The mouse handling for QUERY/QUESTION/WARNING/CAUTION is different.
-
- The mouse handling for selecting an item from a window list is also
- different. You double-click on non hi-lited item to select OR single
- click on hi-lited item, to select.
-
- o Clicking on the right mouse button is same as pressing the
- ENTER key. This has been functional, just not really documented.
-
- o For the QUERY function, the QUERY window handling has been
- enhanced to allow 'button' boxs of different size prompt messages.
- The 'button' boxes will both be as large as biggest prompt.
-
- Also QUERY box will now never be smaller than 'button' boxes.
-
- o Assembler routines modified so that interrupts will NOT be
- disabled for any long period of time. Async data was being lost
- when writing to the screen (using .asm routines) with interrupts
- turned off, to update the video buffer directly as fast as possible.
-
- o For BASWIND7 the MOST significant feature is support for MS Mouse
- and mouse drivers that are compatible with the MS mouse driver.
-
- o Functions that now support a mouse STILL continue to support the key-
- board. You can use the keyboard and mouse together or not. The mouse
- DOES follow the keyboard cursor keys.
-
- o Window 'shadowing' now is TRUE shadowing. Any screen image that is
- in a window shadow is NOT overwritten by a completely black character
- BUT will be turned into a white-on-black character (as if the charac-
- ter WERE in the shadow of another image).
-
- o All window modules will detect the calling "OPTION BASE" for arrays
- and adjust all array handling routines accordingly .
-
- o The sub programs can be compiled separately and put into a
- ".LIB" file for linking with separate standalone programs.
-
-
-
-
- o The sub programs can ALL be made into one large ".BAS" (windows.bas)
- file.
-
- o Several bugs fixed, mainly the exploding windows bug and WAITTIME
- midnite rollover.
-
- o Windows that 'grow' and windows with 'shadow' are no longer mutually
- exclusive. You can have a window 'grow' with a shadow.
-
- o The options passed to most window functions can have leading spaces
- (example : " Calander") . This could allow for "nested" type menu
- options displayed.
-
- o You can press the first letter of a MENU type option and the
- cursor will JUMP immediately to next option which begins with
- that character. The jump is circular, in other words the code
- will look to the end of a array list and then start back at the front
- and then back to the option the cursor was currently on.
-
- o A "QUESTION" function window was added. If your program requires
- a "YES/NO" reply , the "QUESTION" window will handle that kind of
- requirement.
-
- o The DEMO programs were modified to reflect and demonstrate the
- the fixes and enhancements, to a better degree.
-
- o All variables in sub programs strong-typed, in other words each
- variable should have "$%#!" ending character to fully define its
- data type.
-
- o The Lotus 123 menu also supports "typing in of first character"
- of option to select it (in addition to cursoring). Again the
- "first letter" selection is a circular loop, in that all of the
- options are checked, all the way back to the option that cursor
- block is currently on.
-
- o Most all windows will accept a "first character" selection key
- or still allow you to cursor to the option you want to select.
-
- o The source code "standardized" and structured for each sub program.
-
- o The SCROLL function was defined in the WINDTOOL documentation,
- was omitted in the original.
-
- o The QUERY function was added. QUERY is a general purpose function
- that serves as a template for such functions as WARNING/CAUTION.
- WARNING/CAUTION/QUESTION were still included as separate functions
- (for downward compatibility) even though they are now based on the
- QUERY function (not standalone functions anymore).
-
- o The CALENDAR functions were all stardardized around a 'commom'
- sub-program. The KEYCAL and CALENDR3 modules are no longer separate
- programs , but use the CALENDAR sub-program for most of their work.
-
- o If you display a menu of items, you can pass the menu selection
- you want to be the default (highlighted) when the menu initially
- displayed.
-
- o When a menu has more items than are/can be displayed , the top and
- bottom window frames will display 'arrows'. Clicking on the up or
- down 'arrow' will page the window in that direction.
-
- o Menu windows that consist of more items than can be displayed
- at once allow a Pageup/Pagedown to view the next window of selection
- items. Such windows 'wrap' around now. If you are at the last menu
- window, pressing Pagedown will display (wrap) the window menu of the
- first group of item from which to select.
-
- o When a menu window contains items from which you are to 'tag' some/
- all/none for selection, you can pass the maximum number of items that
- can be 'tagged' at one time.
-
-
-
-
-
- These efforts on my part represent better than 300+ hours , so please
- understand that i am not trying to "steal" any of Mr Evers work. Mr. Evers
- original works are still in the Public Domain, along with a prior enhanced
- version that i released , with Mr. Evers permisssion.
-
- However , as with any software package, growth and evolution are nesess-
- ary and in this case MAJOR enhancements and re-write makes this BASWIND,
- a separate entity to stand on its own merits.
-
- The current source , written in QuickBASIC 4.5 and the assembler
- routines, will be made available on request:
-
- Send a pre-paid mailer and formatted disk (5.25 or 3.5) to the address
- below and allow 2-3 weeks for return mail. I have quite a few 'irons'
- in the fire with other projects, so please understand. If you dont have
- time or desire to put together a mailer, then send $10.00 and state type
- of media you want the files returned on. For requests outside the conti-
- nental U.S.A. please add an additional $5.00 (for a total of $15.00 US
- funds ONLY). ONLY checks drawn on a US bank will be honored otherwise
- the request cannot be processed.
-
- You will receive the QuickBASIC source and source to all the .asm
- routines, FOR YOUR NON-COMMERCIAL USE ONLY and will be entered into
- a database (if volume warrents) so you can be notified of any additions
- and/or enhancemets to QB routines or the .asm routine library.
-
- ****** (allow 2-3 weeks to receive the disks) ********
-
- MAIL TO:
-
- James P. Morgan
- 5226 Via Hacienda #115
- Orlando FL, 32809
- U.S.A.
-
- and please give your complete return mailing address.
-
- ======================== end of readme.doc (JP)===========================