program PointerIteration; {$APPTYPE CONSOLE} uses System.SysUtils, System.Diagnostics; function GetHashCode1(Data: PByte; Length: Integer): Integer; var i: Integer; begin Result := 17; for i := 1 to Length do begin Result := Result*23 + Data^; inc(Data); end; end; function GetHashCode2(Data: PByte; Length: Integer): Integer; var EndOfMemoryBlock: PByte; begin EndOfMemoryBlock := PByte(NativeInt(Data)+Length); Result := 17; while Data