Welcome

Welcome to EhLib Help

EhLib contains components and classes for Borland Delphi versions 7, 9,

Developer Studio 2006, Delphi 2007, Embarcadero RAD Studio 2009-XE10.1, Lazarus.

EhLib supports VCL framework (Delphi) (Win32, Win64) and LCL.Win32 framework (Lazarus).

Most advanced component is DBGridEh, component to operate tabular data in DataSet.

Library includes more than 30 components in total.

To start using EhLib, you must install the library into the RAD Studio IDE.

If EhLib is not installed in IDE then read next section to install the library -

Install EhLib in IDE .

You can run the executable demo files without installing the library to see its main features -

List of demo executables .

If you've used previous versions of the library, then you can read a summary of the new features and changes in the file (history-eng.html).

Read more information about new features in the every new version in this section -

EhLib history

You can watch EhLib video helps in the next section -

EhLibVideo

Table of contents:

Welcome

Installing EhLib in IDE

List of components and classes

Demo projects

Executable demos

EhLib history

Documentation

Technical support

Order

License information

Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation

Copyright © 2017 by EhLib Dev Team. All Rights Reserved.


Installing EhLib in IDE

There are several ways to install the library into the Integrated Development Environment (IDE).

  • Installing library through executable program - Installer.Exe
  • Installing library through the online catalog of components and libraries - GetIt Package Manger
  • Manual installation

Installing library through executable program - Installer.Exe

Run EhLibInstaller.exe program from "Installer" folder to install EhLib in Delphi/C++ Builder IDE. The program creates folders to keep EhLib binary and other requared files, copies requared files to created folders, compiles packages, register packages in IDE and write requared paths in registry.

Installing library through the online catalog of components and libraries - GetIt Package Manger

“GetIt” is the new Package Manager that is part of the RAD Studio XE8 IDE. It greatly simplifies discovering, installing, and updating third party components and libraries for Delphi and C++Builder.

In the IDE select Menu Tools - GetIt Package Manager.

Find EhLib in the list of libraries.

Press install under the EhLib card.

Manual installation

Follow next instructions to install files from EhLib archive:

For RAD Studio XE2-XE10 (Delphi):

Uninstall previous or evaluation version of EhLib (Old version) from Delphi IDE. Remove or copy to other directory files of old version to prevent crossing old and new version of EhLib (Including EhLib.bpl, EhLib.dcp or EhLibXX.bpl, EhLibXX.dcp, EhLibDataDriversXX, DclEhLibDataDriversXX files).

Create new folder where source code and binary files will be kept (For example, C:\RAD_Studio_XE2\Components\EhLib).

Hereinafter this folder will be call as "EhLib folder".

Create new subfolder Lib in the "EhLib folder".

Copy files from folders Common and RADStudioXE2 of EhLib archive into the folder "[EhLib folder]\Lib" as that all files were in one folder -"Lib".

Run RAD Studio IDE and Open EhLibProjGroup160.groupproj file from [EhLib folder]\Lib. Compile all packages of Prject Group.

Install DclEhLibXX.Dpk and DclEhLibDataDriversXX.Dpk packages in IDE (Use Project/Install menu).

Consistently compile packages EhLibXX.Dpk and EhLibDataDriversXX.Dpk in next modes:

Win32\Debug

Win64\Release

Win64\Debug

After compilation there should be created subfolders a Win32\Release, Win32\Debug, Win64\Release, Win64\Debug

in the "[EhLib folder]\Lib" folder.

Copy the *. dfm and *. res files from the "[Folder EhLib]\Lib" folder into the each of the next folders:

Win32\Release, Win32\Debug, Win64\Release, Win64\Debug

In the RAD Studio IDE add next paths:

"[EhLib folder]\Lib\Win32\Release" path in the "Library path" for the Win32 platform.

"[EhLib folder]\Lib\Win32\Debug" path in the "Debug dcu" for the Win32 platform.

"[EhLib folder]\Lib\" path in the "Brasing path" for the Win32 platform.

"[EhLib folder]\Lib\Win64\Release" path in the "Library path" for the Win64 platform.

"[EhLib folder]\Lib\Win64\Debug" path in the "Debug dcu" for the Win64 platform.

