                Table Viewer for Paradox 4.0 tables
                     (c) Brad Trupp  1994


PX4VU.EXE
----------

PX4VU allows you to browse all Paradox 3.5 and 4.0 tables in a
specified directory. It builds a temporary table of Paradox database
files and opens a scrollable list box into this table. From the table
list, any table can be opened and viewed.

Usage:  PX4VU directory_to_search

1) If no directory is specified then the current working directory
   will be searched.

2) The temporary table will be built in the temporary directory if
   one has been specified through the use of "SET TEMP=...". Otherwise
   the table will be built in the current working directory.

Shareware Registration
----------------------

This program is shareware. There are two different ways to register.

1) Register for the cost of postage. Just send a picture postcard
   of your town or city. Please indicate which program you are
   registering and where you found this program. Any comments you
   may have are always appreciated.

2) You may choose the alternative registration method instead. For
   $15.  (Yes! That's only fifteen dollars.) you will receive a disk
   with full source code (uses Borland C++ & Paradox Engine with Database
   Framework) to the table viewer; plus other shareware programs. Payable
   in either US or Canadian funds. Money Orders or Checks please. 
   
   If the use of this software is for business purposes, you should 
   choose option 2. Please contact me if you need site license information.


  Brad Trupp                E-mail Addresses:
  75 Nicollet Avenue
  Winnipeg, Manitoba        Compuserve:  74670,1572
  Canada,  R2M 4X6          Internet:    74670.1572@compuserve.com

Copyright
---------

This software is Copyright 1994, by Brad Trupp.

You may distribute this software as long as the following files
are included:  PX4VU.EXE, PX4VU.TXT.

All the above files should be combined into a single file ZIP or
other compression format for distribution.

Beyond a fee for the reproduction and media cost, no fee may be
charged for distribution of this software.

This software claims no warranty, implied or otherwise. This
software is provided "AS IS". The author claims no responsibility
for any damages that might be caused by the use or abuse of this
software. This software remains the property of the author. This
software may not be modified in any way.

Program Notes
-------------

This program was written using Borland C++ 3.1 and the Paradox
Engine 3.0 with Database Framework.

The source code includes several special C++ classes:

A) An encapsulation of CONIO.H to provide basic windowing output
   with minimal stream output support (called Mywindow) and a
   message box capability (called MyMessageBox).

B) An object for a scrolling list box into a Paradox table (called
   PXSCROLL) and an object for basic record display (called PXRECORD)
   of a record in a Paradox table.

Modifications to Borland's Database Framework source code.

A)  In the Database Framework BRECORD.CPP module, the convertFld
    routine was modified to prevent large numbers from printing in
    exponential notation ( printf format of %G ) by forcing print
    to signed floating point when converting to a destType of
    fldChar from a srcType of fldDouble -- for numbers > 999999 or
    < -999999. The change is not required but makes large numbers a
    little easier to read.

    The code is shown here if you want to insert it yourself into
    BRECORD.CPP.

           // modify to handle large doubles
           if ( *((double *) srcPtr) > 999999.0 ||
                *((double *) srcPtr) < -999999.0 ) {
               srcLen = sprintf(buf,"%-#24.6f",*((double *) srcPtr));
               while (srcLen > 7 && ( buf[srcLen-1] == '0' ||
                   buf[srcLen-1] == ' ') ) {
                   srcLen--; buf[srcLen] = '\0'; }
               if ( buf[srcLen-1] == '.' ) {
                   srcLen--; buf[srcLen] = '\0'; }
               }
           // end of mod...

=================================================================
