Delphi Charting Walkthrough in Embarcadero

point 1
symbol 2


ProEssentials VCL Charting components are used when creating stand-alone client-side EXEs to be distributed and ran on an end-users machine. This VCL Charting Walk-through includes instructions for Embarcadero Delphi XE7 and should apply to later versions of Delphi. For Builder XE7 Click here for Builder XE7 C++

See the demo...
Best WPF Chart to download, evaluate, and choose for your Financial Scientific Charting.
Best .NET Chart download for Scientific Charting, Engineering Charting.
Hello World - Walk Through - Tutorial

For help finding VCL specific features in our help system, the .Net Reference section is the best source for researching properties. Our help topics show VCL specific syntax in the OCX/VCL header near top of topic.

When installing ProEssentials, the setup program installs the ProEssentials 32 bit DLL into the System32 directory on 32 bit systems. On 64 bit systems, the 32 bit DLL is installed in SysWow64 and the 64 bit DLL is installed in System32.

The setup also installs the VCL files into the C:\ProEssentials9\Delphi directory. The relevant files are:

  • GIGASOFT.DPK : ProEssentials Component Package File
  • PEGRPAPI.PAS : ProEssentials Pascal Header, Declarations
  • PEGVCL.PAS : Graph Component
  • PESGVCL.PAS : Scientific Graph Component
  • PE3DVCL.PAS : 3D Scientific Graph Component
  • PEPSVCL.PAS : Polar Smith Component
  • PEPCVCL.PAS : Pie Chart Component
  • PEGRP32G.DLL : 32 bit Pro DLL
  • PEGRP64G.DLL : 64 bit Pro DLL
  • PEGRPSG.DLL : 32bit Standard DLL
  • PEGRP6SG.DLL : 64bit Standard DLL

The following information demonstrates how to create your first ProEssentials VCL Charting implementation using the Pascal language. It discusses using the VCL components to add interactive scientific charting content to your EXEs. Please see the other charting examples provided within the product/evaluation.

Adding ProEssentials VCL Charts to the Delphi Personality, IDE, and Toolbox...

1) Installing the VCL Charting components into Delphi is accomplished by pointing Delphi to the package file GIGASOFT.DPK.

From the top level Delphi menus, use [File / Close All] to make sure nothing is currently open.

From the top level Delphi menus, use [File / Open Project...] and find GIGASOFT.DPK from Delphi directory where you installed ProEssentials. The default location is c:/ProEssentials9/Delphi

  • 1: Find c:\ProEssentials9\Delphi location
  • 2: Select the DPK file type filter
  • 3: Select "GIGASOFT.DPK" Delphi Package
VCL Chart component adding to Delphi

Once project opens, you will see a project pane as shown to the right. Right click near the top and select Install.

VCL Chart component install into Delphi

The PAS interfaces are compiled and ProEssentials components installed into the "Additional" tab.

VCL charting components in tool paletteVCL charting components in tool palette

After the components are installed into the Delphi IDE, use the [File / Close All] menu item and save the "Gigasoft" project when prompted.

Creating a new project...

2)Use [File / New / VCL Forms Application...]

VCL charting new application

2) When the new project opens, you will be presented the design view of "Form1 - Unit1.pas".

VCL Chart component walkthrough in Delphi
Adding ProEssentials VCL Chart path to the project...

3) Use the [Tools / Options...] menu to open the "Delphi Options" Dialog. Add "c:\ProEssentials9\Delphi" to the "Library path" field.

Repeat the library path setting for 64-bit Windows Platform if 64 bit is of interest.

VCL Chart component adding path to DelphiVCL Chart component add path in Delphi
Adding ProEssentials VCL Chart to Form...

4) Use the top menus, [View / Tool Palette...] menu to show the Tool Palette and click the PEGraph control from the Additional ToolBox.
VCL Chart PEGraph
Then click and drag a rectangle selection on Form1's canvas. Size the vcl chart control as needed.

The adjacent image shows what you see. This represents the default state of a ProEssentials Graph.

The default state has one subset with four data points. In the course of constructing your own charts, you'll set the properties Subsets and Points which define the quantity of data your chart will hold. You'll then pass data via the YData[subset, point] two dimensional property array. The following section shows example code of passing data. Note, if we were constructing a Scientific Graph (PESGraph1), we'd also set XData[subset, point].

ProEssentials uses the terms Subsets and Points but you can think of these as Rows and Columns. Passing data is as simple as filling each Subset with Points worth of data.

VCL Chart Window

To automatically maintain Form1 client area with chart, we can set the align property. Use the top menus, [View / Object Inspector] menu to show the Object Inspector and adjust the Align property for the PEgraph1 control to "alClient".

VCL Chart Align PEGraph1 to Window
Unit1.Pas [Code]...

5) Using the Object Inspector, select "Form1" from top drop down listbox, select "Events" tab and find the "OnShow" event and double click the OnShow event.

VCL Chart Form OnShow event

