*** HyperString v2.0 *** (c)1996,1997 EFD Systems, All rights reserved efd@mindspring.com *** THIS IS NOT PUBLIC DOMAIN SOFTWARE *** See below for license agreement, disclaimer and installation. Introduction --------------------------------------------------------- Welcome to HyperString! One of the most significant new features with Delphi32 is long dynamic strings. However, the built-in library functions don't really reveal the full potential of these new strings. HyperString provides over 200 fast, efficient string management routines to help you realize the full power of this highly versatile new data type. A Taste of HyperString ----------------------------------------------- Below are a few of the many features of HyperString. String Searching and Editing - Virtually every imaginable low level function for string searching (forward, reverse, case insensitive, wildcard, "fuzzy", etc.) and editing. Most of the low level routines are written in optimized BASM for maximum speed and efficiency. Arrays - Unique implementation of dynamic numeric arrays (integer, single, double, etc.) using long dynamic strings as containers. The easiest, safest way to create and use dynamic arrays in Delphi. Expression Evaluation - The highly compact CalcStr() routine is a working demo of the power of HyperString. Basic math operators, parentheses, exponents and functions such as LN() and ABS() are all supported in fewer than 100 lines of source code. Additional functions are easily added. Tokens - A full set of token routines support the creation of sophisticated lookup tables and hierarchial data structures inside strings. Easily add, insert, delete and replace tokens using multiple delimiters. Unsigned Integers - For some reason, Borland is reluctant to provide true 32-bit unsigned integers (Cardinal is only 31 bits) so we did it. Functions are provided for unsigned integer add, subtract, multiply, divide, compare and (of course) convert to/from string format. User Comments -------------------------------------------------------- "Just wanted to let you know that I've now re-written a substantial number of HomeSite's string manipulation routines using HyperString, and the resulting performance boost is simply incredible. I now have functions that operate many times faster than before, which will be a real hit with my users. So, thanks for the excellent work on your product! " --- Nick Bradbury; author of HomeSite HTML editor Installation --------------------------------------------------------- Installing the HyperString library is as easy as 1-2-3: 1) Copy HYPERSTR.PAS (or the DCU) to your Delphi Library directory. (..\DELPHI\LIB) 2) Copy HYPERSTR.HLP and HYPERSTR.CNT to your Delphi Help directory. (..\DELPHI\HELP) 3) (Optional, but highly recommended) With minimal effort, the WinHelp docs for HyperString can be seamlessly integrated into Delphi's on-line Help for convenient access during coding. First, make a backup copy of ..\DELPHI\HELP\DELPHI.CNT (DELPHI3.CNT) Edit DELPHI.CNT (it's a simple text file) using NOTEPAD, WORDPAD or the ASCII editor of your choice. Insert 2 lines as follows based on your version of Delphi (version 2 or 3). *** Delphi2 *** -------------------------------------------------------------- Insert as Line #3 > :Index HyperString Library =hyperstr.hlp Insert as Last Line > :Include hyperstr.cnt -------------------------------------------------------------- *** Delphi3 *** -------------------------------------------------------------- Insert in Index Section > :Index HyperString Library =hyperstr.hlp (near top of file) Insert in Include Section > :Include hyperstr.cnt (near end of file) -------------------------------------------------------------- The colons are to be added as part of each line. Once you've finished editing, DELPHI.CNT should look something like this: -------------------------------------------------------------- :Base delphi.HLP>main :Title Delphi Help :Index HyperString Library =hyperstr.hlp . . . :Include hyperstr.cnt -------------------------------------------------------------- NOTE: Be sure to press [Enter] after typing the last line in the file. WinHelp will sometimes ignore lines that are not terminated by a CR/LF pair. In other words, the very last line in DELPHI.CNT should appear to be an empty line as shown above. Save the file and you're done! The next time you access Delphi Help, you'll receive the message, "Preparing Help files for first use" This indicates that WinHelp is rebuilding the Delphi Help indexes to include HyperString. Once this is complete, you should see a new entry for HyperString at the bottom of the Help Contents page and entries for the HyperString routines should be in the Index. Using HyperString ---------------------------------------------------- HyperString is a non-visual library. Once installed, simply add 'HyperStr' to the 'Uses' clause in your unit and you're ready to make use of all the HyperString routines. Ordering HyperString ------------------------------------------------- Once you use HyperString, you may decide that you would like to have the full source code. Currently there are 3 ways to order. 1) From the World Wide Web. Using a major credit and a secure link from our web site at: http://efd.home.mindspring.com 2) By mail. Send check or money order for $30 + $2 shipping (US banks only) to: EFD Systems 304 Smokerise Circle Marietta, GA 30067 USA 3) From CompuServe. This option has the advantage of immediate (usually within 24 hrs) electronic delivery of the source code and no shipping or handling fee. Type "GO SWREG" and register #14172 UnInstall ------------------------------------------------------------ Should you decide that HyperString is not for you (unlikely but possible ), delete the 3 files mentioned above. If you modified DELPHI.CNT, simply re-edit the file and delete the 2 lines that were added or better yet, overwrite the file with the backup copy. License Agreement and Disclaimer ------------------------------------- *** THIS IS NOT PUBLIC DOMAIN SOFTWARE *** By using this software, you indicate your acceptance of the terms and conditions below. This software (the product) is copyright 1996-97 EFD Systems, all rights reserved. Except as detailed herein, you are granted a license to use this software without further payment of fees. The compiled software (but not the source code) may be distributed to others for similar use, provided that no fees are charged (excluding on-line access fees) and the software is distributed in it's entirety, including all documentation. This software shall NOT be used in the production of any similar or competing product, i.e. any product which reproduces or duplicates some or all of this product's features, functionality and intended use. If your intended use does not clearly conform to these requirements, you must request and receive written permission from the author before using the software. A source code license (if purchased) grants the user the right to view and modify the source code on a private, personal use basis. Except as noted above, machine readable object code derived from the source may be incorporated into software authored by the licensee. The source code itself remains the proprietary property of EFD Systems and shall not be reproduced or redistributed under any circumstances. Redistribution of the source code; whether deliberate, the result of negligence or otherwise, will be considered a willful, intentional copyright violation. THIS SOFTWARE IS PROVIDED SOLELY AS-IS AND WITHOUT WARRANTY INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. THE USER AGREES TO INDEMNIFY AND HOLD THE AUTHOR HARMLESS FROM AND AGAINST ANY AND ALL CLAIMS ARISING FROM OR RELATED TO USE OF THE PRODUCT. UNDER NO CIRCUMSTANCES SHALL THE AUTHOR'S LIABILITY EXCEED THE SOFTWARE LICENSE FEE. By using this software, you indicate your acceptance of the terms and conditions above. Revision History ----------------------------------------------------- v1.0 - 96/12/25, Original release (Happy holidays). v1.5 - 97/06/01, Many new routines, instructions for Delphi 3. v2.0 - 97/08/01, Added dynamic arrays and many new features.