Perfect Sync logoPerfect Sync
Console Tools

The following review of Console Tools 1.0 appeared in the October 1998 issue of the BASICally Speaking newsletter.

It is presented here in its original form. Perfect Sync has not modified the text in any way, except that we have re-formatted it for internet (HTML) presentation.

Please note that the current distribution version for Console Tools is 2.xx. BASICally Speaking has not been published since 2001, so the review has not been upated.

Console Tools Pro 1.0

Overall Rating: 4.2

Console Tools and Console Tools Pro, add-ons for the PowerBASIC Console Compiler, add tremendous flexibility, capabilities, and control to console mode programs. The heart of the product is a DLL file that you distribute with your application; your PB/CC programs make calls to the functions and procedures in it. We only worked with Console Tools Pro in preparing this review. At the end of this article, we've noted the differences between the two versions based on information in the documentation and promotional materials provided by Perfect Sync, Inc., the publisher of these products.

If you've done much console mode programming, you've probably discovered that you don't have nearly as much control over your application's appearance as you do in a regular Windows application or even in a DOS program. You cannot change the size of your text screen from 25 to 43 or 50 lines; you cannot ensure that your application is running in either full-screen or Windows mode, and it's even hard to determine which mode your program is in.

Console Tools Pro fills this gap with aplomb. It provides a wide array of control functions for console mode applications. Whether it's moving the console window on the desktop; minimizing, maximizing, or restoring the window size; changing the window's title or icon; or changing the number of lines of text in the console window (to any number of lines, even non-DOS resolutions like 27 lines), Console Tools Pro can do it. It can also give you a lot of information about the system on which your program is running, including the dimensions of the screen, the current state of the console window (minimized, maximized, etc.), the usable area of the desktop (the size of the screen less the space used by the Task Bar), the number of rows and columns in your console window, and the handle of the console window (which is required by certain API functions).

Have you tried calling the Windows MessageBox API function from a console mode program? The results are highly unpredictable and can be quite unattractive. Console Tools Pro provides a set of replacement message box routines for your programs. These routines do a lot of "behind-the-scenes" work to ensure that the operating system will not interfere with the display and leave your program's message boxes looking terrible.

Console Tools Pro also provides a very nice collection of input boxes, splash boxes (very similar to the splash screen that is displayed when an application starts), and progress boxes (thermometer-style "percentage done" indicators, with and without Cancel buttons). All of these capabilities are true graphical displays created by calls to the Windows API; they are not text "dressed up" to look like graphics.

One of the really impressive features of Console Tools Pro is its ability to add true Windows graphical pulldown menus to your console mode application. These menus have all the capabilities of a standard Windows menu, including deeply nested submenus, separator lines, and accelerator keys. If you don't like pulldown menus, you can use a "ring" style menu. This graphical menu operates very much like the menus in the original Lotus 1-2-3 spreadsheet. Instead of dropping the submenus onto the screen, a new menu bar appears in the place of the old one. Although not as attractive as the pulldown menus, they may be a better choice when porting DOS applications to console mode.

There is a nice set of "low level" tools in the package. You can save the screen (either the entire screen or just a portion of it) to a Windows memory buffer or a disk file and then retrieve it; the operation is very similar to BSAVE and BLOAD in PB/DOS. In fact, the files created by these routines are completely compatible with the files created by PB/DOS' BSAVE statement. Console Tools Pro also contains PEEK and POKE functions that allow you to write characters and/or attributes directly to the console screen.

Every console window has a built-in menu. If you left-click on the window's icon or right-click on the window title bar, you will see the menu. Console Tools Pro gives you a set of convenient routines for removing options from and restoring them to this menu. You can even disable the Close menu item, which also disables the "X" button in the upper right corner of the window. (Some items, once removed, cannot be restored, so you should carefully read the documentation for these functions and exercise caution when removing items from these menus.)

Finally, Console Tools Pro includes some miscellaneous items that don't necessarily fit in with the product but are nice to have. There's a function that emulates PB/DOS' interpreted printing, several icons you can use on your message boxes, a routine that translates PB/DOS' COLOR settings into the equivalent PB/CC code, and a wrapper for Windows' Open File dialog.

As with many Windows development tools, the documentation is provided in a Windows Help file. No printed documentation is available for the product. Also typical for Windows programming tools, the source code of the Console Tools and Console Tools Pro DLLs is not available.

