RX Library 2.75
===============

The Set of Native Delphi Components for Borland Delphi
versions 1, 2, 3, 4 & 5 and Borland C++ Builder 1, 3 & 4.
100% Source Code.

Last revision date Oct 12, 1999.


NEW FOR VERSION 2.75
--------------------

Delphi 5.0 & C++Builder 4.0 Compatibility

New components:
 TRxLoginDialog

New properties, events:
 TFormPlacement.RegistryRoot
 TFormPlacement.Version
 TFontComboBox.UseFonts
 TRxDBGrid.OnTopLeftChanged
 TRxDBLookupCombo.DisplayValues
 TStrHolder.Macros, TStrHolder.OnExpandMacros
 RxSpin.TValueType.vtHex

New routines, methods, constants:
 SaveClipboardToStream, LoadClipboardFromStream (clipmon.pas)
 AppFileName, AppVerInfo (rxverinf.pas)
 XorString, XorEncode, XorDecode (strutils.pas)

Overview
--------

RX Library contains a large number of components, objects and routines
for Borland Delphi with full source code. This library is compatible
with Borland Delphi 1, 2, 3, 4, 5 and Borland C++ Builder 1, 3, 4.

This collection includes over 60 native Delphi components.

RX Library is a freeware product. Feel free to distribute the library as
long as all files are unmodified and kept together.

The authors disclaim all warranties as to this software, whether express
or implied, including without limitation any implied warranties of
merchantability or fitness for a particular purpose. Use under your own
responsibility, but comments (even critique) in English (or in Russian)
are welcome.

1. Components:

TRxDBLookupCombo provides an incremental search through lookup list by
directly typing into the combo control while the lookup list is
displayed, LookupSource can refer to TTable, TQuery, TRxQuery or
TQBEQuery. It even incrementally searches on the query results and
much more...

TRxDBLookupList is the same as TRxDBLookupCombo (in functionality).

TRxDBComboBox is a TDBComboBox descendant allowing to have different
values displayed from that stored in database without using a lookup
table. Allows you to display understandable text versions of stored
codes in your table.

TRxDBGrid provides you with the ability to change the background color
and font displayed within individual cells and entire rows and columns;
save and restore columns order and display width in ini-files and system
registry; display icons for BLOB, memo, OLE and picture fields;
select multiple records; convert columns headings to buttons.

TDBStatusLabel displays the DataSet state (for all datasets) or
current record number (for DBase or Paradox tables).

TDateEdit and TDBDateEdit (data-aware version) allows direct typing and
has a button to bring up calendar in popup window (combo-box alike) or
in a dialog.

TQBEQuery enables Delphi applications to use Paradox-style
Query-by-example (QBE) statements to query tables, and perform insert
and update queries.

TRxQuery is a TQuery descendant. It supports macros in the SQL text,
which are similar to Params. Macros allow to change query text easily
and handy.

TSQLScript allows multiple SQL statements in one query.

TRxDBFilter encapsulates BDE ability to filter records locally.
The component provides event on filtering and/or conditions in
StringList property.

TDBProgress displays BDE operations progress for IDAPI drivers
that support callback-functions.

TDBIndexCombo is a visual interface component that provides your end-
users with an easy means of changing the current display order of data
being retrieved from an indexed table. When the user selects the
TDBIndexCombo component, it's drop-down selection list is populated
with the DisplayNames of all indexes available for the table it's
assigned to.

TBDEItems, TDatabaseItems, TTableItems are lists populated by the
corresponding BDE information (database list, table list, field list etc).

TDBSecurity provides most common dialogs for database applications:
Login Dialog and Change Password Dialog.

TRxRichEdit is a wrapper for a Windows rich text 2.0 & 3.0 edit control
with OLE objects support (Delphi 2.0 or higher).

TRxDBRichEdit - permits the user to display and enter Rich Text Format
(RTF) data in a memo or BLOB field (only for Delphi 2.0 or higher).

TAnimatedImage - animation "bitmap by bitmap". Design-time editor allows
you to load Windows animation cursors (ani-files) into this component.

TClipboardViewer is a visual control that displays the contents of
Clipboard using different formats.

TCurrencyEdit - input of money amounts, and other numbers too.

TRxCalcEdit and TRxDBCalcEdit (data-aware version) take the display
and editing of numeric data one step further: they provide a popup
calculator to help you calculate the number.

TPicClip represents a bitmap as the logical array of bitmaps
and supports access by index.

TFormPlacement allows to save and restore form size, position and window
state in/from ini-file or Registry.

