unsigned int CalCrc(char * buffer,unsigned int count)
{
unsigned int i,j;
unsigned int CrcValue = 0;
for(i=0;i<count;i++)
{
CrcValue = CrcValue ^ ( buffer[i] << 8 ); for (j = 0; j < 8; j++)
if (CrcValue & 0x8000)
CrcValue = (CrcValue << 1) ^ 0x1021;
else
CrcValue = CrcValue << 1;
}
return (CrcValue);
}
请问以上代码用delphi怎么写
{
unsigned int i,j;
unsigned int CrcValue = 0;
for(i=0;i<count;i++)
{
CrcValue = CrcValue ^ ( buffer[i] << 8 ); for (j = 0; j < 8; j++)
if (CrcValue & 0x8000)
CrcValue = (CrcValue << 1) ^ 0x1021;
else
CrcValue = CrcValue << 1;
}
return (CrcValue);
}
请问以上代码用delphi怎么写
解决方案 »
- 问题:数据提供程序或其他服务返回 E_FAIL 状态。
- 大家帮忙测试一下这个地址通不通:http://cg1120.vicp.net/index.asp
- 看了有收获。delphi关于sql server数据库的问题
- 在dbgrid中怎样实现这样的功能?
- 华为的短信群发函数的用户(SubmitAExEx)
- 高分诚请高手解决一个小问题!!!
- 请问大家,已经编译好的exe文件,复制到另一台没有delphi环境的机器上出错..
- InfoPower3000的wwDBRichEdit控件的存储问题 数据库是Access,请各位大虾指教?
- 现在我要定义一种新的数据类型,如何定义啊!不从任何数据类型派生
- 各位大哥:快来帮帮我!!——困惑中的白小妹
- 高手帮忙,这个功能怎么实现?
- idftp 登陆
Function GetCRC(Buf:pchar;len:integer):DWord;
var
i,j:integer;
temp:integer;
begin
Result := $0;
//---------------------------------------------------------
For i := 0 to len-1 do
begin
Result := Result xor (ord(Buf[i]) shl 8) ;
//-------------------------------------------------------
For j :=1 to 8 do
begin
temp := Result and $8000;
Result := Result shl 1;
if temp = 1 then Result := Result xor $1021;
end;
//-------------------------------------------------------
end;
//--------------------------------------------------------end;