LJ's Complete Console (LJ-CC) for PB/Win


A Comprehensive Set of Commands and Functions Supporting Console I/O.


LJ-CC mimics the console-specific functionality of the PB/CC compilers, versions 4, 5 and 6. It allows a program using the full console facilities of PB/CC to be easily modified and compiled under the equivalent version of PB/Win (8, 9 or 10), bearing in mind the other features used by the program which are common to both PB/CC and PB/Win.


If you are writing a pure console application, PB/CC is still the best choice for easiest production of the smallest fastest code using standard syntax. This is especially true if you are converting an old DOS program and don't need the newer features of PB/CC 5 or PB/CC 6, because PB/CC 4 is now available for a bargain "classic" price.


However, LJ-CC does provide a route for programmers who normally use only PB/Win to quickly and easily convert code written for the console compiler (published in the PB forums, for example) for evaluation. Perhaps most importantly though, it provides a route to easily combine a console window with GUI dialogs in the same program, an advantage long enjoyed by masochistic SDK-style programmers using either compiler.


LJ-CC is supplied in the form of a source file to be included in your program. The source file has no dependencies as all API declarations are provided inline. Some of the declared equates, types and functions have been renamed to avoid conflicts with the various API headers supplied for use with different versions of PB/Win. The source code can be compiled with PB/Win 8, 9 and 10 and has been tested as compatible with a wide range of header files from both PowerBASIC and José Roca that may be included in your main program.


If you are using PB/Win 10, please read the Character Sets section.


The code is hereby placed in the public domain. If you find any "undocumented features" (the code has not been extensively or rigorously tested), or features that are documented incorrectly or incompletely, I would appreciate it if you would let me know so that the master copy can be modified. I am also interested in hearing your suggestions for improvement.


Laurence Jackson

August 22, 2011