Perfect Sync logoPerfect Sync
Console Tools

Console Tools provides a wide variety of useful,
Windows-related functions for PB/CC programs.

Feature List Console Tools Main Page Authorized Resellers

Console Tools is a package of add-on functions that were specifically designed to enhance the PowerBASIC Console Compiler (PB/CC) and other compilers that can produce Win32 Console Applications. Console Tools Pro is an expanded package that contains many additional features and enhancements.

Console Tools is a compact (95k) standard Windows 32-bit DLL that contains dozens of console-related functions. It’s very easy to use, as easy as adding two simple lines of code to the head of your program, and then using the Console Tools functions as if they were part of the PowerBASIC language.

Console Tools was designed to give your Console Application -- whether it’s a port of a DOS program or a new effort ­- some serious Windows SIZZLE. It also provides low-level programming functionality for serious programmers.

Console Tools Features

The features marked (GUI) are genuine Windows Graphical User Interface elements.
Console Tools does not use any re-mapped text characters to simulate graphics.
It contains only true Windows GUI elements which have been
carefully integrated into the console-mode text environment.


Console Message Boxes (GUI)

If you’ve ever tried to use a Windows Message Box with a console application, you almost certainly ran into impossible-to-handle problems with Window Focus and Maximized Windows, especially on Win95/98/ME. Console Tools fixes all of those problems for you. Console Tools Message Boxes look and act like standard Windows Message Boxes. You can have Message Boxes with buttons that say OK, OK-CANCEL, YES-NO, YES-NO-CANCEL, RETRY-CANCEL or ABORT-RETRY-IGNORE. You can control the text and title line, the modality of the Message Box, the default button ­ you can even specify Windows Event Sounds and use your own icons.


Console Input Boxes (GUI)

Console Tools provides five different GUI Input Boxes: a One-Line Input Box, a Numeric Input Box, a Password Input Box, a Long Line Input Box, and a Multi-Line Input Box. You can control each box’s title, prompt text, default text, and screen location. Console Tools Pro adds a sixth type: the "Mini Word Processor" allows the editing of strings (or even text files) up to 30,000 characters in length, with full Windows cut/paste/copy functionality. For comparison, the text-only version of this document is well under 15,000 characters. The "Word Processor" can also be used in a read-only mode, for the display of README files and other non-editable text. All Console Tools Input Boxes can display their editable text in any one of four different fonts, and Console Tools Pro adds the ability to custom-design your own font, with many different typefaces, sizes, weights, italics, etc.

Two-Field Input Boxes (Console Tools Pro Only) Perfect for UserName/Password input, or any other user input that requires two related pieces of information.


Console Splash Boxes (GUI)

Splash Boxes are non-modal text-display boxes. In other words they don’t wait for your user to click a button; your application shows and hides them programmatically, and can perform useful work while they are showing. They are very useful for "please wait" messages, non-intrusive pop-up reminders, program Logo/Copyright screens, and other non-modal display purposes. Console Tools provides one-, two-, and three-line Splash Boxes, ", in two different widths and four different fonts, and they can all use any icons that you choose. Console Tools Pro adds the ability to design and use custom fonts in Splash Boxes.


Console Progress Boxes (GUI)

A Progress Box is the familiar Windows popup with a "Progress Bar" (usually blue) that shows a "Percent Done" display. Console Tools provides two Progress Boxes, one with a Cancel Button and one without. You can change the title bar text, "prompt" text, screen position, and of course the length of the blue bar. They can be moved around the screen and the prompt and title text can be changed while your program is working.


Console List Boxes (GUI)

Use one of the four pre-defined sizes or create ListBoxes of virtually any size. Each ListBox allows you to select from up to 32,000 choices, and options for a setting a default item and allowing multiple-item-selection are also provided.


Console Pulldown Menus (GUI) Console Tools Pro Only

Add standard Windows Pulldown Menus to your console programs! They look just like the menu that’s probably at the top of the screen you’re looking at right now… File, Edit, View, Help, etc. You can custom-design up to 1024 menus and nested submenus for each of your programs, with up to 128 items each and professional-looking details like Accelerator Keys (Ctrl-C for Copy, etc.), separator bars, checkboxes, and disabled items. You really have to see this feature to appreciate it! Console Tools Pulldown Menus can be re-built as many times as you want -- at runtime -- from simple strings like…

File=100 | Edit=101 | View=102 | Help=103


Console PopUp Menus(GUI) Console Tools Pro Only

Right-click Popup Menus work just like Pulldown Menus, except they create standard Windows "context" menus. You can use submenus, checkmarks, and almost everything else that pulldown menus provide!


Console Window Control

