📄 form1.frm
字号:
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 3090
ClientLeft = 60
ClientTop = 450
ClientWidth = 5190
LinkTopic = "Form1"
ScaleHeight = 3090
ScaleWidth = 5190
StartUpPosition = 3 '窗口缺省
Begin VB.TextBox Text4
Height = 1095
Left = 6240
TabIndex = 6
Text = "Text4"
Top = 2040
Width = 3255
End
Begin VB.TextBox Text3
Height = 855
Left = 6240
TabIndex = 5
Text = "Text3"
Top = 720
Width = 2895
End
Begin VB.TextBox Text2
Height = 615
Left = 1800
TabIndex = 2
Text = "Text2"
Top = 1440
Width = 2775
End
Begin VB.TextBox Text1
Height = 495
Left = 1680
TabIndex = 1
Text = "Text1"
Top = 600
Width = 2775
End
Begin VB.CommandButton Command1
Caption = "计算"
Height = 615
Left = 1440
TabIndex = 0
Top = 2280
Width = 1455
End
Begin VB.Label Label2
Caption = "计算结果"
Height = 495
Left = 120
TabIndex = 4
Top = 1440
Width = 1455
End
Begin VB.Label Label1
Caption = "要校验的数据"
Height = 495
Left = 240
TabIndex = 3
Top = 600
Width = 1215
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
Text2.Text = CRC(Text1.Text) '调用CRC16计算函数
End Sub
'取得CRC校验码
Public Function CRC(STR1 As String) As String
Dim CRCREG As Long '定义CRC寄存器
Dim MVAL As Long
Dim R As Integer
CRCREG = 65535 '把寄存器各位都置为1
If (Len(STR1) Mod 2 = 1) Then
STR1 = "0" & STR1 '当输入的数字串不是偶个数时,在前面补0
End If
For R = 1 To Len(STR1) Step 2
MVAL = Val("&H" + Mid(STR1, R, 2)) '提取输入的数的前两位,转换为十六进制的
CRCREG = CRCREG Xor MVAL
'CRCREG = CRCREG And 65535
For T = 1 To 8 Step 1
If (CRCREG And &H1) Then
CRCREG = (CRCREG \ 2) Xor &HA001
CRCREG = CRCREG And 65535
Else
CRCREG = CRCREG \ 2
'CRCREG = CRCREG And 65535
End If
Next
Next
Dim A As Long
Dim B As Long
A = CRCREG And 255 '取低八位
B = CRCREG And 65280 '取高八位
A = A * 256 '低八位变成高八位
B = B / 256 '高八位变成低八位
If (A + B) < 16 Then
CRC = "000" + Hex(A + B)
ElseIf (A + B) < 256 Then
CRC = "00" + Hex(A + B)
ElseIf (A + B) < 4096 Then
CRC = "0" + Hex(A + B)
Else
CRC = Hex(A + B)
End If
End Function
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -