Class: BoyerMoore in Category General VBA/VB6 : Searching and Sorting from Total Visual SourceBook

Class that implements Boyer-Moore string searching using VBA and VB6.

The Boyer-Moore string-searching algorithm provides a highly optimized method for searching for a sub-string within a string. The Boyer-Moore algorithm takes advantage of its knowledge of the string being searched for. By doing this, it is possible to search a string without examining all the characters in the string.

Procedure Name Type Description
(Declarations) Declarations Declarations and private variables for the CBoyerMoore class.
CaseSensitive Property Determine whether or not the search is case sensitive. This property must be set before the FindText and Text properties.
FindText Property Get the text to search for.
Text Property Get the value of the text being searched.
FindNext Method Finds the next matching string. This function increments the index into the search buffer each time it is called. To begin searching from the beginning of the search buffer, call the Reset method.
ResetSearch Method Reset the search.
' Example of CBoyerMoore
'
' To use this example, create a new module and paste this code into it.
' Then run the procedure by putting the cursor in the procedure and pressing:
'    F5 to run it, or
'    F8 to step through it line-by-line (see the Debug menu for more options)

Private Sub Example_CBoyerMoore()
  ' Comments: Example of using the CBoyerMoore class in VBA or VB6.
  '           The Boyer-Moore string-searching algorithm provides a highly optimized method for searching for a sub-string within a string.
  '           The Boyer-Moore algorithm takes advantage of its knowledge of the string being searched for.
  '           By doing this, it is possible to search a string without examining all the characters in the string.

  Dim lngFindStart As Long
  Dim lngFindLength As Long
  Dim clsBoyerMoore As CBoyerMoore

  Set clsBoyerMoore = New CBoyerMoore

  clsBoyerMoore.CaseSensitive = True
  clsBoyerMoore.FindText = "Hello"
  clsBoyerMoore.Text = "Hello World"
  clsBoyerMoore.ResetSearch

  Do While clsBoyerMoore.FindNext(lngFindStart, lngFindLength)
    Debug.Print "'" & Mid$("Hello World", lngFindStart, lngFindLength) & "' was found in string at position " & lngFindStart
  Loop

End Sub

Total Visual SourceBook The source code in Total Visual Sourcebook includes modules and classes for Microsoft Access, Visual Basic 6 (VB6), and Visual Basic for Applications (VBA) developers. Easily add this professionally written, tested, and documented royalty-free code into your applications to simplify your application development efforts.

Total Visual SourceBook is written for the needs of a developer using a source code library covering the many challenges you face. Countless developers over the years have told us they learned some or much of their development skills and tricks from our code. You can too!

Additional Resources

Total Visual SourceBook CD and Printed Manual

Microsoft Access/ Office 2016, 2013, 2010, and 2007 Version
is Shipping!

New features in Total Visual SourceBook for Access, Office and VB6

Supports Access/Office 2016, 2013, 2010 and 2007, and Visual Basic 6.0!


View all FMS products for Microsoft Access All Our Microsoft Access Products

Reviews

Reader Choice Award for MS Access Source Code Library
Reader Choice

"The code is exactly how I would like to write code and the algorithms used are very efficient and well-documented."

Van T. Dinh, Microsoft MVP

SourceBook Info

Additional Info

Question

 

 

Free Product Catalog from FMS