EhLib 9.2 Build 9.2.027 source included version.
-------------------------------------------------

Библиотека содержит компоненты и классы для Borland Delphi 
версий 7, 8 & 9 , Borland Developer Studio 2006, CodeGear Delphi 2007,
RAD Studio 2009, Embarcadero RAD Studio 2010,
RAD Studio XE - XE10.2

ОГЛАВЛЕНИЕ
----------
0. С чего начать.
1. Обзор
2. Установка библиотеки
3. Установка файлов помощи
4. Демонстрационные программы
5. Регистрация и цены
6. Контакты


0. С чего начать.
-----------------

Начните обзор библиотеки EhLib с основного демонстрационного проекта
.\Demos\Bin\MainDemo.Exe.
(Скомпилированные Demo файлы доступны в оценочной Evaluation версии библиотеки)

Если вы уже использовали предыдущие версии библиотеки, то вы можете 
прочитать краткую информацию о новых возможностях и изменениях 
в файле history-rus.html.

  Более подробно с новыми возможностями этой версии библиотеки можно 
  ознакомиться в файле - About EhLib 9.2 Rus.doc

Чтобы установить эту версию библиотеки в IDE, используйте установочную программу
.\Installer\EhLibInstaller.exe 

Если на этапе инсталляции возникнут проблемы, напишите письмо в тех. поддержку 
на адрес support@ehlib.com
Вы также можете установить файлы библиотеки в IDE вручную по описанию в 
разделе 2. Установка библиотеки

После инсталляции проверти работоспособность всех установленных компонент.
Для этого откройте в IDE, скомпилируйте и запустит главный демонстрационный проект
библиотеки
.\Demos\MainDemo\Project1_XE2.dpr

Полную инструкцию по работе с компонентами библиотеки смотрите в файле
.\Hlp\RUS\"EhLib - Руководство разработчика.doc"

Про версию EhLib под Lazarus читайте в файле .\Lazarus<*>\readme.txt

1. Обзор
--------

Библиотека содержит несколько компонентов и объектов.

КОМПОНЕНТ TDBGridEh
TDBGridEh обеспечивает полную функциональность TDBGrid и добавляет некоторые 
новые возможности, такие как:
   Позволяет выделять записи, столбцы и прямоугольные области.
   Специальные надзаголовки столбцов, которые могут располагаться над 
     несколькими столбцами.
   Нижний колонтитул (footer), позволяющий отображать сумму/количество/др. 
     значений полей.
   Автоматическое изменение размеров столбцов подгона ширины грида под ширину
     окна вывода.
   Возможность изменения высоты строк и заголовков.
   Позволяет автоматически переносить однострочные заголовоки столбцов и 
     данные в строке на многострочные.
   Заголовок столбца может вести себя как кнопка и, опционально, как маркер 
     сортировки.
   Возможность отсечения длинного текста с отображением многоточия.
   Lookup-список может отображать несколько полей.

   Инкрементная подстановка текста в lookup-полях.
   Фиксация непрокручиваемых столбцов в левой и правой части грида.
   Выпадающий календарь/редактор времени поддерживается для TDateField и 
     TDateTimeField.
   Позволяет отображать картинки из TImageList, зависящие от значения поля.
   Позволяет прятать и отслеживать положение вертикальных и горизонтальных 
     полос прокрутки.
   Позволяет скрывать столбцы.
   Позволяет отображать 3D-рамку для закрепленных столбцов(frozen), footers и 
     строк данных.
   Позволяет отображать memo-поля.

   Пропорциональный скроллинг зависящий от значения курсора текущей записи в 
     dataset'е.
   Автоматическое отображение CheckBox'ов для булевых полей. Позволяет 
     отображать CheckBox'ы для других типов полей.
   Имеет процедуры для сохранения/восстановления расположения (видимые столбцы, 
     порядок следования столбцов, их ширины, порядок сортировки, высоту 
     столбца) в/из реестра или INI-файла.
   Позволяет отображать всплывающие подсказки (ToolTips) для текста, не 
     помещающегося в ячейку.

   Позволяет экспортировать данные в Text, Csv, HTML, RTF, XLS и внутренние 
     форматы.
   Позволяет импортировать данные из Text и внутренних форматов.
   Может сортировать данные в различных dataset'ах.
   Может фильтровать данные в различных dataset'ах. 
   При подключении к DataSet'у типа TMemTableEh может:
     Просматривать все данные, не перемещая активную запись.
     Отображать древовидную структуры записей TMemTable'а.
     Автоматически формировать списки значений для выпадающих списков в 
       SubTitle фильтре.


