📄 accrc.frm
字号:
VERSION 5.00
Begin VB.Form accrc
Caption = "CRC-16"
ClientHeight = 4260
ClientLeft = 60
ClientTop = 345
ClientWidth = 6000
LinkTopic = "Form1"
ScaleHeight = 4260
ScaleWidth = 6000
StartUpPosition = 1 'CenterOwner
Begin VB.TextBox Text6
Alignment = 2 'Center
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 2520
TabIndex = 26
Text = "Text6"
Top = 3240
Width = 1095
End
Begin VB.TextBox Text5
Alignment = 2 'Center
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 480
TabIndex = 25
Text = "3"
Top = 3240
Width = 1095
End
Begin VB.TextBox Text1
Alignment = 2 'Center
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Index = 3
Left = 4440
TabIndex = 12
Text = "58"
Top = 480
Width = 1095
End
Begin VB.TextBox Text1
Alignment = 2 'Center
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Index = 2
Left = 3120
TabIndex = 11
Text = "2"
Top = 480
Width = 1095
End
Begin VB.TextBox Text1
Alignment = 2 'Center
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Index = 1
Left = 1800
TabIndex = 10
Text = "90"
Top = 480
Width = 1095
End
Begin VB.TextBox Text1
Alignment = 2 'Center
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Index = 0
Left = 480
TabIndex = 9
Text = "1"
Top = 480
Width = 1095
End
Begin VB.TextBox Text1
Alignment = 2 'Center
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Index = 4
Left = 480
TabIndex = 8
Text = "58"
Top = 1320
Width = 1095
End
Begin VB.TextBox Text1
Alignment = 2 'Center
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Index = 5
Left = 1800
TabIndex = 7
Text = "58"
Top = 1320
Width = 1095
End
Begin VB.TextBox Text1
Alignment = 2 'Center
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Index = 6
Left = 3120
TabIndex = 6
Text = "58"
Top = 1320
Width = 1095
End
Begin VB.TextBox Text1
Alignment = 2 'Center
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Index = 7
Left = 4440
TabIndex = 5
Text = "58"
Top = 1320
Width = 1095
End
Begin VB.TextBox Text1
Alignment = 2 'Center
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Index = 8
Left = 480
TabIndex = 4
Text = "58"
Top = 2160
Width = 1095
End
Begin VB.TextBox Text1
Alignment = 2 'Center
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Index = 9
Left = 1800
TabIndex = 3
Text = "58"
Top = 2160
Width = 1095
End
Begin VB.TextBox Text1
Alignment = 2 'Center
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Index = 10
Left = 3120
TabIndex = 2
Text = "58"
Top = 2160
Width = 1095
End
Begin VB.TextBox Text1
Alignment = 2 'Center
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Index = 11
Left = 4440
TabIndex = 1
Text = "58"
Top = 2160
Width = 1095
End
Begin VB.CommandButton Command2
Caption = "Command2"
Height = 495
Left = 4320
TabIndex = 0
Top = 3240
Width = 1095
End
Begin VB.Label Label3
AutoSize = -1 'True
Caption = "Label3"
Height = 195
Left = 2520
TabIndex = 28
Top = 2880
Width = 480
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "数的个数"
Height = 195
Left = 720
TabIndex = 27
Top = 3000
Width = 720
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "数据4"
Height = 195
Index = 3
Left = 4800
TabIndex = 24
Top = 240
Width = 450
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "数据3"
Height = 195
Index = 2
Left = 3360
TabIndex = 23
Top = 240
Width = 450
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "数据2"
Height = 195
Index = 1
Left = 2040
TabIndex = 22
Top = 240
Width = 450
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "数据1"
Height = 195
Index = 0
Left = 720
TabIndex = 21
Top = 240
Width = 450
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "数据5"
Height = 195
Index = 4
Left = 720
TabIndex = 20
Top = 1080
Width = 450
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "数6"
Height = 195
Index = 5
Left = 2040
TabIndex = 19
Top = 1080
Width = 270
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "数据7"
Height = 195
Index = 6
Left = 3360
TabIndex = 18
Top = 1080
Width = 450
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "数据8"
Height = 195
Index = 7
Left = 4800
TabIndex = 17
Top = 1080
Width = 450
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "数据9"
Height = 195
Index = 8
Left = 600
TabIndex = 16
Top = 1920
Width = 450
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "数据10"
Height = 195
Index = 9
Left = 1920
TabIndex = 15
Top = 1920
Width = 540
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "数据11"
Height = 195
Index = 10
Left = 3240
TabIndex = 14
Top = 1920
Width = 540
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "数据12"
Height = 195
Index = 11
Left = 4800
TabIndex = 13
Top = 1920
Width = 540
End
End
Attribute VB_Name = "accrc"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command2_Click()
Dim XMT(0 To 12)
Dim CT, CH, CL, C1, C2 As Integer 'CT判断低位,CH判断是否小于零,
Dim i, j, N As Integer
Dim CRCTMP
CRCTMP = &HFFFF
N = Text5.Text
For i = 1 To N
XMT(i) = "&H" & Text1(i - 1).Text '&H表示16进制
Next i
For i = 1 To N
CRCTMP = CRCTMP Xor (XMT(i))
For j = 1 To 8
CT = CRCTMP And &H1 '和1求与看最后一位是不是0,
If CRCTMP < 0 Then
CH = 1
Else
CH = 0
GoTo 180
End If
CRCTMP = CRCTMP And &H7FFF '如果为负数,把最高位变为零
180: CRCTMP = Int(CRCTMP / 2)
If CH = 1 Then CRCTMP = CRCTMP Or &H4000
If CT = 1 Then CRCTMP = CRCTMP Xor &HA001
Next j
Next i
If CRCTMP < 0 Then
CL = 1
CRCTMP = CRCTMP And &H7FFF
Else
CL = 0
End If
C1 = CRCTMP And &HFF '高8位 因为相反
C2 = (CRCTMP And &HFF00) / 256 '低8位
If CL = 1 Then C2 = C2 Or &H80
Text6 = Hex$(C1) & "/" & Hex$(C2)
Label3.Caption = CRCTMP
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -