Dec 232017
A fully functinonal demo of PaintPal - a utility for Paradox 4.0.

Full Description of File

This is a full-featured demonstration
version of PaintPAL 1.0, the new and
extraordinary dialog box painter for
Paradox 4.0 from Target Software in
Allentown, Pennsylvania. PaintPAL lets
you use your mouse to "paint"
sophisticated Paradox 4.0 dialog boxes
and then produces SHOWDIALOG PAL code
equivalent to what you have painted.
PaintPAL lets you design and maintain
4.0 dialog boxes with the same degree
of efficiency that the Paradox form
designer lets you work with forms...

File PPALDEMO.ZIP from The Programmer’s Corner in
Category Paradox DBMS
A fully functinonal demo of PaintPal – a utility for Paradox 4.0.
File Name File Size Zip Size Zip Type
COLORCFG.SC 2800 1057 deflated
FILE_ID.DIZ 577 356 deflated
LCDINV.COL 63 41 deflated
LCDNORM.COL 63 37 deflated
PAINTPAL.CFG 654 60 deflated
PAINTPAL.EXE 295584 101274 deflated
PAINTPAL.HLP 155903 27870 deflated
PAINTPAL.ICO 766 164 deflated
PLASMA.COL 63 37 deflated
README.TXT 23379 8351 deflated
STD1.COL 63 56 deflated
STD2.COL 63 62 deflated
STDB&W.COL 63 38 deflated
TVISION.COL 63 58 deflated

Download File PPALDEMO.ZIP Here

Contents of the README.TXT file

This is a full-featured demonstration
version of PaintPAL 1.0, the new and
extraordinary dialog box painter for
Paradox 4.0 from Target Software in
Allentown, Pennsylvania. PaintPAL lets
you use your mouse to "paint"
sophisticated Paradox 4.0 dialog boxes
and then produces SHOWDIALOG PAL code
equivalent to what you have painted.
PaintPAL lets you design and maintain
4.0 dialog boxes with the same degree
of efficiency that the Paradox form
designer lets you work with forms...

This text file contains highlights from Chapters 1 and 2 of the
PaintPAL User's Guide (which is a total of 13 chapters). These two
chapters should provide you with enough information to understand the
purpose of PaintPAL. They will also help you get PaintPAL installed
and running in your operating environment.

Once PaintPAL is started, simply press [F1] at any time to bring up
context-sensitive help. The demonstration version of PaintPAL
includes the full help system of the PaintPAL commercial product
and is therefore the best way for you to learn about PaintPAL's
features and capabilities.

PaintPAL will save you countless hours of tedious PAL coding and will
make building dialog boxes fun and educational. To order a full copy
of PaintPAL, contact Target Software directly:

Target Software, Inc.
Hamilton Financial Center
One Center Square
Allentown PA 18101
Phone: (215) 820-9918 Fax: (215) 820-9394

PaintPAL comes complete with an illustrated 130 page user's guide
and free technical support. PaintPAL retails for $199 U.S., but be
sure to ask about current promotional offers when you call!


With the release of version 4.0 of Paradox, Borland International has
added dozens of powerful new features and capabilities to this
popular data base product. Perhaps the most striking new feature of
Paradox 4.0 is its completely reworked user interface. Paradox users
now enjoy a modern-looking user interface that employs pull-down
menus, moveable windows, and extensive mouse support. Even though
Paradox 4.0 is still a character-based program, the new user
interface gives the product a very similar feel to the graphical user
interfaces found in Microsoft Windows and OS/2. In fact, virtually
every user interface element found in these environments has an

equivalent element in Paradox. Paradox's new interface utilizes
windows (with maximize, minimize, and close buttons) as well as
dialog boxes (with radio buttons, check boxes, input lines, scroll
bars, list boxes, animated push buttons, etc.).

Paradox's new user interface was not developed "from scratch" by
Borland. Instead it was built using another Borland product called
Turbo Vision. Turbo Vision is an object-oriented user-interface
library that comes with Borland C++ and Turbo Pascal. Turbo Vision
provides a standard user-interface "framework" that programmers can
use to build mouse-driven, windowing user-interfaces with a
consistent look and feel. Turbo Vision has been declared the Borland
standard for building DOS character-mode user interfaces.
Furthermore, Borland has indicated that it will eventually convert
its entire DOS product line to the Turbo Vision look and feel.
Indeed, Turbo Vision is already used by the integrated development
environments (IDEs) in both Borland C++ and Turbo Pascal. The
incorporation of Turbo Vision into Paradox 4.0 insures that the Turbo
Vision look and feel will be around for a long time.

Because Turbo Vision has been woven into virtually every aspect of
Paradox, PAL has been extended to support the new user interface as
well. Several new PAL commands have been added that let you develop
custom Paradox applications with the same Turbo Vision look and feel
as the rest of Paradox. These commands include:

Command Function
WINDOW CREATE Lets you create a movable windows
with PAL canvases inside them
SHOWPULLDOWN Creates pull-down menus
SHOWMENU Now brings up a simple vertical menu
SHOWPOPUP Brings up a multi-level popup menu
SHOWDIALOG Brings up a dialog box

Of these commands, SHOWDIALOG is by far the most sophisticated. The
syntax diagram for SHOWDIALOG alone takes up three full pages in the
PAL reference manual! SHOWDIALOG lets you bring up a dialog box to
present and gather information to and from the user. Your dialog
boxes can have animated push buttons, radio buttons, check boxes,
scroll bars, list boxes, input lines, and labels. Text, lines, and
painted regions can also be drawn on PAL dialog boxes. SHOWDIALOG
even lets you define a "dialog PROC" for the dialog box. A dialog
PROC lets you implement dynamic, event-driven functionality within a
dialog box.

SHOWDIALOG provides a much-needed capability in PAL. However,
Paradox does not provide any tools for visually designing and
maintaining dialog boxes in the way that Paradox's built-in form
designer lets you work with forms. Instead, you are forced to design
and maintain dialog boxes as PAL code using coordinate-based
subcommands to size and position each user interface element. For
example, if you want to place an [Ok] button at the bottom of a
dialog box, you are forced to write SHOWDIALOG code that specifies
the exact row and column positions where the upper left corner of the
button should appear, along with the width of the button. Writing
coordinate-based code may seem reasonable until you try to develop a
dialog box with more than two or three elements. For example, let's
say you're developing an application for an automobile dealership and
you need to bring up a dialog box that will let the user choose the
color for a car, as well as the desired optional equipment. The
following dialog box may be what you want:

[] Mustang Selection

Colors: ( ) Red ( ) Purple ( ) Orange
( ) Green ( ) Brown ( ) White
( ) Blue ( ) Black ( ) Aqua

Options: [ ] Power Steering [ ] Power Windows
[ ] Driver's Air Bag [ ] Hi-Fi Stereo

Ok Cancel

However, to get this dialog box, you'd have to write the following
PAL code:

SHOWDIALOG "Mustang Selection"
@6,11 HEIGHT 12 WIDTH 56

TAG "Colors"
TO Color.s

LABEL @1,2
FOR "Colors"

TAG "OptionsTag"
"Power Steering" TO PowerSteering,
"Driver's Air Bag" TO AirBag,
"Power Windows" TO PowerWindows,
"Hi-Fi Stereo" TO Stereo

LABEL @5,1
FOR "OptionsTag"

"~O~k" OK
TAG ""

"Cancel" CANCEL
TAG ""
TO Cancel

It's pretty obvious that if you plan on using dialog boxes liberally
in your Paradox 4.0 applications, you do not want to code them by
hand! And that's precisely the reason Target Software created
PaintPAL. PaintPAL is an external program (.EXE, not a PAL script)
that lets you paint Paradox 4.0 dialog boxes using your mouse. When
you've achieved the desired look, PaintPAL automatically generates
PAL code that is precisely equivalent to what you have painted! And
PaintPAL was written using Borland's Turbo Vision library so you are
guaranteed that every dialog box you paint using PaintPAL will look
exactly the same when running under PAL.

