Here we are again

You just downloaded the version 1.2 of TDBRichEdit. A Delphi component which lets you edit 
text inside a richedit control with some (not all yet) textformatting capabilities and save this text 
directly into a database.

Installation
Install this component like any other delphi component. Copy the files tdbredi.pas and tdbredit.res 
into the same directory at your harddisk, choose the menu item "Component / Install", click the 
"Add" button and choose the TDBREdit.pas or TDBREdit.dcu. Then click "OK". The component 
will be installed into the DataControl page. If you have installed another language this component 
will be installed in the language specific page.
Usage
The only things you have to do is defining a Blobfield (formatted memo for paradox) in your 
database to which you connect the TDBRichEdit control via its properties Datasource and 
Datafield and selecting a language via the property Language. Everything else happens 
automatically unless you dont want to use any of the extended features which are described 
below. Normally you can edit your text which is loaded from the database and format it by 
rightclicking the mouse and selecting of one of  the formatting styles offered in the upcoming 
popup menu or by using one of the shortcuts listed below.

English					German
Ctrl-B		Bold				Strg-F			Fett
Ctrl-I		Italic				Strg-K			Kursiv
Ctrl-U		Underline			Strg-U			Unterstrichen
Ctrl-O		Strikeout			Strg-G			Durchgestrichen
Ctrl-F		Font-Dialog			Strg-I			Schrift-Dialog
Ctrl-P		Print				Strg-D			Drucken


Extended features:

Language support
This control supports the english and german language. You just select the language you are 
programming in via the property language. Then you get the correct texts in the popup menu, the 
hint panel, you can use the language specific shortcuts for the formatting styles and you get the 
correct bitmap in your toolbar (see below). If you would like to support another language you can 
easily adapt the sourcecode or send the texts and bitmaps to me. I will then include them into this 
control.

Printing
You can print the content of the RichEdit control via the context sensitive menu which open after 
a right mouse click or via a toolbar button (see below). The property PrintCaption gives you the 
possibility to enter a string which is displayed by the print manager of Windows while the print job 
is spooled and printed.

Toolbar with speedbuttons
You can define a toolbar (Tpanel-Object) in which the TDBRichEdit will display speedbuttons for 
bold, italic, underlined and striked out text as well as a button for the font dialog. To use this 
feature just select one of the offered panels in the property Toolbar. If you dont have any panel in 
your form you cant use this feature. By selecting one of values ShButAlways or ShButOnEnter 
of the property ShowButtons you can define if the speedbuttons should be displayed all the time 
your TDBRichEdit is alive or only if it gets the focus. If you choose the second way the 
speedbuttons will be deleted when the control looses the focus.

Speedbuttons in Floating window
Another way to show the speedbuttons is by setting the property ShowFloatingWindow to true. 
In this case every time the TDBRichEdit control gets the focus a floating window, which contains 
the above described speedbuttons, will be created and display above the left corner of the control. 
This window will be destroyed when the control looses the focus. The value of this property will 
be ignored if youve already defined a toolbar.

Select speedbuttons you need
To Select the speedbuttons you need (e.g. only bold and italic) just select them with the property 
VisibleBtns.

Joker, text macros
Another interesting feature is to use Joker (text macros). By filling the stringlist of the property 
Jokerlist you define Joker which can be replaced at runtime with another text. The syntax for the 
property Jokerlist is: 
		Joker=Value
where Joker is the text macro and value is the text with which the joker will be replaced.
For example: NAME=Helmut Tammen.
The statements must be separated by a carriage return, line feed or in other words one Stringlist 
item for each joker statement.
The text of your TDBRichEdit control (which your customer entered) could than look like this: 
"My name is {NAME}".
The parenthesis are very important. They are the indicators for a Joker. Every string that is 
included in parenthesis is searched in the jokerlist and replaced by the defined value.
To replace the joker at runtime call the public procedure TDBRichEdit.ToggleJoker. This 
procedure doesnt take any parameters. After calling this function the above entered text is 
changed to "My name is Helmut Tammen". If you toggled to this "view mode" you cannot edit the 
text. Every time a new record of the database is selected the control returns to the "joker mode".
In addition there is a new event OnJokerstateChanged which is called everytime the Jokerstate 
changes. Here you can for example toggle the text of the button which you created to toggle the 
joker mode.
To get the current jokerstate there is the "readonly and only at runtime" property Jokerstate 
which returns stJoker if the Jokers are displayed and stValue if the values are currently displayed.

License
This component is freeware. You are allowed to give this tool (the .DCU and all documentation 
files) to third people. But you are not allowed to give the source code to any other.

Registration
If you like this control or/and you would like to get the source code please register it for the price 
of $10 (US). To do so just GO SWREG. The registration-ID is: #13089. 
If you register you will not only get the source code but also the next version free of any charge.
Notice: At the moment I only distribute this software via Compuserve. But if you are interested in 
this component and would like another way of distribution contact me via e-mail (see below).
The more people register the more will I be motivated to do further development.

Disclaimer
When I wrote this software I tried to do no programming errors and I and some other 
programmers tested it. But I cant guarantee that this component is free of bugs. So you should 
know that you use this software as it is. In spite of this you should also know that I try to fix all 
the bugs that are reported to me.

What does the future bring
For the future Ive planned the following features:
  Implementing paragraph formatting (Enumeration, indentation, alignment, ...).
  Implementing tabs and a ruler.
  Enhancement of the joker implementation (creating pattern letters).
  Including OLE Objects.
  Writing a help file.
  Implementation of the new component RichEdit-View which encloses a ruler, a toolbar and 
the RichEdit itself and should then look almost like a little text program.

If you have any suggestions or find any bugs please let me know. I will upload new versions 
of this control from time to time.


I hope this control will help you
Its not the last version.

Helmut Tammen
Compuserve: 100712,3030
e-mail: 100712.3030@compuserve.com
