- Option Explicit
- Dim crc32Table(255) As Long
-
- Private Sub Command1_Click()
- Dim strHex As String
- Dim i As Long
- Dim buffer() As Byte
- strHex = "AA 44 12 1C 2A 00 02 20 48 00 00 00 9D B4 29 07 B0 40 F8 20 00 00 10 00 00 00 01 00 00 00 00 00 32 00 00 00 18 8E 3D F1 67 B2 43 40 86 C3 7B 0F 36 30 5D 40 00 00 60 95 E5 38 03 40 00 00 00 00 3D 00 00 00 6D 87 D4 3B 6D 87 D4 3B 60 61 7F 3C 30 30 30 34 00 00 80 3F 00 FC 6C 46 11 11 11 11 00 00 00 4B"
-
- ReDim buffer(Len(strHex) \ 3)
- For i = 1 To Len(strHex) Step 3
- buffer((i - 1) / 3) = Val("&H" & Left(Mid(strHex, i, 3), 2))
- Next
-
-
-
- Text1 = Right("00" & Hex(crc32byt(buffer)), 8)
-
- End Sub
-
- Public Function crc32byt(buf() As Byte) As Long
- Dim i As Long, iCRC As Long, lngA As Long, ret As Long
- Dim b() As Byte
- Dim bytT As Byte, bytC As Byte
- b = buf
- iCRC = &HFFFFFFFF
- InitCrc32
- For i = 0 To UBound(b)
- bytC = b(i)
- bytT = (iCRC And &HFF) Xor bytC
- lngA = ((iCRC And &HFFFFFF00) / &H100) And &HFFFFFF
- iCRC = lngA Xor crc32Table(bytT)
- Next
- ret = iCRC Xor &HFFFFFFFF
- crc32byt = ret
- End Function
-
-
- Public Function InitCrc32(Optional ByVal Seed As Long = &HEDB88320, Optional ByVal Precondition As Long = &HFFFFFFFF) As Long
- Dim i As Integer, j As Integer, Crc32 As Long, Temp As Long
- For i = 0 To 255
- Crc32 = i
- For j = 0 To 7
- Temp = ((Crc32 And &HFFFFFFFE) / &H2) And &H7FFFFFFF
- If (Crc32 And &H1) Then Crc32 = Temp Xor Seed Else Crc32 = Temp
- Next
- crc32Table(i) = Crc32
- Next
- InitCrc32 = Precondition
- End Function
不是很懂 ,请教以上代码 怎么放入 狐表里面,
连接位置
http://blog.csdn.net/zdingyun/article/details/46839779
我试过直接放入 全局代码 不行。
还有 怎么调用 函数
[此贴子已经被作者于2016/1/13 10:24:36编辑过]