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.

When starting the interpreted version of the demo, you will encounter
a Debug window.  The TRACE command is placed before any code is run to
allow you to quickly enter the database without having to wait for all
of the startup code to run.



To use BASh_Demo:

Open the database structure ("BASh_Demo.int" for interpreted or
"BASh_Demo.comp" for compiled) with 4D 6.7.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.
