Subject ANN: TIB_SynMemo ready for download
Author Frank Ingermann
Hi List,

i just uploaded to the Files section. Below is a 1:1 quote
of the ReleaseNotes.TXT in the .zip.

Any comments / suggestions / bug reports are warmly welcome!


<quote releasenotes.txt>

Hello fellow IBOians! (romans, friends... :)

This package contains TIB_SynMemo, an adaption of the TSynEdit
open source editor control for the "IBO native" strain of
components (TIB_*, not TIBO*) in Delphi 5. Current version is
1.000 (iow it's the first public release, so there may still be
some bugs - but it works perfectly for my needs, so it may work
for you, too.)

Before anyone wastes time and/or starts yelling at me, first
note the features that T[IB_]SynMemo does *not* support:

- no proportional fonts. It is *designed* to be a pure ascii
text ctrl for source code, SQL, HTML, C/Pascal, INI files
or the like. It is *not* a M$-Word-like word processor,
more of a Programmer's Editor Control (think of it as more of a
"Super-NotePad", afaik IBConsole's SQL editor is a TSynEdit).
- no WordWrap. It is purely TStrings-driven.
- no Alignment property (as above, this is useless for sources)
- no "smart" tabs, just the usual fixed-width tabs.

(for me, those outweigh the limitations by far, but that of
course depends on what you want to use it for...)

- customizable Syntax Highlighting. Loads of Highlighters are
available from SQL to C, Pas, Foxpro, Python, .BAT, .INI,
(it actually has highlighters for languages i didn't even know
existed :) and if that's not enough you can make your own...
Btw. the SQL highlighter completely supports IB up to dialect
3, and the pas/c highlighters can even read your own Delphi IDE's
settings from the registry and adapt them. Very handy if you
e.g. use the Dream Collection and store .pas stuff in a gdb.

- a "gutter" like the IDE editor with the ability to show line
numbers, place bookmarks or other indicators etc.

- customizable Keyword lists and Code Completion (the Ctrl+J
thing in the IDE), Search & Replace, Completion Proposal...

(to name just a few -- i really can't give a complete
introduction to TSynEdit here, but if you play around with it
and check out the demo apps included in the download, you'll
easily get familiar with it. Sadly at the moment there's no
documentation available other than the source code itself plus
the demo apps, but there is a synedit ng on sourceforge.)

Legal Status:
None <g> - released as freeware, open source, with no warranties
at all. Especially the author is not responsible for -- y'know,
anything, as usual. Use it as you like, or don't. It's up to you.

- SynEdit_D5 package must be installed (
Download it from, unzip & install it
(if you don't have it already).

- IBO_D5 package must be installed (since this is posted to the
IBO ng, i guess you all have that -- if not: )
The ctrl is based on the 3.6D release, it supports the AutoLabel
feature. (if you use an older version, throw out that code or
feel free to add the appropriate ifdefs...)

Open the IBSynMemo_D5.dpk. Compile it - install it - that's it.
You will find a new control on the iboControls tab with the
symbol of a TSynMemo (you may have to edit the package's
search path so it can find IBO_D5.dcp and SynEdit_D5.dcp).

See what it does:
I included a really minimal test application in the TestApp
subdir. It uses the employee.gdb, so you'll likely have to change
the path to that in the IB_Connection (con). The JOBS table was the
only one i found with a useable text blob... Also you'll probably
need to change the project's Search Path so IBO, SynEdit and
IBSynMemo can be found.

It's a rather brain-dead thing, but you can easily compare
TIB_SynMemo to TIB_Memo (or any other multiline text blob ctrl)
to see what SynEdit can (and can not) do. It's actually the
test app i used to test & debug TIB_SynMemo. Everything i tested
works ok, if you find anything that doesn't behave as expected,
please let me know - or correct it yourselves (you have the
source ;-), but still please let me know what you did!)

So, have fun with TIB_SynMemo, and hopefully it is as useful to
you as it is to me (i originally needed it to edit SQL script
snippets in a blob field, and editing SQL with Highlighting is
much more fun to me than without...)

May the *open* source be with you & keep on hackin'!,

( frank.ingermann@... )

<end quote>