Enter the code as shown below. You may copy and paste, but also try to write a few lines that use enums to see Delphi's intellisense. For example typing PEGraph1.PlottingMethod should prompt the ePlottingMethod enum. If this does not work, or Pegvcl and PEGraph1 is not recognized, the Library Path setting set above likely had a mistake. Make a note of the enum, or one can guess that the enum will start with 'e' followed by property name, for example, 'ePlottingMethod'.

// Simple to code = simple to implement and maintain //

PEGraph1.MainTitle := 'Hello World';
PEGraph1.SubTitle := '';

PEGraph1.Subsets := 2; // Subsets = Rows //
PEGraph1.Points := 6; // Points = Cols //
PEGraph1.YData[0, 0] := 10; PEGraph1.YData[0, 1] := 30;
PEGraph1.YData[0, 2] := 20; PEGraph1.YData[0, 3] := 40;
PEGraph1.YData[0, 4] := 30; PEGraph1.YData[0, 5] := 50;
PEGraph1.YData[1, 0] := 15; PEGraph1.YData[1, 1] := 63;
PEGraph1.YData[1, 2] := 74; PEGraph1.YData[1, 3] := 54;
PEGraph1.YData[1, 4] := 25; PEGraph1.YData[1, 5] := 34;

PEGraph1.PointLabels[0] := 'Jan'; PEGraph1.PointLabels[1] := 'Feb';
PEGraph1.PointLabels[2] := 'Mar'; PEGraph1.PointLabels[3] := 'Apr';
PEGraph1.PointLabels[4] := 'May'; PEGraph1.PointLabels[5] := 'June';
PEGraph1.SubsetLabels[0] := 'For .Net Framework';
PEGraph1.SubsetLabels[1] := 'or MFC, ActiveX, VCL';
PEGraph1.YAxisLabel := 'Simple Quality Rendering';
PEGraph1.SubsetColors[0] := PEGraph1.PEargb(60, 0, 180, 0);
PEGraph1.SubsetColors[1] := PEGraph1.PEargb(180, 0, 0, 130);

// Quick way to set many colors via QuickStyle property //
PEGraph1.BitmapGradientMode := false;
PEGraph1.QuickStyle := gLightShadow;

PEGraph1.GraphPlusTable := gGraphPlusTable;
PEGraph1.DataPrecision := gNoDecimals;
PEGraph1.LabelBold := true;
PEGraph1.PlottingMethod := gBar;
PEGraph1.GradientBars := 8;
PEGraph1.BarGlassEffect := true;
PEGraph1.LegendLocation := gLegendLeft;
PEGraph1.DataShadows := gWithThreeD;
PEGraph1.FixedFonts := true;
PEGraph1.FontSize := gLarge;

// You will likely set these for all charts //
PEGraph1.PrepareImages := true;
PEGraph1.CacheBmp := true;
PEGraph1.RenderEngine := gDirect2D;
PEGraph1.AntiAliasGraphics := true;
PEGraph1.AntiAliasText := true;

// Setting this True will enable Data HotSpots, //
// but we need to add code to respond to hot spot event //

PEGraph1.AllowDataHotSpots := true;

// Always finish your property settings with this setting //
PEGraph1.PEactions := gReinitAndReset;

Your project code should look similar to...

VCL Chart example code
Adding a DataHotSpot event...

6) The code above enabled the DataHotSpot event, so we should place some appropriate code in the DataHotSpot event.

Using the Object Inspector, select "PEGraph1" from top drop down listbox, select "Events" tab and find the "OnDataHotSpot" event and double click the OnDataHotSpot event.

VCL Chart adding hotspot event

Add the following code to the TForm1.PEGraph1DataHotSpot event.

ShowMessage("Subset " + SubsetIndex.ToString() + ", Point " + PointIndex.ToString() + " with a value of " + format("%f", [PEGraph1.YData[SubsetIndex, PointIndex]]) )


7) Save, Build All, and run the project. Your project will show an image as follows. Move the mouse over a bar and click to trigger the DataHotSpot event.

This completes this walkthrough.

Please read the remaining sections within Chapter 4 and review the demo code and documentation that's installed with the eval/product.

Once installed, the demo program can be accessed via shortcut...

Start / ProEssentials v9 / PeDemo

Note that our main charting demo is replicated in WPF and Winform C#.NET,  VB.NET, VC++ MFC, Delphi, Builder all accessible from where you installed ProEssentials.   These are great for modifying an existing demo to test potential modifications before implementing within your applications.

VCL Chart within your Delphi custom software!

Thank you for researching. Please contact our engineers if you have a question.

VCL Chart Delphi Charting for Scientific Financial Engineering Embedded

Our Mission

Your success is our #1 goal by providing the easiest and most professional benefit to your organization and end-users.

We are Engineers

ProEssentials was born from professional Electrical Engineers needing their own charting components. Join our large list of top engineering companies using ProEssentials.

Thank You

Thank you for being a ProEssentials customer, and thank you for researching the ProEssentials charting engine.