While we admit that software piracy is an ongoing problem, especially in certain parts of the world, we decided long ago that our customers' convenience was more important than the potential loss of revenue due to piracy. Accordingly, much of our software is distributed with the source code, and we do not employ any copy protection schemes. The authors of Console Tools Pro, on the other hand, include this rather severe statement in their license agreement:

IMPORTANT NOTE: Each Console Tools DLL is serialized. The unique ID Number that is embedded in each copy of the DLL will allow Perfect Sync to attribute unauthorized distribution to the original licensee. Attempting to change the embedded ID number is a violation of U.S. and international law, and the DLL will self-deactivate if tampering is detected. WARNING: Perfect Sync cannot be held responsible for damage to computer files, erasure of computer files, or any other damage that may be caused by a Console Tools DLL that has been intentionally altered.

Our ratings for Console Tools Pro 1.0 are:

Capabilities
5
Ease of Use
3
Documentation
4
Reliability
5
Performance
4
Overall Rating
4.2

We awarded Console Tools Pro a 5 for its capabilities. It significantly enhances the appearance and functionality of console mode applications and gives you nearly complete control over the windows in which your applications run. We have no idea how Console Tools Pro does some of the things it does, and it is clear that the authors have a very intimate knowledge of Windows, console mode, and the Windows API.

Console Tools Pro is not particularly difficult to use, but it is not self-documenting, either. The "install" program is merely a self-extracting archive; you tell it where to install the files, and it puts them there. If you wish to add the Console Tools Help file to your Programs menu, you have to do it by hand. (I added it to the PB/CC program group, since it seemed to fit well there.) The functions and procedures themselves are declared in a small .INC file; you just $INCLUDE this file in your program and then make calls to the functions as needed. This is fairly standard operating procedure for function libraries, so we awarded Console Tools Pro a 3 for ease-of-use.

The documentation is concise and clear, and the text is very well written. It has a complete reference section with lots of examples, and the appendices, which contain tutorials and advice for writing Windows console mode programs, are excellent. However, it is only available in electronic form. It is hard to "flip" through the manual trying to remember which routine performs a specific task. If you wish to print a manual for yourself, you must either print each topic individually or get a help decompiler to recover the help file "source" and print it with a word processor. I wish Perfect Sync would invest the extra five dollars to produce a printed manual, even if they charge extra for it. We rated the documentation a 4, but if you prefer not having a printed manual, you'll probably consider it a 5.

We gave Console Tools Pro a 5 for reliability. In our tests, the routines all ran flawlessly. Given the huge variations that can exist from computer to computer (screen size, color depth, video drivers, memory, programs running in the background, etc.), that's impressive.

Finally, we awarded Console Tools Pro a 4 for performance. The DLL is reasonably small (53.5k), and the functions and procedures generally run quickly. (The occasional slowness or jerky screen updates we encountered are probably due more to Windows than to Console Tools Pro.) [As an interesting side note, the Console Tools DLL was written in PB/DLL.]

Perfect Sync Software, Inc. sells a more limited version of this product, called Console Tools. Instead of the four developers that the Pro version allows, only one developer may use it, and it only allows you to use the .DLL at your own site; you may not distribute it, even to your company's other facilities. As far as functionality, it does not contain the Pulldown Menu system, and it only gives you eight extra screen buffers (instead of the 256 supplied by the Pro version). Although it is significantly less expensive, the prohibition on distribution of the DLL makes it unsuitable for most professional programmers. But for the hobbyist programmer, it is an ideal, low-cost solution.

A demo can be downloaded from the Perfect Sync, Inc. web site at www.perfectsync.com. It is an impressive demo. If you are interested in this product, we recommend you run it to get a better feeling for its capabilities.

For more information on Console Tools and Console Tools Pro, contact Perfect Sync, Inc.

-- By Alan C. Earnshaw

Console Tools and Console Tools Pro
Version 1.0
[Version 2 is now available.]

Published by Perfect Sync, Inc.


The review is © Copyright 1999, Information Management Systems, Inc. Used with permission.

Please keep in mind that this is a review of Console Tools 1.xx.
The current distribution version is Console Tools 2.xx.

BASICally Speaking also reviewed our SQL Tools product.

Perfect Sync logo

UPDATED 04 NOV 2006 EP     



About Us Contact Us Legal Stuff Main Page Site Search
© Copyright 2006 (except for the reveiw itself) Perfect Sync, Inc. All rights reserved