КОМПОНЕНТ TDBLookupComboboxEh обеспечивает полную функциональность 
   TDBLookupCombobox и добавляет некоторые новые возможности, такие как:

   Может иметь плоский вид.
   Позволяет присваивать значение как свойству KeyValue так и свойству Text.
   Позволяет вводить текст отсутствующий в списке данных (Style = csDropDownEh).
   Позволяет хранить свойства KeyValue и Text как независимые друг от друга 
    значения. Это возможно когда свойства KeyField, ListField, ListSource, 
    DataField и DataSource пустые.
   Выпадающий список может:
     Отображать заголовки,
     Отображать специальную непрокручиваемую  строку в верхней части списка.
     Позволяет менять размеры мышкой.
     Автоматически устанавливать ширину как сумму DisplayWidth всех отображаемых 
      полей.

КОМПОНЕНТ TDBSumList
Этот компонент предназначается для подсчета сумм по записям и количества
  записей в TDataSet'е с динамическим отслеживанием изменений. Не рекомендуется
  пользоваться этим компонентом если DataSet имеет встроенные возможности
  подсчета сумм. Такие датасеты делают это быстрее и надежнее отслеживают
  изменения. TMemTableEh и TClientDataSet имеют встроенную возможность
  подсчета сумм.

КОМПОНЕНТ PrintDBGridEh 
Компонент предоставляет свойства и методы для предварительного 
  просмотра и печати компонента TDBGridEh со следующими возможностями:

  Возможность вертикального расширения строк, пока весь текст не вместиться 
   в область печати.
  Возможность масштабирования grid"а для заполнения по ширине страницы.
  Возможность печати заголовка grid"а.
  Возможность печати верхнего и нижнего колонтитулов страницы, в которых вы 
   можете указать макросы для отображения номера текущей 
   страницы, текущей даты, текущего времени и/или статического текста.

КОМПОНЕНТ TPreviewBox
Компонент позволяет вам создавать изменяемое в runtime окно предварительного 
  просмотра.

КОМПОНЕНТ TPrinterPreview
Компонент позволяет вам записывать печатаемые данные в буфер для 
  последующего вывода их на экран и на принтер. TPrinterPreview содержит все 
  функции и свойства объекта TPrinter. Вы можете использовать объект 
  TPrinterPreview также как TPrinter.


КОМПОНЕНТ TDBEditEh
TDBEditEh представляет собой однострочный либо многострочный edit-контрол, 
  который может отображать и редактировать поле dataset"а либо может работать 
  как несвязанный с данными контрол.


КОМПОНЕНТ TDBDateTimeEditEh
TDBDateTimeEditEh представляет собой однострочный edit-контрол для отображения 
  и редактирования поля, содержащего дату и/или временя, либо работающий как 
  несвязанный с источником данных edit-контрол.

КОМПОНЕНТ TDBComboBoxEh
TDBComboBoxEh представляет собой однострочный либо многострочный edit-control, 
  который объединяет в себе поле редактирования с прокручиваемым списком и 
  может отображать и редактировать поле в dataset"е либо работать как 
  несвязанный с источником данных контрол.


КОМПОНЕНТ TDBNumberEditEh
TDBNumberEditEh представляет собой edit-контрол для числовых значений, который 
  позволяет отображать и редактировать числовое поле dataset"а либо работать 
  как несвязанный с данными edit-контрол.


КОМПОНЕНТЫ TPropStorageEh, TIniPropStorageManEh, TRegPropStorageManEh 
Компоненты реализуют технологию сохранения свойств компонент в/из хранилища 
  настроек, таких как ini-файы и реестр.