Console Tools gives you complete control over your program’s console window state. You can programmatically Maximize, Minimize, Un-Minimize, Restore, Hide, Show, Position, Center, and Size the console window. You can detect and control the console’s FullScreen/Windowed mode. Console Tools can even automatically detect and turn off the FullScreen Mode before displaying critical Message Boxes which can’t be seen if the screen is in the text-only mode. You can also change the console window’s title and icon, and control your program’s place in the Windows Z-order, including its "TopMost" status. And the Console Tools "ConsoleToForeground" function even works with Windows 98 and NT5, which disable most other programs' "Take The Foreground" functions.

New in version 2.00 Minimize to the System Tray! Console Tools Pro can place an icon in the Windows System Tray, and whenever your program is minimized, that's where it goes. And you can specify whether a single, double, or right-click on the icon will cause your program to reappear. And the Pro version's OnCtrlBreak and OnShutdown functions allow you to intercept Windows events that normally close a console application without any warning.


Console Information

Console Tools provides functions that can tell you dozens of different things about the run-time state of the console window and desktop. You can get the dimensions and screen locations of the console window, the desktop, and the usable area of the desktop (the desktop minus the task bar). You can read the current state (max/min/etc.) of the console window, the number of rows and columns, the size of the buffer, and the maximum width/height that the current screen configuration will allow. And much more!


Low Level Control

Console Tools lets you "POKE" and "PEEK" characters and attributes to/from the console screen buffer. You can "BSAVE" and "BLOAD" text screens of virtually any size to either a disk file or to memory. Console Tools provides 8 Screen Buffers in addition to the 8 Pages that PB/CC provides, and the Console Tools Pro version provides 256 Buffers. You can use the buffers to save/load partial screens, too -- just specify a range of row numbers -- so screen tricks like Restore Rows, Insert Line, Delete Line, and Scroll-Row-Range are a snap. Screen-load operations can optionally force single-color operation, or strip the blink-bit from the colors in incoming screens. (Yes, the disk files that Console Tools saves and loads are 100% compatible with the PB/DOS BSAVE and BLOAD functions, but Microsoft Windows only supports SCREEN 0 so you can only load and save text, not graphics.)


Very Low Level Control

Want to use the Windows API? No? Not even a little bit? Well, if you ever do… Console Tools provides you with the handles of the Console Window -- that’s not the same thing as STDIN, STDOUT, or STDERR -- plus the handle of the Console Window System Menu, and even the Console Tools Pro Custom Font.


Ease Of Use Features

In addition to the raw, multi-option functions, lots of programmer-convenience functions are provided. For example, instead of using several different Console Tools functions to change the console buffer size and screen size, just use the Console80x25, Console80x43, or Console80x50 function. Want to reset the console to a standard mode when you don’t know (and don’t really want to check) its current state? Use the ConsoleNormal function.


Miscellaneous Features

After all, what would a DLL be without some Miscellaneous Features? Console Tools provides an OnTimer function that allows you to execute a function every x seconds or milliseconds. You can also send simulated keystrokes to Windows, and remove items like Close from the console’s System Menu and the "X-button" from the title bar. You can hide/show the Win95 Console Toolbar, and then lock the setting so that your users can’t change it while your program is running. You can get the Windows Version ID (95/98/NT/Win7etc), and where the Task Bar is located (bottom/right/etc.). You can set the defaults for Message Boxes, Splash Screens, and Progress Bars so you don’t have to worry about always specifying titles and icons.


Utility Programs

Console Tools also includes our new HideCons program. HideCons (Hide Console) is a "wrapper" program that can be used to launch your PB/CC applications in a hidden console window. Your program can then perform all of its initialization -- background color, initial screen display, icon, title bar, console size and position, console state (maximized/minimized/etc.), etc. etc. etc... before the console appears on the screen, and then reveal itself in its final form. This is a great technique for "cleaning up" a professional console application, and giving it an ultra-smooth startup. You can even display a Splash Box (see above) during the startup, with your program's name, copyright announcement, and icon.

Our CWC program is also included with Console Tools. CWC stands for Console Window Configuration, and it's a small (30k) program that allows you to specify the font type and font size that a PB/CC program will use. Finally you can truly take control of the way the console looks!


Comprehensive Documentation

Console Tools Documentation is provided in a standard-format Windows Help File. The help file thoroughly and extensively covers all Console Tools functionality. Its 250 pages are filled with function examples, tips and techniques and many other Windows- and console- related topics.

 

Console Tools Main Page

Perfect Sync logo

UPDATED 02 JAN 2010 EP     



About Us Contact Us Legal Stuff Main Page Site Search
© Copyright 2007 Perfect Sync, Inc. All rights reserved