Q&A

  • C++ 함수 인데, 델파이 코드로 변경 한지요?
안녕하세요.

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-->

감사 합니다.
2  COMMENTS
  • Profile
    이중철 2005.11.10 20:40
    <!--CodeS-->
    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-->

    직역하면 이정도 아닐까요?

  • Profile
    이규하 2005.11.10 21:17
    예술입니다 .. 어여 테스트 해봐야지 ..