The vbRichClient5 library for VB6 includes support for the SQLite database engine, and acts as a wrapper for the user defined collation (sort) and user-defined functions features of SQLite. Thanks to the work of Olaf Schmidt, it is really easy to create standard VB6 classes that extend the functionality of SQLite.
I've been experimenting with some "fuzzy" search routines using my own custom collation and ranking code (modified Metaphone), intertwined with the vbRC5 ranking code (RatCliff), and have put together a little demo here:
"Search" is a really interesting (and constantly evolving) area of human>computer interaction, and I think VB6 is somewhat lacking (no native regex, no built-in fuzzy algorithms like metaphone, ratcliff, etc...). I'm really hoping for some input from the community on how to make this fuzzy matching better, under more search/language scenarios - for the benefit of all. Please feel free to hack away with the above demo and report back with your results, and let's see if we can create a search algorithm (or suite of algorithms) that produce consistently useful results.
I did the same exercise, only without using vbRichClient5.
Made a sample program using 2 files "games.txt" and "folders.txt", which needed to be matched in an older thread.
I used and adapted code for 5 different fuzzy string match routines.
The matching results for each routine are display in a MSFlexGrid.
I think I will extend my demo with some of the comparison methods that you've compiled into your demo - it will be interesting to experiment with various weighting combinations of the different methods to see what produces the best results across various search criteria.