PaintPAL supports all aspects of the SHOWDIALOG command. You can
create dialog boxes containing text, animated push buttons, check
boxes, radio buttons, input lines, pick lists, scroll bars (sliders),
frames, painted regions and much more. You interact with PaintPAL in
much the same way you work with any graphics-based paint program.
Elements are moved simply by clicking on them and dragging them to a
new location. Elements are resized by "grabbing" their lower right
corner and stretching them to the desired size. And PaintPAL gives
you a variety of innovative features, such as a floating toolbox,
that save time and make the product easy-to-use.

Before you generate PAL code, you may choose to activate PaintPAL's
interactive dialog validation facility. This tool goes through each
element you have painted and identifies missing or invalid
information that, if not corrected, would cause syntax or runtime
errors when the generated PAL code is run in Paradox. After
validating your dialog box, you can generate PAL code using PaintPAL
with just a click of a mouse. PaintPAL-generated code may be
displayed on the screen, sent to a new file, or inserted directly
into an existing PAL script. If you are generating revised code for
a dialog box that has already been incorporated into an application,
PaintPAL will find the old PAL code within the appropriate script and
replace it with new code automatically!

Dialog boxes created with PaintPAL can be saved to disk in special
binary files with the extension ".DLG". Dialog boxes saved in this
manner can be reloaded into PaintPAL at any time so that you can
easily make revisions to them and regenerate their PAL code. Because
saved PaintPAL dialog boxes are nothing more than binary DOS files
that can be loaded from the DOS command line into PaintPAL, PaintPAL
can be defined as Paradox's BLOb editor within Paradox's new custom
configuration program. This means that you can store all of your
dialog boxes in a single Paradox table rather than many individual
.DLG files!

The overall design goal of PaintPAL was to give the programmer the
freedom to choose between dialog boxes and forms when determining how
to build the user interface of a Paradox application. Without
PaintPAL, you are forced to choose to use Paradox forms 95-100% of
the time for the simple reason that forms are easy to design and
maintain. With PaintPAL, we have created a tool that makes dialog
boxes every bit as easy to design and maintain as Paradox forms. Now
you have the freedom to decide which style is most appropriate each
time you need to implement a user-interface within an application.


Any machine with a color monitor and a mouse that can run Paradox 4.0
will run PaintPAL well. PaintPAL's minimum hardware requirements are
as follows:

* A 286 computer
* 640K of RAM
* A color graphics card with a color monitor
* A mouse or other pointing device
* .5 Mb of hard disk space or a floppy disk drive


PaintPAL's software requirements are as follows:

* DOS version 3.1 or greater
* Paradox 4.0 (not needed to run PaintPAL but
required to run PaintPAL-generated PAL code)


Before you run PaintPAL, the product should be installed on your hard
drive. This chapter describes the installation of PaintPAL and how
to start the program from DOS, within Paradox 4.0, or from other
operating environments.


Because PaintPAL consists of just a few files that fit on a single
diskette, an installation program is not provided with the package.
The most convenient way to work with PaintPAL is to copy all of
PaintPAL's program files to a directory on your hard disk. If you do
not have a hard disk, see the section below titled Starting from a
Floppy Drive. To copy PaintPAL to your hard disk you should:

1. Create a directory on your hard disk for PaintPAL's program files.
To create the directory, use the DOS MD command. For example, to
create a directory called PAINTPAL you would enter the following
command at your hard drive's DOS prompt:


2. Change from your current directory to your new PaintPAL directory
by using the DOS CD command. For example, if you named your
PaintPAL directory PAINTPAL, you would enter the following command:


3. Place the PaintPAL Program Disk into your disk drive. For our
example, we will assume that the disk drive you are using is drive

4. From your DOS PaintPAL directory, enter the following command to
copy PaintPAL's program files to the PaintPAL directory:

COPY A:*.*

You are now ready to start PaintPAL from your hard disk. You may
choose to add your PaintPAL directory to the path statement in your
AUTOEXEC.BAT file so that you can start PaintPAL from any directory.


Before you start PaintPAL you should be sure that your mouse and your
mouse software are installed. See your mouse's owners manual for




