===========================================================
RT Controls
Copyright 1995-1997 r&t software
===========================================================


RT Controls contains seven Delphi components:

===========================================================
RTCheckGroup
===========================================================

This component is something like Borland's TRadioGroup but
it groups checkboxes instead of radiobuttons. Same as
TRadioGroup it alignes ist child controls itself, so you
don't have to do it. You can set them all at once of every
one separately. Because it uses bitmaps to show them, you
can make it look as you want it to be. Properties like
TextAlign, BmpVAlign, BmpHAlign and WordWrap allow for
additional control.


===========================================================
RTCheckList
===========================================================

CompuServe Information Manager, Microsoft Word, MSOffice
Setup all have a very interesting control. Every time I see
it I wish I could use it. In Word select
Extras|Optionen|Kompatibilitt (german Version - in english
version look at Tools|Options|Compatibility) and you will
see it. There is a listbox with checkboxes in it.  Compared
with them the standard multiselect listbox seems boring.
The selection is also somehow awkward. If you forget to
press Shift or Ctrl key all your selections are gone. So I
thought I can make it better. And there is a RtCheckList: a
listbox full of checkboxes where your selections stay
permanent, and because it uses bitmaps to show them, you
can make it look as you want it to be.  Properties like
TextAlign, BmpVAlign, BmpHAlign and WordWrap allow for
additional control.


===========================================================
RTDbCopy
===========================================================

TBatchMove is a very powerful component, but it has several
shortcomings. What it cannot handle:  1) if you don't
define a problem table and an error occurs, the whole
operation will be canceled 2) it cannot change field data
types in most cases 3) it cannot influence field data, it's
copied as it is

RtDbCopy is a replacement component, which offers:
1) before and after copy event, to do housekeeping actions
2) on every record event, to gauge the whole process or
implement function filter 3) on every field event, where
you get the data being read and set data being written, so
that you can feed three destination fields from one source
field or do whatever is appropriate 4) on every error
event, where you can ask the user to decide if he wants to
continue or break 5) through Mappings definition it lets
you change field data types and/or sizes

To achieve the best possible performance low-level BDE
calls have been used whenever I could. At the end it comes
very close to TBatchMove speed-wise.


===========================================================
RTDbGenID
===========================================================

RtDbGenID is a non-visual component which implements a
unique number generator. All values will be saved into a
table in database you work with.  Every access which
generates a new value locks this table and saves the
generated value before releasing control, so that other
users can safely run it parallel through the network. SQL
queries as 'SELECT MAX(...)+1 FROM...' are a bit dangerous,
because many users can theoretically execute this query at
the same time and get the same results. Databases which
support referential integrity can get over it, if the value
is supposed for a field defined as unique, but even at the
minimum it would rise an exception. dBase knows nothing
about real uniqueness and in this case it can cause severe
data errors.


===========================================================
RTDbIniFile
===========================================================

Every customer wants something different, even if your code
is as general as you can. This truth is nothing new, it's
just a principle I learned in the last years, it doesn't
wonder me, it doesn't make me angry any more. I know I have
to build my programs with as many parameters as I can.
Well, it works, but if I let my user input all of the
parameters needed every time he enters the program he's
going to hate me. So I make configuration files. With plain
DOS I used to work with DBF files because of my Clipper
background. In Windows we have INI files. There is only one
problem with INI files - everybody can change it, put
garbage in or delete it. If you come with an application
into bigger companies they certainly will ask you about
security of you data. Well, TRtDbIniFile does all TIniFile
can do with INI files with the same methods but it saves
all this in database you are connected to, say Oracle,
Sybase and the like. So you configuration data can be so
secure as you database backend. If I needed to I could have
used my old DBF files also.


===========================================================
RTSQLStatements
===========================================================

RTSQLStatements is a container for SQL objects like
TQueries, TBatchMoves, TDatabases. It manages all queries
on a form, allows to execute any of them per name, or all
at once in kind of a batch process. There are events which
are called before and after execution. A comfortable
property editor manages every query separately or all
together. There are load/save/copy/paste functions as well
as find. You can even test queries with parameters at
design time.


===========================================================
RTGauge
===========================================================

This little component does what you have certainly seen -
it shows a progress bar. There are two other progress bars
which have been shipped with Delphi - TBiGauge and TGauge.
To tell the truth it was based on TGauge. So if you ask
yourself why doing another Gauge component, the answer is
easy. The TBiGauge is a VBX, so you have to distribute this
along with your application, if you use it. TGauge is a
true VCL, but it has at least one subtle error (if you want
to know it, take it as your homework, if you then don't
find it, send me an e-mail and I'll tell you). But the real
reason is, that TRtGauge is smaller AND faster than the
other. If the only thing you want to do, is a progress bar
then look at it.


===========================================================
Installation
===========================================================

1. Run installation executable.

2. Copy the compiled units from the appropriate
subdirectory (DELPHI1, DELPHI2 or DELPHI3) into your
library directory or include it within the library's search
path.

3. In Delphi 1 and 2 install the:

RTCUIREG.DCU - user interface components only
RTCDBREG.DCU - database components only
RTCTLREG.DCU - all components at once

the component palette, in Delphi 3 install

DRTCUI.DPL   - user interface design time package
DRTCDB.DPL   - database components design time package
DRTCTRLS.DPL - all components design time package

4. Copy the HELP\*.HLP and HELP\*.KWF files into the
Delphi's HELP directory and install the latter file using
the HELPINST utility.

Delphi 3 packages will only be installed with the full
RTControls version. Delphi 3 runtime packages will be
automatically installed into the WINDOWS\SYSTEM directory.


===========================================================
Files installed
===========================================================


DELPHI1		compiled Delphi 1 units
DELPHI2 	compiled Delphi 2 units
DELPHI3         compiled Delphi 3 units and packages
DEMOS 		example projects
DOC 		files containing important additional
		information
HELP 		online documentation
SOURCE          available when source code

===========================================================
Support
===========================================================

Support is available from the author via

Compuserve mail	100735,3273
Internet mail	support@rtsoftware.com
WWW:		http://www.rtsoftware.com
Fax:		(+49) 5132/836021

All support is on a "best effort" basis, and no promise is
made that all questions can be answered, problems solved,
features added nor bugs exterminated.
