'form1--form8,8个窗体,一个模块
’form4
Private Sub Command1_Click()
Text1.Text = ""
Text2.Text = ""
End Sub
Private Sub Command2_Click()
Text3.Text = ""
Text4.Text = ""
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Command4_Click()
Dim CRC() As Byte
Dim s1 As String
Dim lens1 As Integer
Dim d() As Byte '待传输数据
Dim sd() As String '显示的字符
Text6.Text = ""
s1 = Replace(Text5.Text, " ", "") '去掉所有空格
lens1 = Len(s1)
If lens1 Mod 2 <> 0 Or s1 = ""
Then
MsgBox
"数据长度有误!", 64, "信息提示!! "
Text5.SetFocus
Exit
Sub
End If
ReDim sd(lens1)
For i = 0 To lens1 - 1
sd(i) =
Asc(Mid(s1, i + 1, 1)) '判断是否为十六进制字符
If (sd(i)
> 47 And sd(i) < 58) Or (sd(i)
> 64 And sd(i) < 71) Or (sd(i)
> 96 And sd(i) < 103) Then
Else
MsgBox "数据输入有误!", 64, "信息提示!! "
Text5.SetFocus
Exit Sub
End If
Next i
ReDim d(lens1 \ 2) As Byte
d(lens1 \ 2) = 0
For i = 0 To (lens1 \ 2) - 1 ' Step 2
d(i) =
"&H" & Mid(s1, i * 2 + 1, 2)
'd(lens1 \
2) = Val(d(lens1 \ 2)) + Val(d(i)) And &HFF
Next i
d(lens1 \ 2) = sum(d)
ReDim sd(lens1 \ 2) As String
For i = 0 To lens1 \ 2
If Val(d(i))
< 16 Then
sd(i) = "0" & Hex(d(i))
Else
sd(i) = Hex(d(i))
End If
If
Text6.Text = "" Then
Text6.Text = sd(i)
Else
Text6.Text = Text6.Text & " " &
sd(i)
End If
Next i
Label11.Caption = " " & lens1 \ 2
Label13.Caption = " " & lens1 \ 2 + 1
End Sub
Private Sub Command5_Click()
Text5.Text = ""
Text5.SetFocus
End Sub
Private Sub Command6_Click()
Label11.Caption = " " & 0
Label13.Caption = " " & 0
End Sub
Private Sub Command7_Click()
Unload Me
Form1.Show
End Sub
Private Sub Option1_Click(Index As Integer)
Dim CRC(1) As Byte
Dim d() As Byte '待传输数据
Dim sd() As String '显示的字符
Dim s1 As String
Dim lens1 As Integer
Text2.Text = ""
If Text1.Text = "" Then
Text1.SetFocus
Exit Sub
End If
s1 = Replace(Text1.Text, " ", "")
lens1 = Len(s1)
ReDim sd(lens1)
For i = 0 To lens1 - 1
sd(i) = Asc(Mid(s1, i + 1, 1))
If (sd(i) > 47 And sd(i) < 58) Or
(sd(i) > 64 And sd(i) < 71) Or (sd(i)
> 96 And sd(i) < 103) Then
Else
MsgBox "地址输入有误!", 64, "信息提示!! "
Text1.SetFocus
Exit Sub
End If
Next i
If lens1 > 2 Then
MsgBox "地址长度输入有误!", 64, "信息提示!! "
Text1.SetFocus
Exit Sub
End If
ReDim d(4) As Byte
ReDim sd(4) As String
d(0) = "&H" & Text1.Text
d(1) = &H1
d(2) = Index + 1
CRC(0) = sum(d) '调用sum计算函数
d(3) = CRC(0)
For i = 0 To 3
If Val(d(i)) < 16 Then
sd(i) = "0" & Hex(d(i))
Else
sd(i) = Hex(d(i))
End If
If Text2.Text = "" Then
Text2.Text = sd(i)
Else
Text2.Text = Text2.Text & " " &
sd(i)
End If
Next i
Text2.Text = "5C" & " " &
Text2.Text
End Sub
Private Sub Text1_Change()
Dim CRC(1) As Byte
Dim d() As Byte '待传输数据
Dim sd() As String '显示的字符
Dim s1 As String
Dim lens1 As Integer
Text2.Text = ""
If Text1.Text = "" Then
Text1.SetFocus
Exit Sub
End If
s1 = Replace(Text1.Text, " ", "")
lens1 = Len(s1)
ReDim sd(lens1)
For i = 0 To lens1 - 1
sd(i) = Asc(Mid(s1, i + 1, 1))
If (sd(i) > 47 And sd(i) < 58) Or
(sd(i) > 64 And sd(i) < 71) Or (sd(i)
> 96 And sd(i) < 103) Then
Else
MsgBox "地址输入有误!", 64, "信息提示!! "
Text1.SetFocus
Exit Sub
End If
Next i
If lens1 > 2 Then
MsgBox "地址长度输入有误!", 64, "信息提示!! "
Text1.SetFocus
Exit Sub
End If
ReDim d(4) As Byte
ReDim sd(4) As String
d(0) = "&H" & Text1.Text
d(1) = &H1
d(2) = Index + 1
CRC(0) = sum(d) '调用sum计算函数
d(3) = CRC(0)
For i = 0 To 3
If Val(d(i)) < 16 Then
sd(i) = "0" & Hex(d(i))
Else
sd(i) = Hex(d(i))
End If
If Text2.Text = "" Then
Text2.Text = sd(i)
Else
Text2.Text = Text2.Text & " " &
sd(i)
End If
Next i
Text2.Text = "5C" & " " &
Text2.Text
End Sub
Private Sub Text3_KeyUp(KeyCode As Integer, Shift As
Integer)
Dim s1 As String
Dim lens1 As Integer
Dim sd() As String '显示的字符
Text4.Text = ""
s1 = Replace(Text3.Text, " ", "")
If s1 = "" Then
Exit
Sub
End If
lens1 = Len(s1)
ReDim sd(lens1)
For i = 0 To lens1 - 1
sd(i) =
Asc(Mid(s1, i + 1, 1))
If sd(i)
> 47 And sd(i) < 58 Then
Else
MsgBox "数据输入有误!", 64, "信息提示!! "
Text3.Text = ""
Text4.Text = ""
Text3.SetFocus
Exit Sub
End
If
Next i
If Val(s1) > 2147483647 Then
MsgBox
"数据最大量程为 2147483647!", 64, "信息提示!! "
Text3.Text =
""
Text4.Text =
""
Text3.SetFocus
Exit
Sub
End If
Text4.Text = Hex(s1)
'Text2.Text = Val(Text10.Text)
End Sub
Private Sub Text4_Keyup(KeyCode As Integer, Shift As Integer)
Dim s1 As String
Dim lens1 As Integer
Dim s2 As Long
Dim d() As Byte '待传输数据
Dim sd() As Integer '显示的字符
Text3.Text = ""
s1 = Replace(Text4.Text, " ", "")
If s1 = "" Then
Exit
Sub
End If
lens1 = Len(s1)
ReDim sd(lens1)
For i = 0 To lens1 - 1
sd(i) =
Asc(Mid(s1, i + 1, 1))
If (sd(i)
> 47 And sd(i) < 58) Or (sd(i)
> 64 And sd(i) < 71) Or (sd(i)
> 96 And sd(i) < 103) Then
Else
MsgBox "数据输入有误!", 64, "信息提示!! "
Text4.Text = ""
Text3.Text = ""
Text4.SetFocus
Exit Sub
End If
Next i
If lens1 > 8 Or (lens1 = 8 And sd(0)
> 57) Then
MsgBox
"数据最大量程为 7FFFFFFF !", 64, "信息提示!! "
Text4.Text =
""
Text3.Text =
""
Text4.SetFocus
Exit
Sub
Else
ReDim d(lens1) As Byte
s2 = 0
For i = 0 To lens1 - 1 ' Step 2
d(i) =
"&H" & Mid(s1, i + 1, 1)
s2 = s2 +
Val(d(i)) * 16 ^ (lens1 - 1 - i)
Next i
Text3.Text = s2
End If
End Sub
Private Sub Form_Load()
Text1.Text = "01"
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Label11.Caption = " " & 0
Label13.Caption = " " & 0
Option1(0).Value = True
End Sub
分享
顶