If the PaintPAL directory was included in your DOS directory path,
PaintPAL may be started from any directory by simply entering


Insert PaintPAL's program diskette into your system's floppy disk
drive. At your disk drive's prompt, type PAINTPAL and press the
[Enter] key. PaintPAL's menu and an empty design box will
immediately be displayed.


PaintPAL is an extremely "well-behaved" DOS application. It neither
attempts nor needs to use any extended or expanded memory or
non-standard video modes. For this reason, it is easy to run
PaintPAL from Windows or OS/2 Presentation Manager. To do this,
simply set up PaintPAL to run in a DOS Window in the same way you set
up any other DOS application in these environments. If you prefer to
open a DOS window and run PaintPAL from the command line, that will
work too!

Using Windows or OS/2 to run PaintPAL and Paradox 4.0 simultaneously
has many advantages. Best of all, it allows you to generate code in
PaintPAL and immediately run it in Paradox without exiting PaintPAL.


There are three ways to start PaintPAL from within Paradox:

* Shell to DOS and run PaintPAL
* Use SETKEY to create a hot-link to PaintPAL
* Define PaintPAL as your BLOb editor


Shelling to DOS is the easiest way to run PaintPAL while Paradox is
loaded. To do this, simply type [Ctrl]-O or [Alt]-O while in
Paradox. Paradox will be suspended and you will see a DOS prompt.
You may then start PaintPAL as you normally would. After you exit
PaintPAL, type "Exit" at the DOS prompt. Paradox will come back to


Paradox supports a special PAL command called "SETKEY" that lets you
redefine keystrokes in interactive Paradox to run short pieces of PAL
code. This feature is extremely useful for automating tasks that you
perform over and over in Paradox. Since you will presumably be
running PaintPAL over and over when developing applications, SETKEY
can be used to provide a means for loading PaintPAL from interactive
Paradox with just a single keystroke. The following SETKEY command
will configure Paradox to load PaintPAL every time you press [Alt]-P
(Character code -25):


Place this command in a script file and run this script at the
beginning of each Paradox session (placing this command in your init
script, INIT.SC, makes this automatic). The hotkey will remain
active until you exit Paradox or explicitly deactivate it. Note: you
may need to specify the full pathname of the PAINTPAL.EXE file in the
SETKEY command if the PaintPAL program directory is not in your DOS
path. Don't forget the double backslashes in the directory string


PaintPAL lets you load dialog boxes directly from the command line.
For example, if you enter:


at the DOS command line, PaintPAL will attempt to find a dialog file
by the name of MYDIALOG.DLG and load this dialog into PaintPAL's
design box at startup. This ability to load dialog boxes at the
command-line makes PaintPAL a valid BLOb editor and hence creates
some interesting opportunities for leveraging Paradox 4.0's ability
to store BLObs in tables. Specifically, if you define PaintPAL as
your BLOb editor using Paradox's custom configuration program, a
table with the following structure may be used to store all of your
application's dialog boxes:

Field Name Type Description
Dialog Description A40 Stores a brief description of the
dialog box stored in the record.
PaintPAL Dialog File B1 Contains the saved PaintPAL
dialog box.

The first field lets you enter a brief description of the dialog box
so that you can identify the dialog box without looking at it in
PaintPAL. The second field contains the actual binary data created
when the PaintPAL dialog box is saved. If you double-click (or enter
field view) while in Edit or CoEdit Mode on the BLOb field, Paradox
writes the data in the BLOb out to a temporary file. It then runs
PaintPAL with the temporary file's name specified as a command-line
parameter. This causes PaintPAL to come up with the dialog box
pre-loaded so that you can begin to manipulate it immediately. When
you resave the dialog box into the temporary file and exit PaintPAL,
Paradox will automatically take the temporary file (which now
contains the revised dialog box) and store it back into the table.
In this way, you can successfully maintain a table of dialog boxes!

To configure Paradox with PaintPAL as its BLOb editor, complete the
following steps:

1. Enter Paradox's Custom Configuration Program (System

2. Choose the PAL Menu.

