Announcement

Collapse
No announcement yet.

CRC-Prüfsumme CCITT C++ in Object Pascal übersetzen?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • CRC-Prüfsumme CCITT C++ in Object Pascal übersetzen?

    Hallo, ich möchte für ein Zahlungsterminal eine Schnittstelle mit CRC-Prüfsumme programmieren.

    Als Muster habe ich einen C++ Quellcode bekommen, den ich nicht in Object Pascal übersetzt kriege.

    Hat jemand Erfahrung mit so etwas oder kann mir diesen übersetzen?

    Hier der Quellcode :
    /*-------------------------------------------------------------------------*
    /
    unsigned int crc16update (unsigned int crc, char cData)
    {
    unsigned int bitlen,akku;

    bitlen = 8;
    while(bitlen --)
    {
    akku = cData ^ crc;
    crc >>= 1;
    if(akku & 1)
    crc ^= 0x8408;
    cData >>= 1;
    }
    return(crc);
    }
    /*-------------------------------------------------------------------------*
    /

  • #2
    Hallo!

    Ist nur schnell aus einem PHP Script geportet. Nicht getestet oder compiled, von daher kann ich keine Bugfrei-Garantie geben. Probier einfach und schau, ob es funktioniert.

    <pre>
    function CRC16 (Buffer: Array of Byte): Integer;
    var
    crc, x, y: Integer;

    begin
    crc := $FFFF;

    for x := Low (Buffer) to Hi (Buffer) do
    begin
    crc := crc xor Buffer[x];
    for y := 0 to 7 do
    if (crc and 1) = 1 then
    crc := (crc shr 1) xor 0xa001
    else crc := crc shr 1;
    end;

    Result := crc;

    end;
    </pre>

    Grüße,
    Mari

    Comment


    • #3
      Super! Danke für die Hilfe

      Comment

      Working...
      X