                          DBSEARCH v3.0

This is an update to the excellant DBSEARCH component created by Aaron
Castro and VK Thakur.  This is a Delphi V1 component that allows users 
to easily perform searches on database tables using a TTable or TQuery.


I added these buttons to the standard Dialog:  
   Find   (replaces OK)
   Find Next
   Goto Top
   Goto End
   Cancel (I didn't change this)


I enhanced the search engine to support wildcard symbols of 1 to 5
char's in length.  The authors had most of this support in their project,
but the file SERCHENG.PAS was hardcoded to require a multi wildcard 2 
char's long.

I left the defaults as they were (Paradox wildcard symbols).  You can
easily set the wildcard symbols you want in the properties.


Paradox wildcard symbols:
  ..  for multi (skip zero or more char's)
  @   for single (skip exactly 1 character)

To use Unix and MS-DOS wildcard symbols:
  *   for multi
  ?   for single

I normally use the standard SQL wildcard symbols:
  %  for multi 
  _  for single



These bugs were fixed:

Wildcard searches didn't work if your pattern began with a multi 
wildcard.

If you were already on the last record, a "Find Next" did nothing. 
I fixed it to report that no match was found.


Use of an Index
---------------

The DBSEARCH component uses an index to speed up the search if one 
is found on the specified field.  But, in order to support TQueries
and wildcard searching, there had to be some limits placed on the 
use of an index:
  1.  TQuery searches will never use an index (most back-end 
      databases, such as Oracle, don't allow you to work with 
      an index)
  2.  If any wildcards are in the search pattern, an index 
      won't be used.


Demo
----
I added a simple demo project to show how easy it is to use
DBSearch in a project.  It works just as easily with a TQuery
as it does with a TTable.  There is only one line of code needed
to call DBSearch!


NOTE:  I did NOT update either the .HLP file or the .KWF file
that were distriuted with version 2 of this component.  I've
included them with this distribution in case they are helpful
to someone.


This component is public domain.  As common sense dictates,
you can't sue me or the USAF if this component malfunctions
in any way.


Eric Engler
Air Force Safety Center
englere@smtps.saia.af.mil
