各位帮小弟我看看,这段VC的代码如果用delphi如何写

各位帮我看看,这段VC的代码如果用delphi怎么写
unsigned char CheckSumCalulate(unsigned char * pBuffer, unsigned char len)
{
unsigned i;
unsigned char checksum = 0;
unsigned char tmp = 0;

for(i = 0;i< len; i++)
{
tmp + = pBuffer[i];
}

checksum = ~tmp + 1;
return checksum;
}

------解决方案--------------------
Delphi(Pascal) code

function CheckSumCalucate(pBuffer: PByte;  len: Byte): Byte;
var
  i   : Byte;
  tmp : Byte;
begin
  tmp := 0;
  for i := 1 to len do
  begin
    tmp := tmp + pBuffer^;
    inc (pBuffer);
  end;
  CheckSumCalucate := not tmp + 1;
end;