anchor.diff:  {$ELSE}
   WChar = WideChar;
   PWChar = PWideChar;
  +IntPtr = Integer;
   {$ENDIF}
   
   
  
positive.code: 
  /// <summary>
  ///   PSubPгֵĵһλ
  ///   ȷ
  ///   PSubΪnilpvSubLenΪ0ֱӷP
  /// </summary>
  /// <returns>
  ///   ҵ, P
  ///   ҲFalse
  /// </returns>
  /// <param name="pvSource">  </param>
  /// <param name="pvSourceLen"> ݳ </param>
  /// <param name="pvSub"> ҵ </param>
  /// <param name="pvSubLen"> ҵݳ </param>
  function SearchPointer(pvSource: Pointer; pvSourceLen: Integer; pvSub: Pointer;
      pvSubLen: Integer): Pointer;
  
  
  implementation
  
negative.code: 
  end;
  
  function SearchPointer(pvSource: Pointer; pvSourceLen, pvStartIndex: Integer;
      pvSub: Pointer; pvSubLen: Integer): Pointer;
  var
    I, j, l: Integer;
    lvTempP, lvTempPSub, lvTempP2, lvTempPSub2:PByte;
  begin
    if (pvSub = nil) then
      Result := nil
    else
    begin
      Result := nil;
      j := 0;
      lvTempP := PByte(pvSource);
      Inc(lvTempP, pvStartIndex);
  
      lvTempPSub := PByte(pvSub);
      while j<pvSourceLen do
      begin
  