TFormStorage allows you to read and write virtually any component
published property to an INI file or the system Registry with virtually no
code. Works with 3rd party and your own custom controls as well. Don't be
stuck with dozens of INI-Aware components, use TFormStorage and let it
manage all that for you.

TPageManager is useful when creating multipage dialogs such as "Wizards"
(or "Experts").

TColorComboBox is a combo box to pick up color.

TFontComboBox is a combo box to pick up font name.

TRxLabel is a customizable shadowed label.

TTextListBox is TListBox successor with automatic horizontal scrollbar
if necessary.

TRxSplitter separates two controls to allow to change their sizes at
run-time. Never again create a splitter by hand using panel components.
Add splitter support to any application by using the RxSplitter component.

TRxSlider and TRxSwitch are slider and switch controls respectively
with the ability to change their looks. TRxSlider provides more features
than the Win32 common control, such as custom thumbs.

TRxSpinEdit and TRxSpinButton are spin controls variants.

TSpeedBar with horizontal or vertical orientation that can be placed
at the top, bottom, left, right of the form. Customizable in designer
and at run-time using drag & drop operation, similar to Delphi speedbar.
Allow you use flat and transparent buttons such as standard-style
buttons. Button's transparent ability lets graphics show through from
under the speedbar.

TComboEdit, TRxDBComboEdit (data-aware version), TFilenameEdit,
TDirectoryEdit are the edit boxes with buttons. User can type data into
an edit box or can bring up dialog or popup window by clicking a button.

TMemoryTable implements BDE in-memory table as a dataset component
(with Delete operation).

TRxMemoryData is a in-memory dataset that mimics the behaviors of a regular
Delphi dataset. Unlike TMemoryTable component, TRxMemoryData is BDE
independent. This means it can still be used by any application that
replace the BDE with some other 3rd party database engines (only for
Delphi 3.0 or higher).

TRxCheckListBox is a list box with built-in check boxes.

TRxSpeedButton provides you more features than the standard TSpeedButton
component, such as Transparent, Flat, AllowTimer and GrayedInactive
properties and Drop-Down Menu.

TRxTimerList component provides all the functions of the standard TTimer
component, plus the additional benefit of using only one Windows timer
for up to 32767 timing events. You can customize this component in designer
using easy-to-use component editor.

TAppEvents is an Application wrapper component, which makes it easier to
work with the TApplication object properties and events at design time.

TRxFolderMonitor component provides notification if any changes matching
the filter conditions occur in the specified directory or subtree.

TRxTrayIcon component enables 32-bit applications to add static and
animated icons to the Windows system tray.

TRxClock, TSecretPanel, TRxDice, TRxCalculator, TStrHolder, TMRUManager,
TRxWindowHook, TRxGradientCaption, TRxLoginDialog, TRxMemoryData,
owner-draw menus and much more.

2. The editors of standard properties with some advanced features.

TPicture and TGraphic editor adds Copy and Paste Buttons, supports
Icons in Clipboard, favorites directories, uses open dialog box with
preview.

Hint property editor enables multi-line hint entry.

Project Resource Expert for Delphi 3.0 or higher and C++Builder 3.0 or
higher allows you to manage your project resource file. This expert can be
found as "View | Project Resources" in the Delphi 3 and C++Builder 3 IDE
menu and as "Project | Resources" in the Delphi 4 or higher IDE menu.

3. Units that provide functions and objects to work with databases, images,
strings, dates, files, INI-files.

4. RX Library help files in Russian only. Help files in other languages
do not exist.

5. A couple of simple demo applications.


History
-------

RX 2.75 (Oct,12,1999). Delphi 5.0 & C++Builder 4.0 compatibility.
Bug fixes for RX 2.60.

RX 2.60 (Jan,27,1999). New components TRxMemoryData, TRxRichEdit.
Bug fixes for RX 2.50.

RX 2.50 (Jul,22,1998). New components: TRxFolderMonitor, TRxLookupEdit,
TRxGradientCaption, TRxMainMenu, TRxPopupMenu. Delphi 4.0 and C++Builder
3.0 compatibility. Bug fixes.

RX 2.40 (Feb,11,1998). New components: TRxDBComboEdit, TRxCalcEdit,
TRxDBCalcEdit. GIF Image support (including new component TRxGIFAnimator
and new demo program). Project Resource Expert for Delphi 3. Bug fixes.

RX 2.32 (Jul,30,1997). Bug fixes. Full compatibility with all Delphi versions
(including Delphi 3 Professional and Developer editions) and
Borland C++ Builder 1.0. C++ Builder demo.

RX 2.31 (May,08,1997). Delphi 3.0 C/S release (build 5.53) compatibility.
Bug fixes.

RX 2.30 (Apr,22,1997). New components: TMRUList, TRxTimerList, TRxWindowHook.
Delphi 3 (confidential beta pre-release, build 3.0.4.78) compatibility.
Bug fixes.

RX 2.01 (Feb,12,1997), 2.02 (Mar,10,1997). Bug fixes. New component
TRxDBRichEdit. Version 2.02 became available for download on Internet.

RX 2.00 (Nov,24,1996). New components: TMemoryTable, TRxCheckListBox,
TRxDBComboBox, TStrHolder, TAppEvents. Bug fixes.

RX 1.32 (Nov,11,1996). Delphi 2.0 compatible version. New components:
TSQLScript, TPageManager, TRxTrayIcon.

RX 1.03 (Jan,14,1996). Compiled DCU-files removed from installation
package. New components: TFormStorage, TDBSecurity, TRxQuery, TSpeedbar,
TRxSpinButton, TRxSpinEdit, TRxCalculator.

RX 1.02 (Dec,27,1995). Private version.

RX 1.01 (Dec,04,1995). Bug fixes, new component TRxDBFilter.

RX 1.00 (Nov 1995). Initial release for Delphi 1.0 available in
russian Fido.

ExtVCL component collections from Apr,25,1995 and Jul,20,1995.


License Agreement
-----------------

Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appears in all copies and
that both the above copyright notice and this permission notice appear
in supporting documentation, and that the name of RX Library authors
not be used in advertising or publicity pertaining to distribution of
the software without specific, written prior permission. This
software is made available "as is", and RX LIBRARY AUTHORS DISCLAIM
ALL WARRANTIES, EXPRESS OR IMPLIED, WITH REGARD TO THIS SOFTWARE,
INCLUDING WITHOUT LIMITATION ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE, AND IN NO EVENT SHALL AUTHORS BE
LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, TORT (INCLUDING NEGLIGENCE) OR
STRICT LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.



Source Files
------------

All sources (100%) of RX Library are available in RX\UNITS directory.
All language specific string constants used in RX Library are
collected in resource files. There are sources for all string resource
files in English and Russian. The rest resource files containing
bitmap images and icons for component palette are also included as
compiled resources (*.R16, *.R32) and as *.RC-files. Resource files
sources are available in RX\RESOURCE directory. So, you can use any
resource compiler (i.e. BRCC.EXE or BRCC32.EXE) to create *.RES
(*.R16 & *.R32) and *.DCR (*.D16 & *.D32) files.


Using GIF Images
----------------

To use GIF images in an your application at runtime, include the RXGIF
unit in your unit's "uses" clause.

If you are using another GIF image support library (like ImageLib),
deactivate the conditional define USE_RX_GIF in RX\UNITS\RX.INC file and
rebuild your component library.

WARNING. You will need an LZW patent license from Unisys in order to
provide end-user GIF support legally in any commercial or shareware
application. It is provided as a development tool only.


Copyright Notes
---------------

Most of the modules in our library are written by us. We have to make
a note of units based on sources of other authors.

Unit RXLOOKUP is based on original Delphi VCL units DBLOOKUP, DBCTRLS.

Unit STRUTILS is based on a unit of string-handling routines AGSLIB by
Alexey Lukin.

Unit DBEXCPT is based on a unit DBEXCEPT.PAS from Borland Delphi.

Procedures to read and write GIF files, GIF-decoding and encoding based
on freeware C source code of GBM package by Andy Key
(nyangau@interalpha.co.uk).

Some components in a unit DBLISTS are based on DELPHI\DEMOS\DB\TOOLS\BDETABLE
unit from Delphi 1.0 Demos.

Unit PICTEDIT contains advanced property editor based on unit PICEDIT.PAS
from VCL, unit QBNDDLG is a modified unit QBINDDLG.PAS from VCL, unit
IMAGPRVW.PAS is a modified unit IMAGEWIN.PAS from Borland Delphi 1.0 C/S
Demos DELPHI\DEMOS\IMAGVIEW.

  RX Library Web Site:
    http://www.rxlib.com

  Authors:
    Fedor Kozhevnikov  (fkozh@iname.com)
    Igor Pavluk        (igorp@mail.com)
    Serge Korolev      (korolev@usa.net)