안녕하세요.
RK-XRM 이라는 카드 리더 하고, 통신 하는 기계에서 값을 받아서 프로그래밍을 해야 하는데요.
셈플 프로그램이 볼렌드 C 로 작성이 되어 있어서 조금 애를 먹고 있습니다.
델파이로 컨버팅 가능 하신분이 좀 도와 주시면 정말로 감사 하겠습니다.
<!--CodeS-->
unsigned calc_crc16(char *msgpoly,int bytes)
{
unsigned crc16 = 0;
char i;
while (0< bytes--)
{
crc16 = crc16 ^ (int) *msgpoly++ << 8;
for (i=0;i<8;i++)
{
if (crc16 & 0x8000) crc16 = crc16 << 1 ^ 0x1020;
else crc16 = crc16 << 1;
}
}
return (crc16);
}
<!--CodeE-->
감사 합니다.
Function calc_crc16(msgpoly : pchar; Bytes : integer) : word;
var
crc16 : word;
i : integer;
begin
crc16 := 0;
While (bytes > 0) do
begin
crc16 := crc16 XOr (Byte(msgpoly^) shl 8);
for i := 0 to 7 do
if (crc16 And $8000) <> 0 then
crc16 := (crc16 shl 1) XOr $1020
else
crc16 := crc16 shl 1;
inc(msgpoly);
dec(bytes);
end;
Result := Crc16;
end;
<!--CodeE-->
직역하면 이정도 아닐까요?