读书人

帮忙将C++代码转换为Delphi代码,该如何

发布时间: 2012-03-22 17:43:57 作者: rapoo

帮忙将C++代码转换为Delphi代码
CString strHostName;
unsigned char ch[50] = {0x00};
m_strLocalName = 'mestars ';
unsigned char crc;
int i = 0, k = 0;
ch[0] = 0x55;
ch[1] = 0xAA;
ch[2] = 0xFD;
ch[3] = 0x01;
ch[4] = m_strLocalName.GetLength() + 5;;
ch[5] = 0x01;
ch[6] = 0x01;
ch[7] = 0x38;


for(i = 0; i < m_strLocalName.GetLength(); i++)
{
ch[8 + i] = (unsigned char)m_strLocalName.GetAt(i);
}
ch[8 + i] = 0x00; //计算机名称结束符
crc = 0xff;
for(k = 2; k < (8 + i + 1); k++)
{
crc ^= ch[k];
crc = CRC_ary[crc]; // CRC_ary为一个数组unsigned char CRC_ary[]
}
ch[8 + i + 1] = crc;

[解决办法]
var
m_strLocalName : String;
ch : array[0..49] of Byte;
crc : Byte;
i, k : Integer;
begin
m_strLocalName := 'mestars ';
ch[0] := $55;
ch[1] := $AA;
ch[2] := $FD;
ch[3] := $01;
ch[4] := Length(m_strLocalName) + 5;;
ch[5] := $01;
ch[6] := $01;
ch[7] := $38;
i := 0;
while i < Length(m_strLocalName) do
begin
ch[8 + i] := ord(m_strLocalName[i + 1]);
inc(i);
end;
ch[8 + i] := $00; //计算机名称结束符
crc := $ff;
for k := 2 to 8 + i do
begin
crc := crc xor ch[k];
crc := CRC_ary[crc];
end;
ch[8 + i + 1] := crc;
end;

[解决办法]
已解

读书人网 >.NET

热点推荐