
                   FWH/xHb usage of RMCHART from rmchart.com

RmChart by Rainer Morgen of Frankfurt, Germany, is a powerful and elegant
free tool for creating a wide variety of graphs. It can be implemented in
your app either via OCX or DLL. 

Of course, before you can use any of this you must first download the Rmchart 
package from Rmchart.com in order to get Rmchart.lib and agree to the author's
very liberal free-usage terms. After you've installed Rmchart, be sure to use 
its RMCdesigner.exe to see samples of many types of graphs and also to see how 
you can use RMCdesigner to create graphs that you can later load into FWH apps
to update with your own data.

OCX...

If you prefer to use and OCX implementation, then unpack the RMCTgraphX.zip
and the RMCocx2L.zip (with English translations of 3 key files in the first
zip).

FWH or no FWH, that is the question...

RmcDemo.prg, here, is a FiveWin for Harbour (FWH) implementation of RMChart.
However, the FWH-specific code in RmcDemo is concentrated in just a small part
of the prg comprising the basic framework. If you don't use FWH, then you can
use RmcText.prg, an xHarbour-only app framework instead, by copying most of the
functions from RmcDemo.prg to RmcTest.prg. Currently, RmcTest.prg contains a
function, mnSimpleBars(), that demos only one of the RMChart graphs. To use 
RmcTest.prg for the whole demo, mnMagnifier(), mnShowMagnification() and 
TestChart() contain code requiring use of dialogs which RmcTest.prg doesn't 
currently have. I'm an FWH user, so I didnt' bother doing this code transfer.

DLL...

Now for more info on the DLL implementation...

RmcDemo.prg (and RmcDemo.exe) shows the DLL implementation of many RMChart
functions in FWH/xHb. It also shows how to utilize preexisting .rmc graph
files that were created with RMCdesigner.exe (included in the free Rmchart 
download from Rmchart.com). This demo of Rmchart functions is adapted from
a VB6 program previously created to demo RMChart that is provided with the
product download from RMChart.com. It demonstrates how to code most of the 
key Rmchart design functions, though they can be easily implemented by using
RmcDesigner.exe as an IDE.  This great design tool is included with the
free Rmchart download. With RmcDesigner, you save your graph design
in an .rmc file, which you load into your app and then plug appropriate data
into it at runtime via the RMC_SetSeriesData() function. You can see how to
do this in the TestChart() function of RmcDemo.prg.

   Files in this package to use in your FWH app in order to use the
RmChart.dll include the following:

   RmcDemo.prg  - The FWH/xHb demo app based on a prior VB6 demo, with a large
                  number of coding examples showing how to use RMChart 
                  functions.

   RmcDemo.exe.xbp - xHarbour Builder project file (for commercial vers. of xHb)

   RmcDemo.exe  - Shows demos of 15 different types of graphs, many with an 
                  elegant 3D appearance that would dress up any app, including:
                  * both vertical and horizontal 3D barcharts
                  * line graphs
                  * segmented pie charts, pyramid charts and donut charts
                  * any of the above with transparency on top of a .jpg
                    background
                  * any of the above with a watermark logo behind the graph
                  * animated real-time line graphs - be sure to see the
                    example: "Software Developers' Life Expectancy"
                  * plus much more

   RMChart.ch   - must use in compiling
   RMChart.dll  - runtime library
   RMChart.chm  - documentation and help file
   RMChart.inc  - original VB function declarations showing data types

   RMC4xHb.prg  - all the DLLxHb commands to access the Rmchart.dll funcs

   DLLxhb.ch    - required by the above prg

   Funclist.txt - a complete list of over 160 Rmchart functions

   Rmcfuncs.prg - the xHb function calls to RMC that can be used in xHb apps,
                  and which access the DLLxHb commands in Rmc4xhb.prg . Just
                  copy and paste into your app as needed. Documentation is in
                  the RMChart.chm help file that ships with RMChart.

   RmcTest.prg  - a barchart test without FWH, using only basic winapi and
                  xHb - useful for testing functions isolated from FWH,
                  to ensure FWH is not an issue when debugging an Rmchart
                  programming problem. (So far, FWH has proved not to be an 
                  issue.) For users of a GUI other than FWH with xHarbour,
                  this program could be used as an interim framework for 
                  transferring nearly all of the code from RmcDemo.prg into 
                  a non-FWH version. Though this prg has a main window and
                  a menu system, it lacks dialog boxes used as non-mdi child
                  windows in RmcDemo to demonstrate some RMChart functions
                  that require a second subsidiary window/dialog, so as given
                  here, it could provide a framework for about 90% of RmcDemo.

   RmcTest.exe.xbp - xHarbour Builder project file

   RmcTest.exe  - the working test executable


   <several>.rmc - charts design files. Of these, "Simplebar2.rmc" and
                  "4_regions_B.rmc" are designs with no data. They are used to
                  show how to import a predesigned graph into your program and
                  then load your data into it at runtime.  See this in 
                  Rmctest.prg's TestChart().

   <several>.csv - stock markets performance data to demo how to import file
                  data into graphs ("csv" = Comma Separated Values text file)

   TRMChartX.zip - the original OCX demo files

   RMCOCX2L.zip - the OCX prg files with all doc comments in 2 languages,
                  the original Spanish and an English translation.

Many thanks to both Ron Pinkas and Antonio Linares for their help in getting 
the RMCDemo.prg to work properly.

WARNING: Only the graph functions included in RmcDemo.prg have been tested
in FWH and xHb, so use at your own risk.  Also, some magnifier and scrolling 
functions mentioned in RmcDemo.prg don't work yet in FWH/xHb .  
Someone more expert than I in working with the Windows API will have to
figure out how to get this stuff (originally designed for VB6) to work in xHb.
 

                - Roger Seiler April 10, 2008