3. Tab to the BLOb Editor field of the PAL dialog box and enter
"PAINTPAL.EXE *". Note: you may need to specify the full pathname
of PAINTPAL.EXE if the PaintPAL program directory is not in your
DOS path.

4. Press [Ok] to save the information you just entered in the PAL

5. Select DO_IT! from the custom configuration program's main menu
and save the new PARADOX.CFG to the appropriate hard disk/network

Once you get this working, you may very well prefer to store all of
the dialog boxes for an application in a table using Paradox's BLOb
storage capabilities since this is a more elegant way to organize
them than having dozens of ".DLG" files floating around.


To exit PaintPAL and return to DOS at any time, press [Alt]-X, or
choose the Exit option from the File menu. If you have painted a new
dialog box or not resaved an existing one, PaintPAL will warn you and
give you an opportunity to save you work before exiting.


1. The following command-line parameters are supported:

-lm Configures PaintPAL to use left-handed mouse clicks. The operation
of the left and right mouse buttons is simply reversed if this
option is specified.

-d followed by a valid directory name (no spaces
inbetween) configures PaintPAL to use the specified directory as
a "private directory". All temporary files along with the
PAINTPAL.COL and PAINTPAL.CFG files are written to/read from this
directory. This feature allows PaintPAL to be installed on
and run from a network drive. Each user simply must specify a
"private directory" using this command line switch and PaintPAL
should work without a hitch.

2. You may have discovered that Paradox 4.0 permits control elements
to be placed partially or completely outside the boundaries of
a dialog box. You may also have discovered that Paradox 4.0 DOES
NOT let canvas elements be placed even partially outside the boundaries
of a dialog box. To deal with this issue, PaintPAL comments
out the generated code for any canvas elements that are placed
partially or completely outside the design box borders.

3. Changing PaintPAL's Default Colors:

Using Paradox's custom configuration program, you can redefine
Paradox's color palette. Your custom palette can change the
colors that Paradox uses to display tables, forms, reports, and
each individual element of dialog boxes. Because Paradox lets
you change the standard colors that are used to display dialog
box elements, dialog boxes painted using PaintPAL's standard
color set (which mimics Paradox's "Palette 1") will not look
the same when they run under Paradox when Paradox is using a
customized palette. To help you get around this problem, a special
PAL script called COLORCFG.SC is included on the PaintPAL
distribution diskette. This script lets you configure PaintPAL
to use the same color palette that is currently active within
Paradox. It builds a special file called PAINTPAL.COL which
contains Paradox's currently-active color settings. If this
file is placed in the same directory as the PAINTPAL.EXE
file (or in the private directory specified with the -d
command line parameter), PaintPAL will replace its own palette
with the palette stored in this file. Hence, your dialog box
will look precisely the same as it will when running in

4. The PaintPAL/PAL-Edit link:

PaintPAL has been designed to work with PAL-Edit 4.0, the popular
Paradox 4.0 script editor from Kallista. Likewise, PAL-Edit 4.0,
has been designed to work with PaintPAL.

PAL-Edit 4.0 provides a PaintPAL menu that runs PaintPAL after letting you
specify the name of a new or existing PaintPAL .DLG file. If an existing
.DLG file is specified, PaintPAL loads that dialog box immediately and
allows you to manipulate it. If a new .DLG file is specified, PaintPAL
lets you paint the new dialog box. When you are finished editing/painting the
dialog box, you can validate the dialog box and prepare to generate PAL code
as you normally would. PaintPAL is "PAL-Edit aware" and therefore the
"PAL-Edit" destination is available in PaintPAL's "Generate PAL" dialog box.
If you select this destination, PaintPAL gives you the option to save the
dialog box you are working on, generates the PAL code to a temporary file, and
exits back to PAL-Edit. PAL-Edit then "picks up" the generated code and
provides elegant ways for you to integrate it into any PAL script.

For more information on PAL-Edit, contact Kallista directly:

Kallista, Inc.
11 East Adams St., Suite 1402
Chicago IL 60603
(312) 663-0101
FAX: (312) 663-1304

 December 23, 2017  Add comments

Leave a Reply