Product Fuzzy Search 1.0 from 10 Aug 2000
Description Tool for searching string occurence with error.
Author Copyright (c) 2000, SoftLab
Web:   http://softlab.od.ua
Email: support@softlab.od.ua
Status Freeware for non commercial use, source $10. Online registration is available.


This is a legal Agreement between you (either an single individual or an entity, herein referred to as Licensee) and SoftLab (herein after referred to as Licensor). By installing this software (herein after referred to as Product), you indicate your acceptance of this Agreement.

SOFTLAB FREE NON COMMERCIAL LICENSE AGREEMENT

  1.GRANT OF LICENSE.

    1.1 Licensor grants you a non-exclusive royalty-free license for NON COMMERCIAL USE of the Product accompanying this agreement. You are granted a non-exclusive, royalty-free right to reproduce and redistribute executable files created using the Product in conjunction with NON COMMERCIAL software products that you develop.

    1.2 You shall not use, copy, rent, lease, sell, modify, decompile, disassemble, otherwise reverse engineer, or transfer the Product except as provided in this Agreement. Any such unauthorized use shall result in immediate and automatic termination of this Agreement.

    1.3 You may transfer and distribute the Product in its unmodified form via electronic means to another persons so long as their use of the Product will be strictly for the purpose of NON COMMERCIAL USE.

    1.4 You are specifically prohibited from charging, or requesting donations for copies of the Product, distributing the Product with any other products without Licensors prior written permission.

  2. WARRANTY AND LIMITATION OF LIABILITY.

The Licensor hereby disclaims all warranties of any kind relating to the Product, whether express or implied, including without limitation any implied warranties of merchantability or fitness for a particular purpose. The Licensee must assume the entire risk of using the Product.

Fuzzy searching is the tool for search string occurence with error. Under an error of search we accept an incongruity / exception / addition of the character. Example of usage:

var FSearch: TFuzzySearch;
    ThatSearch: string;
    Text: string;
    // how many error may be in occurence
    SearchError: integer;

SearchError:=1;
FSearch:=TFuzzySearch.Create(ThatSearch,SearchError);
if FSearch.Match(PChar(Text)) then
  repeat
    writeln('Position:  '+IntToStr(FSearch.FoundPos));
    writeln('Occurence: '+FSearch.FoundStr);
    writeln('Error:     '+IntToStr(FSearch.HowClose));
  until not FSearch.Next;
FSearch.Free;

For more detail see examples.