"[EhLib folder]\Lib\" path in the "Brasing path" for the Win64 platform.

--

Copy DEMOS folder from the Archive EhLib to the "[EhLib Folder]".

Open and compile any demo project for test.

For Delphi 5.x - 7.x, Delphi 9.X Win32, BDS2006 Win32, Delphi2007, CodeGear RAD Studio 2009:

Uninstall previous or evaluation version of EhLib (Old version) from Delphi

IDE. Remove or copy to other directory files of old version to prevent

crossing old and new version of EhLib (Including EhLib.bpl, EhLib.dcp or

EhLibXX.bpl, EhLibXX.dcp, EhLibDataDriversXX, DclEhLibDataDriversXX files).

Create directory from which you will install EhLib library

('EhLib directory') (for example, C:\Delphi[X]\EhLib).

Copy files from Common and Delphi[X] | BDS2006 directories of the EhLib

archive to 'EhLib directory'.

By default Delphi (5, 6 and 7) places compiled files to the

<Delphi path>\Projects\Bpl directory and this directory already present

in the search PATH. But if you overwrite default BPL directory then you need

put compiled EhLibXX.BPL file into directory that is accessible

through the search PATH (i.e. DOS "PATH" environment variable; for example,

in the Windows\System directory).

Add, (if needed) 'EhLib directory' in Tools->Environment Options->Library->

Library Path (For Delphi 9 in Tools->Options->Environment Options->

Delphi Options->Library - Win32->Library Path).

Use "File\Open..." menu item of Delphi IDE to open the runtime package -

EhLibXX.Dpk.

In "Package..." window click "Compile" button to compile the package.

After that open and compile EhLibDataDriversXX.Dpk.

After compiling run-time packages install design-time

packages DclEhLibXX.BPL and DclEhLibDataDriversXX.BPL into the IDE.

For that use "File\Open..." menu item to open design-time package

DclEhLibXX.Dpk.

In "Package..." window click "Compile" button to compile the package

and then click "Install" button to register EhLib components on

the component palette.

Open and install DclEhLibDataDriversXX.Dpk package.

EhLib components have to appear on pages 'EhLib Components' and 'EhLib Controls' of components palette.

Created with the Personal Edition of HelpNDoc: Easily create PDF Help documents


List of components and classes

The Library contains several components and objects.

TDBGridEh component:

TDBGridEh provides all functionality of TDBGrid and adds several new features as follows:

Allows to select records, columns and rectangle areas.

Special titles that can correspond to several/all columns.

Footer that is able to show sum/count/other field values.

Automatic column resizing to set grid width equal client width.

Ability to change row and title height.

Allows automatic broken of a single line long title and data row

to a multiline.

Title can act as button and, optionally show a sort marker.

Automatically sortmarking.

Ability to truncate long text with ellipsis.

Lookup list can show several fields.

Incremental search in lookup fields.

Frozen columns.

DateTime picker support for TDateField and TDateTimeField.

Allows to show bitmaps from TImageList depending on field value.

Allows to hide and track horizontal or vertical scrollbars.

Allows to hide columns.

Allows to show 3D frame for frozen, footer and data rows.

Allows to draw memo fields.

Multiline inplace editor.

Proportional scrolling independently of sequenced of dataset.

Automatically show checkboxes for Boolean fields. Allows to show

checkboxes for other type of fields.

Has a procedures to save and restore layout (visible columns, columns

order, columns width, sortmarkers, row height) in/from registry or ini file.

Allows to show hint (ToolTips) for text that don't fit in the cell.

Allows to export data to Text, Csv, HTML, RTF, XLS and internal formats.

Allows to import data from Text and internal formats.

Can sort data in various dataset's.

Can filter data in various dataset's.

When DBGridEh is connected to DataSet of TMemTable type it allows:

To view all data without moving active record.

To display a tree-type structure of TMemTable records.

To form list of values in dropdown list of SubTitle filter automatically.

To create grouping records basing on the selected coulmns.

TDBVertGridEh component:

Component to show one record from dataset in Vertical Orientation.

Have a special column to show Field Captions

Can customize inplace editor and data of the cell like in DBGridEh.

TDBLookupComboboxEh component

Provides all functionality of TDBLookupCombobox and adds

