...woher bekomme ich schnellere String Routinen?

Autor: Thomas Stutz

Kategorie: Strings

{
FastStrings is a set of string routines for manipulating large
strings at high speed.
Includes Boyer-Moore searching algorithm, backwards string searching,
and a very high-speed alternative for StringReplace.

Functions:
}

function Base64Encode(const Source: AnsiString): AnsiString;
function Base64Decode(const Source: string): string;
function CopyStr(const aSourceString : string; aStart, aLength : Integer) : string;
function Decrypt(const S: string; Key: Word): string;
function Encrypt(const S: string; Key: Word): string;
function ExtractHTML(S : string) : string;
function ExtractNonHTML(S : string) : string;
function HexToInt(aHex : string) : int64;
function LeftStr(const aSourceString : string; Size : Integer) : string;
function StringMatches(Value, Pattern : string) : Boolean;
function MissingText(Pattern, Source : string; SearchText : string = '?') : string;
function RandomFileName(aFilename : string) : string;
function RandomStr(aLength : Longint) : string;
function ReverseStr(const aSourceString: string): string;
function RightStr(const aSourceString : string; Size : Integer) : string;
function RGBToColor(aRGB : string) : TColor;
function StringCount(const aSourceString, aFindString : stringConst CaseSensitive :
  Boolean = TRUE) : Integer;
function SoundEx(const aSourceString: string): Integer;
function UniqueFilename(aFilename : string) : string;
function URLToText(aValue : string) : string;
function WordAt(Text : string; Position : Integer) : string;

function FastAnsiReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;
procedure FastCharMove(const Source; var Dest; Count : Integer);
function FastCharPos(const aSource : stringconst C: Char; StartPos : Integer): Integer;
function FastCharPosNoCase(const aSource : string; C: Char; StartPos : Integer): Integer;
function FastPos(const aSourceString, aFindString : stringconst aSourceLen,
  aFindLen, StartPos : Integer) : Integer;
function FastPosNoCase(const aSourceString, aFindString : stringconst aSourceLen,
  aFindLen, StartPos : Integer) : Integer;
function FastPosBack(const aSourceString, aFindString : stringconst aSourceLen,
  aFindLen, StartPos : Integer) : Integer;
function FastPosBackNoCase(const aSourceString, aFindString : stringconst
  
aSourceLen, aFindLen, StartPos : Integer) : Integer;
function FastReplace(const aSourceString : stringconst aFindString,
  aReplaceString : string;
  CaseSensitive : Boolean = False) : string;
function FastTagReplace(const SourceString, TagStart, TagEnd: string;
  FastTagReplaceProc: TFastTagReplaceProc; const UserData: Integer): string;
function SmartPos(const SearchStr,SourceStr : string;
                  const CaseSensitive : Boolean = TRUE;
                  const StartPos : Integer = 1;
                  const ForwardSearch : Boolean = TRUE) : Integer;


Download here.

// (with source code + you can use this source code in your own commercial applications)

 

printed from
www.swissdelphicenter.ch
developers knowledge base