General Notes:

This demo is provided as both interpreted and compiled 4D structures.
This demo will be somewhat slow if run in interpreted mode. Compiled,
however, it will be very fast. This is because of the text parsing and
BLOB manipulation being done by the demo. Usually, you will only want
to use the interpreted version of the demo to see the code. To run the
demo, though, it is probably best to run compiled for the dramatic
speed increase this will afford.



To use BASh_Demo:

Open the database structure ("BASh_Demo.int" for interpreted or
"BASh_Demo.comp" for compiled) with 4D 6.8.x. Since BASh is a has a
wide variety of modules, there are different parts of this demo. These
can be accessed under the "View" menu.

Currently, BASh_Demo highlights four of the BASh modules. BASh has
many more modules, and even the modules in the demo have more
capabilities than what are being presented.

The CODEC module demo allows the various encoding and decoding
routines (Base64, URL, HEX, CLE, UUEncode, MD5) to be performed on
text. All of these actions can also be performed on BLOBs to remove
the 32K limit on text variables.

The CONV module demo shows how data can be converted from one format
to another. All data is converted as it is entered.

The ENV module demo shows off some of the functionality of the ENV
module. This functionality makes it easy to get information about the
4D environment, including paths to various important items.

The FILE module demo highlights some of the useful capabilities of the
FILE module. There is even more to the FILE module than what is shown
in the demo!



Tour of the BASh_Demo code:

The easiest way to jump right into the code is to simply look at the
forms in the database. Most of the code driving the demo is in the
form objects on the various forms used. If you're curious how those
forms get displayed, a look at Menu Bar #1 will get you pointed in the
right direction.



Summary:

This demo only scratches the surface of what is possible using the
BASh component. Some of the highlights not shown in the demo include
the DSS, BLOB, STR, and ARR modules. In particular, most developers
rave about the DSS module and the way it lets you program with far
fewer process and interprocess variables. The ARR module includes some
interesting functionality such as a binary search and ordering to
match another array. The BLOB and STR modules give you lots of options
for working with BLOB and Text variables, respectively. The
possibilities are limited only by the developer's imagination!



Troubleshooting:

"There are errors related to the plugin commands."

4th Dimension installs 4D Pack (formerly ACI Pack) and Internet
Commands into the system Mac4DX/Win4DX folder so that they can be
available to all 4D databases. The demo includes all necessary plugins
in its own 4DX folder; this includes 4D Pack. Sometimes, the plugins
in the system 4DX folder may cause resource conflicts with the plugins
in the demo's 4DX folder. You can temporarily remove the conflicting
plugins from the system 4DX folder to see if this is causing the
problem.
