anchor.diff:    end;
   end;
   
  +function SplitToArrayStr(const s: String; pvSpliterChars: TSysCharSet):
  +    TArrayStrings;
  +var
  +  p:PChar;
  +  lvValue : String;
  +  l, idx, r:Integer;
  +  procedure checkLength();
  +  begin
  +    if idx <= l then
  +    begin
  +      if idx < 8 then l := 8
  +      else if idx < 64 then l := 64
  +      else if idx < 128 then l := 128
  +      else l := idx + 1024;           
  +      SetLength(Result, l);
  +    end;
  +  end;
  +begin
  +  p := PChar(s);
  +  l := 0;
  +  idx := 0;
  +  while True do
  +  begin
  +    // ͷ
  +    r := LeftUntil(P, pvSpliterChars, lvValue);
  +
  +    if r = -1 then
  +    begin    // ûƥ䵽
  +      if P^ <> #0 then
  +      begin  // һַ
  +        // ӵб
  +        SetLength(Result, idx + 1);
  +        Result[idx] := P;
  +        Inc(idx);
  +      end;
  +      Exit;
  +    end else
  +    begin
  +      // ƥɹ
  +      checkLength();
  +      Result[idx] := lvValue;
  +      Inc(idx);
  +    end;
  +  end;
  +end;
  +
   
   function URLDecode(const ASrc: URLString; pvIsPostData: Boolean = true): URLString;
   var
  
positive.code: 
  
  
  initialization
  
  {$IFDEF MSWINDOWS}
  
negative.code: /// <param name="pvSpliterChars"> ָ </param>
  function SplitStrings(const s: String; pvStrings: TStrings; pvSpliterChars:
      TSysCharSet): Integer;
  
  /// <summary>
  ///   SpliterCharsṩַзַָ뵽Array of String
  /// </summary>
  /// <returns>
  ///   طָĸ
  /// </returns>
  /// <param name="s"> Դַ </param>
  /// <param name="pvStrings"> ַб </param>
  /// <param name="pvSpliterChars"> ָ </param>
  function SplitToArrayStr(const s: String; pvSpliterChars: TSysCharSet):
      TArrayStrings;
  
  
  /// <summary>
  