КОМПОНЕНТ TMemTableEh
TMemTableEh - dataset, который держит все данные в памяти. 
  Его можно рассматривать как массив записей. 
  Кроме того, он:
  Поддерживает специальный интерфейс, позволяющий компоненту DBGridEh 
    просматривать все данные, не перемещая активную запись.
  Позволяет закачивать в себя данные из объекта TDataDriverEh.
  Позволяет выгружать изменения обратно в DataDriver, оперативно или отложено 
  (в зависимости то свойства CachedUpdates).
  Позволяет создавать мастер/дитэил отношения на клиенте (фильтруя записи) 
  или на внешнем источнике (обновляя параметры [Params] и перезапрашивая 
  данные c DetailDataDriver'а).
  Позволяет сортировать данные, включая Calculated и Lookup поля.
  Позволяет создавать и заполнять данные в design-time и сохранять данные в 
    dfm файле формы.
  Позволяет хранить записи в виде дерева. Каждая запись может иметь записи 
    узлы/ветви и сама являться узлом другой родительской записи. Компонент 
    TDBGridEh поддерживает функциональность отображения древовидной структуры 
    этих записей.
  Позволяет подключиться к внутреннему массиву другого компонента TMemTableEh 
    и работать с его данными: сортировать, фильтровать, редактировать.
  Имеет интерфейс для получения списка всех значений столбца, игнорируя 
    локальный фильтр датасета. TDBGridEh использует это свойство для 
    автоматического формирования списка в выпадающем DropDownBox'е фильтра.

КОМПОНЕНТ TDataDriverEh
TDataDriverEh - выполняет две задачи:
  Поставляет данные (записи) в TMemTableEh.
  Обрабатывает записи, измененные в TMemTableEh (записывает их в другой 
  датасет, или вызывает события для обработки изменений в программе).

КОМПОНЕНТ TSQLDataDriverEh 
  Это DataDriver который имеет дополнительные свойства для хранения SQL 
  выражения для запроса данных, удаления записи, вставки записи, 
  изменения записи, перезапроса записи. TSQLDataDriverEh не может передавать
  запросы на сервер но вызывает глобальное для программы событие которое 
  необходимо написать для выполнения запроса.

КОМПОНЕНТ TBDEDataDriverEh, TIBXDataDriverEh, TDBXDataDriverEh и TADODataDriverEh
Компоненты умеют поставлять и передавать измененные записи TMemTableEh'а на 
  сервер используя соответсвующие драйвера доступа к данным.

--------------------
2 Установка Библиотеки
--------------------

--------------------
2.1  Автоматическая установка Библиотеки
--------------------

Для быстрой установки пакетов библиотеки в Delphi/C++ Builder IDE используйте 
программу автоматической установки библиотеки  - EhLibInstaller.exe, которая 
находиться в папке Installer архива библиотеки. Программа создает папку для хранение 
кодов библиотеки, копирует туда необходимые файлы, компилирует пакеты, регистрирует 
скомпилированные пакеты в IDE и прописывает необходимые пути в реестре.

--------------------
2.2  Ручная установка Библиотеки
-------------------

Чтобы ручной установки библиотеки следуйте следующим инструкциям:

--
2.2.1. Для RAD Studio XE2 (Delphi) или выше:
--------------------------------------------

Удалите предыдущую или evaluation версию библиотеки из интегрированной среды IDE. 
Удалите либо перенесите в другую папку следующие файлы для предупреждения 
пересечения старой и новой версии EhLib (файлы  
EhLibXX.bpl, EhLibXX.dcp (если это версия 3.X и выше), EhLibDataDriversXX, 
DclEhLibDataDriversXX).
Эти файлы могут быть расположены в следующих папках на вашем компьютере:
  C:\Users\All Users\Documents\RAD Studio\1X.0
  C:\Users\All Users\Documents\Embarcadero\Studio\XX.0\Bpl
  C:\Users\All Users\Documents\Embarcadero\Studio\XX.0\Dcp

Создайте новую папку где будут храниться исходные и скомпилированные коды 
библиотеки (Например, C:\RAD_Studio_XE2\Components\EhLib).
Здесь и далее будем называть этут папку - Папка EhLib.

Создайте в папке "Папка EhLib" подпапку "Lib".
Скопируйте в "[Папка EhLib]\Lib" файлы из папок "Common", RADStudioXE2 и
"LangResources\Res" архива EhLib так чтобы все файлы оказались в 
одной директории Lib.

Языковым ресурсом по умолчанию является английский.
Если вы хотите изменить языковый ресурс на другой язык, выполните следующие шаги:
  - Выберите нужный языковой файл EhLibLangConsts.XXX.dfm
  - Скопируйте этот файл в файл EhLib LangConsts.dfm (с заменой существующего файла)
  - В первой строке нового файла EhLibLangConsts.dfm
      удалите суффикс _XXX в названии объекта следующим образом:
      object TEhLibLanguageConsts_ENU -> object TEhLibLanguageConsts

Запустите RAD Studio IDE и откройте ("File\Open...") группу проектов
EhLibProjGroup160.groupproj из "[Папка EhLib]\Lib".
Скомпилируйте все пакеты Группы проектов.

Установите пакет DclEhLibXX.Dpk в IDE.
По желанию установите дополнительные пакеты в IDE 
для обеспечания доступа к данным:
  DclEhLibADODataDriversXX.Dpk для компонент доступа через ADO
  DclEhLibBDEDataDriversXX.Dpk для компонент доступа через BDE
  DclEhLibDBXDataDriversXX.Dpk для компонент доступа через DBX
  DclEhLibIBXDataDriversXX.Dpk для компонент доступа через IBX

Дляустановки пакета в IDE используйте меню Project/Install.

Последовательно скомпилируйте пакеты каждый пакет
в режиме:
  Win32\Debug 
  Win64\Release
  Win64\Debug 

В папке "[Папка EhLib]\Lib" должны создаться подпапки:
  Win32\Release, Win32\Debug, Win64\Release, Win64\Debug 

Скопируйте *.dfm и *.res файлы из директории "[Папка EhLib]\Lib"
в каждую из директорий:
  Win32\Release, Win32\Debug, Win64\Release, Win64\Debug 

В настроках RAD Studio IDE добавте путь: 
"[Папка EhLib]\Lib\Win32\Release" в "Library path" для Платформы Win32
"[Папка EhLib]\Lib\Win32\Debug" в "Debug dcu" для Платформы Win32
"[Папка EhLib]\Lib\" в "Browsing path" для Платформы Win32

"[Папка EhLib]\Lib\Win64\Release" в "Library path" для Платформы Win64
"[Папка EhLib]\Lib\Win64\Debug" в "Debug dcu" для Платформы Win64
"[Папка EhLib]\Lib\" в "Browsing path" для Платформы Win64

--
Скопируйте из Архива EhLib папку DEMOS в папку "[Папка EhLib]".
Попробуйте открыть и скомпилировать любой демонстрационный проект.

--
2.2.2 Для 7.x, Delphi 9.X Win32, BDS2006 Win32, Delphi 2007,
      CodeGear RAD Studio 2009:
---------------------------------------------------------------------

Удалите предыдущую или evaluation версию EhLib из Delphi IDE. 
Удалите либо перенесите в другую папку следующие файлы для предупреждения 
пересечения этой и новой версии EhLib (файлы EhLib.bpl, EhLib.dcp либо 
EhLibXX.bpl, EhLibXX.dcp (если это версия 3.X и выше), EhLibDataDriversXX, 
DclEhLibDataDriversXX).

При необходимости создайте новую папку "EhLib" в папке с установленным 
Delphi (например, C:\Delphi[X]\EhLib).

Скопируйте в эту папку файлы из папок "Common", Delphi[X] | BDS2006
и "LangResources\Ansi.Res" архива EhLib.

Запустите Delphi.

Добавьте, (если необходимо) директорию "EhLib" в меню 
 Tools->Environment Options->Library->Library Path 
(Для Delphi 9 или BDS2006 в Tools->Options->Environment Options->
   Delphi Options->Library - Win32->Library Path).

Откройте ("File\Open...") группу проектов
EhLibProjGroupXXX.groupproj из "[Папка EhLib]\Lib" 
(EhLibProjGroup70.bpg для Delphi7).
Скомпилируйте все пакеты Группы проектов.

По умолчанию Delphi сохраняет скомпилированные
пакеты *.BPL в папке <Delphi path>\Projects\Bpl. Эта папка
должна присутствовать в переменной окружения PATH (как DOS-переменная 
окружения PATH).

После этого надо установить пакеты времени разработки.
  DclEhLibXX.Dpk
  DclEhLibADODataDriversXX.Dpk для компонент доступа через ADO
  DclEhLibBDEDataDriversXX.Dpk для компонент доступа через BDE
  DclEhLibDBXDataDriversXX.Dpk для компонент доступа через DBX
  DclEhLibIBXDataDriversXX.Dpk для компонент доступа через IBX

Для этого, правой кнопкой над именем пакета откройте Popup меню и нажмите "Install".

Компоненты EhLib должны появляться на странице "EhLib" палитры компонент.


3. Примечание по установки для пользователей, которые имели EhLib версии 1.X или 2.X:
-----------------------------------------------------------------------------

Когда Вы устанавливаете новую версию того же компонентова (компонент) 
Delphi IDE не перемещает компоненты на новое место умолчанию в палитре 
компонентов.
Если у вас уже был установлен пакет EhLib версии ниже чем 3.0 то при установки этой 
версии необходимо переместить компненты на новое место по умолчанию в палитре 
компонентов.
Для этого 
  Открытое меню: Component->Configure Palette.
                 Выбор строку '[All]' в списке Pages.
                 нажмите кнопку 'Default Pages'.


4. Установка help файлов
------------------------

Библиотека содержит описание работы с компонентами в файлах:

  <EhLib archive>\Hlp\RUS\EhLib - Руководство разработчика.doc
и
  <EhLib archive>\Hlp\RUS\EhLib.Hlp
 
4.1. К сожалению текущая версия библиотеки не содержит help-файлы для Delphi2005-Delphi XE3.
  Для ознакомления с описанием свойств и функций библиотеки вы можете вручную открыть EhLib.hlp.

4.2. Delphi 7.x:

Скопируйте файлы EhLib.hlp и файлы EhLib.cnt в поддиректорию HELP дирректории 
где установлена Delphi.
Запусти Delphi IDE, выберите меню Help|Customize, чтобы запустить приложение 
OpenHelp. Добавьте файл EhLib.cnt на закладке Contents, добавте файл 
EhLib.hlp на странице Index and Link.

5. Демонстрационные Программы
-----------------------------
                        
Демонстрационный примеры используют таблицы из директории 
<EhLib archive>\Demos\Data.

Читайте описание Demo проектов в файле 
Demos\Info Rus.doc


6. Регистрация и Цены
---------------------

EhLib это условно бесплатный продукт (см. детали в license.rus). Если он 
оказался для вас полезным и вы хотите получать самые последние версии,
то зарегистрируйте оценочную версию библиотеки.

----
Вы можете прочитать подробную информацию о регистрации и ценах на 
домашней странице библиотеки 

----

После регистрации Вы получите адрес (только по эл.почте)
зарегистрированной версии для загрузки и пароль для распаковки.

Регистрируя библиотеку вы также получаете следующие преимущества:

1. Вы будете получать новые версии библиотеки бесплатно в течении года со дня покупки.
2. Вы будете получать техническую поддержку по библиотеки 
   любого уровня сложности неограниченно по времени.
3. Приобретая легальную версию вы способствуете дальнейшему развитию библиотеки.


7. Дополнительная информация
----------------------------

Возможность компиляции приложений под OS X и Linux в комбинации с библиотекой CrossVCL
присутствует только в версии EhLib с исходными кодами.

Возможность компиляции приложений под Linux присутствует возможна только в 
версии EhLib с исходными кодами.


8. Контакты
-----------

Если у вас есть вопросы, комментарии 
или предложения, обращайтесь к разработчикам по следующим адресам.
  www: http://www.ehlib.com
  Эл.почта: support@ehlib.com
  Skype support: ehlib.support