Revision Information for TextPos:

1.0.00:
 - Original fully-functional search engine Code w/test GUI delivered by JPT

1.0.01:
 - Impliment TextPos class to decouple search engine from the rest of the utility

1.0.02
 - First fully functional version
 - Impliment command line parsing function
 - Add CommandLine Options and About forms
 - First pass at output file
 - Search filename and SearchWindow size hard-coded

1.0.03
 - Add .INI file with R/W for SearchFile, WindowSize and DisplayGUI options
 - Create .INI file with default values if one does not already exist
 - Terminate with error if SearchString is specified, but SearchFileName is not or is invalid
 - Add Settings/Options menu and dialogs
 - Update TextPos GUI
 - Streamline frmTextPos_Load proc
 - Fix zero-lenth file infinite loop issue
 - Add default and path-less output file functionality
 - Change default behaviour to load GUI
 - Decouple search processing from form code
 - Add Code Comments
 - Add searchString= to OutputFile

1.1.00
 - Further GUI enhancements
 - Add process time calculation outside of TextPos class to measure and report end-to-end app performance
 - Moved parameter validation to ValidateParms function in TextPos class
 - Typed input and output parameters in TextPos class
 - Add ability to search file from a user defined start position (byte)
 - Add search file size to TextPos class and output file
 - Modify TextPos procedure in TextPos class to search by explicit byte position instead of sequentially

1.1.01
 - Normalized and narrowed scope of constants in Main.bas procs
 - Reorganize some code for readability
 - Specify vbBinaryCompare parameter for InStr function in TextPos Class

1.1.02
 - Clean up CommandLine and Settings procs in Main module

1.2.00
 - Add ability to specify and return digits adjacent (to left and right of) search string from ComandLine
 - Improve exception handling logic in CommandLine Proc in Main Module

1.2.01
 - Add ability to specify AdjacentDigits in .INI file
 - Add AdjacentDigits to TextPos form

1.2.02
 - Improve error handling in CommandLine and ValidateCommandOptions

1.2.03
 - Fix error handling when negative values are passed into TextPos object

1.2.04
 - Add improved input-bounds checking and error handling in CommandLine

1.2.05
 - Fix GUI search does not pass file name not contained in .INI file to search engine

1.2.06
 - set default value of Result.TextPosition to "0" for outputfile to avoid null value being written in an error condition

1.3.00
 - Add BCD file format decoding for PI Search ** Not Fully Implimented in this build **
 - Add capability to display a digits starting at a given location in file by specifing a starting position and not specifing a search string 
 - Optimize file read operation by creating local buffered string for reuse instead of using STRING function inside of search loop
 - Converted module/class level constants to Enumerations (i.e. ERROR level constands)
 - Cleaned up dependencies between proceedures in TextPos class (i.e. ValidateParams) - still needs some work
 - Commented out block counter in TextPos search engine to reduce overhead

1.3.01
 - Fixed Command Line Validation to allow display of digits at given location from command line
 - Increased adjacent digits limit in command line parser from 255 to 1024 digits

1.4.00 (2009-04-08)
 - First implementation as an ActiveX DLL.  Modifications to TextPos.cls only from 1.3.01
 - Removed BlocksRead property and related counter code
 - Fixed DEFAULT_START_POSITION = 1 (was 0, causing error: 63)

1.4.01 (2009-04-17)
 - Added function to strip null characters (strTrimWhiteSpace) from adjacent digits string

1.4.02 (2011-05-04)
 - Added Sub in TextPos.cls to initialize Result variables on each execution
 - Added missing code for Get SearchStartPosition

1.4.03 (2013-03-22)
 - Changed default searchwindow setting from 4096 to 131072 to optimize performance
 - Changed default adjacent digits setting to 20
 - Fixed typo in Help About
 - Added VB Script demonstration search script to download package (recursive searches)