CRC-Berechnung Beispielprogramm für Visual-Basic: ' * Zuerst die Codetabelle erzeugen * Dim CRCT(0 To 255) As Long ' Codetabelle für CRC-16-Check Dim CRC As Long ' Kurzzeitige Verwendung Dim i as Integer ' Schleifenvariable Dim j as Integer ' Schleifenvariable Dim HB as Long ' CRC-Highbyte Dim LB as Long ' CRC-Lowbyte ' * Codetabelle erzeugen (CRC-16) * ' Dieses braucht nur 1x gemacht werden. For i = 0 To 255 CRC = i For j = 1 To 8 If (CRC And 1) = 1 Then CRC = Fix(CRC / 2) Xor 33800 Else CRC = Fix(CRC / 2) End If Next j CRCT(i) = CRC Next i ' CRC über den String "Daten$" berechnen. ' Werte von CRC-Highbyte ist dann in HB, CRC-Lowbyte ist dann in LB. CRC = 0 For i = 1 To Len(Daten$) HB = Fix(CRC / 256) LB = CRC - (256 * HB) CRC = CRCT(LB Xor Asc(Mid$(Daten$, i, 1))) Xor HB Next i HB = Fix(CRC / 256) ' CRC-High-Byte LB = CRC - (256 * HB) ' CRC-Low-Byte Dieses Beispiel wurde zur Verfügung gestellt von: Marco Bungalski GmbH Große Straße 117 27283 Verden Telefon: 04231 - 3209999 Fax: 04231 - 3209998 www.bungalski.de