several new features as follows:

Can have flat style.

Allows assign values as to KeyValue property just and to

display Text property.

Allows to type (assign) values to Text property not contained in data list

(Style = csDropDownEh).

Allows to hold KeyValue and Text as not affecting to each other values.

Take effect when KeyField, ListField, ListSource, DataField and DataSource

properties is empty.

Drop down list can:

Show titles,

Have sizing grip,

Automaticaly set width as sum of DisplayWidth of the list fields (Width = -1),

Automaticaly drops on user pressed the key.

Edit button can:

Show DropDown, Ellipsis or Bitmap image.

Have specified width.

Have additional events: OnKeyValueChanged, OnButtonClick.

TDBSumList component

This component is intended for totaling sums and amounts of records in a TDataSet with dynamic changes. Component keeps a list of TDBSum

objects, which contains types of group operations (goSum or goCount) and name sum field (goCount name of field is unnecessary).

TPrintDBGridEh component

TPrintDBGridEh provides properties and routines for preview and print of TDBGridEh component with several features:

Ability to expand rows vertically until all text is printed.

Ability to scale grid to fit it to page width.

Ability to print/preview title for grid.

Ability to print/preview page header and page footer where you can

specify macros for current page, current date, current time and/or static

text.

Automatically print/preview multiselected area of TDBGridEh if it area is not empty.

Ability to print/preview rich text before and after grid.

TPreviewBox component

TPreviewBox lets you create a customizable runtime preview.

TPrinterPreview object

TPrinterPreview lets you to record printable data in buffer for following output them on screen and to printer. TPrinterPreview have all functions and

properties as in TPrinter object. You can use TPrinterPreview object similarly of TPrinter except some details. In TPrinter Printer.Canvas.Handle and

Printer.Handle is the same but in TPrinterPreview PrinterPreview.Canvas.Handle represent the metafile in that is recored the data and PrinterPreview.Handle represent Printer.Handle. That is mean that you have to use PrinterPreview.Canvas.Handle for draw operation (DrawText, DrawTexteEx, e.t.c.) and use PrinterPreview.Handle in functions that return information about printer facilities (GetDeviceCaps, e.t.c.). Global function PrinterPreview returns default PrinterPreview object and shows data in default preview form.

TDBEditEh component

represents a single or multi-line edit control that can display and edit a field in a dataset or can works as non data-aware edit control.

TDBDateTimeEditEh component

represents a single-line date or time edit control that can display and edit a datetime field in a dataset or can works as non data-aware edit control.

TDBComboBoxEh component

represents a single or multi-line edit control that combines an edit box with a scrollable list and can display and edit a field in a dataset or can

works as non data-aware combo edit control.

TDBNumberEditEh component

represents a single-line number edit control that can display and edit a numeric field in a dataset or can works as non data-aware edit control.

TPropStorageEh, TIniPropStorageManEh, TRegPropStorageManEh

components Components realize technology to store component properties to/from settings storage such as ini files, registry etc.

TMemTableEh component

dataset, which hold data in memory. Its possible consider as an array of records.

Besides, it:

Supports a special interface, which allows DBGridEh component to view all data without moving active record.

Allows fetch data from TDataDriverEh object (DataDriver property).

Allows unload change back in DataDriver, operative or postponed (in dependencies of the CachedUpdates property).

Allows to create a master/detail relations on the client (filtering record) or on the external source (updating parameters [Params] and requiring data

from DataDriver).

Allows once-only (without the dynamic support) sort data, including Calculated and Lookup field.

Allows create and fill data in design-time and save data in dfm file of the Form.

Allows keep record in the manner of trees. Each record can have record elements-branches and itself be an element to other parental record. Component TDBGridEh supports to show the tree-type structure of these records.

Allows to connect to the internal array of other TMemTableEh (via ExternalMemData property) and work with its data: sort, filter, edit.

Has interface for requesting list of all unique values in one column of records array, ignoring local filter of the DataSet. TDBGridEh uses this property for automatic filling a list in DropDownBox of the subtitle filter cell.

TDataDriverEh component

carry out two tasks:

Delivers data to TMemTableEh.

Processes changed records of TMemTableEh (writes them in other dataset, or call events for processing the changes in program).

TSQLDataDriverEh

DataDriver that have four objects of the TSQLCommandEh type: SelectCommand, DeleteCommand, InsertCommand, UpdateCommand, GetrecCommand.

TSQLDataDriverEh can not transfer queries to the server but it call global (for application) event which it is necessary to write to execute SQL expressions on the server.

TBDEDataDriverEh, TIBXDataDriverEh, TDBXDataDriverEh and TADODataDriverEh Components.

These are SQLDataDrivers that can deliver queries to the server using corresponding drivers of the access to datas.

Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation


Demo projects

Demonstration projects are located in the Demos directory of the EhLib folder.

EhLib\Demos (Folder)

MainDemo\Project1.dpr

The main Demo project of the library . Shows all the main features of the library, including:

  • The Grid with supporting of «MultiTitle», sorting, filtering, Lookup fields, columns-Checkboxes, footers with displaying of sums.
    Master / Detail
  • Edit controls such as LookupComboBoxEh, DBDateTimeEditEh, DBNumberEditEh, DBEditEh, DBComboBoxEh.
  • Display pictures form Blob fields and text from Memo fields.
  • Displaying a Detail Panel for each row in the grid.
  • Displays row a RowPanel mode, when each field can by located in an predetermined location, but not one next the other.
  • Displaying data as a tree structure when Grid is connected to a MemTableEh.
  • Grouping records with the ability to display summing rows for the group when Grid is connected to the MemTableEh.
  • Displaying the background images in the grid.
  • Using the search bar for searching and filtering in all the fields of the grid.
  • Adjusting a grouping rows to display data in a MS Outlook style.
  • Import / Export of the data to and from / to various formats: Rtf, Txt, Xls, Html, Csv.
  • Save / load data to / from MemTableEh to / from a disk file.
  • Restructuring MemTableEh data without data loss.
  • Working with large tables in the MemTableEh.

Data (Folder)

The Data folder contains the database files for the Demo projects.

  • employee.gdb, employee.gbk Files is a files of InterBase DB.
  • Biolife.mdb - Sample database with graphical information stored in Blob fields.
  • cities10000.mdb - Example tables with many records:> 10000 records and> 100,000 records.

CalendarPickerEh

CellDataIsLink

ControlLabels.SimpleDemo

An Example shows the possibility of ControlLabel for Edit controls of EhLib.

DataDriver.ADO.SimpleDemo

The simple example of using the ADODataDriverEh component in the set of:

DBGridEh-DataSource-MemTableEh-ADODataDriverEh-ADOConnectionProviderEh

(The example uses MS Access database)

DataDriver.BDE.SimpleDemo

The simple example of using the BDEDataDriverEh component in the set of:

DBGridEh-DataSource-MemTableEh-BDEDataDriverEh-BDEConnectionProviderEh

(The example uses InterBase database in Data\employee.gdb)

DataDriver.DBX.SimpleDemo

The simple example of using the DBXDataDriverEh component in a set of:

DBGridEh-DataSource-MemTableEh-DBXODataDriverEh-DBXConnectionProviderEh

(The example uses InterBase database in Data\employee.gdb)

DataDriver.Events

The example shows how to use the DataDriverEh events to redistribute data delivered from the server. In this example in particular the DataTime field is divided into Data and Time fields.

DataDriver.IBX.SimpleDemo

The simple example of using the IBXDataDriverEh component in a set of:

DBGridEh-DataSource-MemTableEh-IBXDataDriverEh-IBXConnectionProviderEh

(The example uses InterBase database in Data\employee.gdb)

DataDriver.Macros

The example demonstrates how to use properties DataDriverEh.MacrosVars.Macros to dynamically build SQL expressions.

DataDriver.SpecMacros

The example demonstrates how the properties DataDriverEh.MacrosVars.SpecMacros for sorting and filtering data in the grid.

DataSetImpExp

DBGridEh.BackgroundImage

The example demonstrates the properties of the work DBGridEh.BackgroundData to display a background image in a grid.

DBGridEh.CellButtons

The example demonstrates how to use the DBGridEh events to change the information displayed in the data cells.

DBGridEh.CentralPopupMenu

DBGridEh.CustomizeDataDrawing

DBGridEh.CustomTitleDraw

DBGridEh.DataGrouping

The example demonstrates how to group records with the ability to display records by summing the group to connect to the Grid MemTableEh.

DBGridEh.DirTree

The example demonstrates working with grids and MemTableEh when working in a tree structure with the ability to dynamically generate the branches of trees as opening branches of the tree.

DBGridEh.DrawBlobImagesInCell

The example shows how to display the image data into a grid cell form Blob fields.

DBGridEh.ExportToXlsx

DBGridEh.ExtendTitle

DBGridEh.ExtendVerLines

The example demonstrates how to use such properties of the Grid as:

DBGridEh.GridLineParams.DataHorzLines, DBGridEh.GridLineParams.ColorScheme, DBGridEh.GridLineParams.VertEmptySpaceStyle.

DBGridEh.HideDuplicates

The example demonstrates how an event TColumnEh.

OnGetHideDuplicatesValue to suppress the duplicate values ​​in a column.

DBGridEh.LoadingStatus

DBGridEh.MemTableBookmarks

DBGridEh.MultiTitle

DBGridEh.SearchPanel

The example demonstrates how to use search bar to search and filter data in a grid.

DBGridEh.SortNFilter.ADOQuery

DBGridEh.TreeView

The example demonstrates working of the grid and MemTable in tree mode.

DBGridEh.TreeView.Solutions

The example shows several ways to download data in the TMemTableEh when it is in the TreeView mode. The example shows how to load node records dynamically on expanding parent node.

DBVertGridEh.CustomizePrinting

DBVertGridEh.RowCategoryGrouping

DBVertGridEh.SearchPanel

DBVertGridEh.SimpleDemo

DEMO1

Comprehensive demo project. Demonstrates the many components and functions. The project was used as a major demonstration project in previous versions of the library. Old version.

DEMO5_0

Comprehensive demo project. Demonstrates the basic features that are introduced in version 5.

DropDownForms

DynProps

The example shows how to operate with a collection of dynamic properties in the components of the library. In this example it is shown how to use dynamic properties of the columns in the grid.

EditButton.DrawNoBack

LookupCombo.LookupFilter

MDIApp

Complex example. MDI forms. Table of DBTest database is used.

MemTableEh.LifeRestructure

The example demonstrates the restructuring of MemTableEh without data loss.

MemTableEh.MasterDetailType3

The example demonstrates how to MemTableEh mode Master / Detail.

ObjectInspectorForm.SimpleDemo

PivotGridEh.SimpleDemo

A simple example shows how to use TPivotGridToolBoxEh, TPivotDataSourceEh and TPivotGridEh components.

PlannerEh.MainDemo

Solutions

Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation


Executable demos

Demonstration executable demo files are located in the Demos\Bin directory of the EhLib folder.

These files are only available in the edition - "EhLib Evaluation".

EhLib\Demos\Bin (Folder)

For "EhLib source included" and "EhLib without source" edition this folder is empty.

You can download executable demo files as a separate archive from EhLib home page:

www.ehlib.com/downloads

Created with the Personal Edition of HelpNDoc: Free PDF documentation generator


History

Read summary information of the new features and changes in the file (history-eng.html).

Created with the Personal Edition of HelpNDoc: Full-featured EPub generator


Documentation

Read the full documentation on the work of the components of the library in the file

EhLib\Hlp\ENG\EhLib Users guide.doc

Created with the Personal Edition of HelpNDoc: Free Web Help generator


Technical support

EhLib forum: forum.ehlib.com/en

EhLib support via e-mail: support@ehlib.com

EhLib web Request support: www.ehlib.com/en/feedback

EhLib Video: www.youtube.com/user/EhLibVideo

Created with the Personal Edition of HelpNDoc: Easily create Web Help sites


Order

The library is available in three editions.

EhLib evaluation - Free evaluation version. No time restriction. At run-time It periodically displays a message stating that you are using the Evaluation version of the library.

EhLib without source: see prices on EhLib home page

EhLib source included: see prices on EhLib home page

Created with the Personal Edition of HelpNDoc: Benefits of a Help Authoring Tool


License information

license.txt

Created with the Personal Edition of HelpNDoc: Easily create Qt Help files