Dim A As String
Dim B() As Byte
Dim TS As String
Dim sTr As String
Dim Tl() As String
Dim strtem() As String
Dim yuant As String
A = Chr(15) & Chr(10)
A = A & A & A & A & A & A & A & A & Chr(0) & Chr(0) & Chr(0) & Chr(0)
A = A & Text4.Text & Chr(0) ' text4.text 最后要显示的 字符串B = StrConv(A, vbFromUnicode)For j = 0 To UBound(B) '把字符串 转化为 16进制字符串 yuant
yuant = yuant & " " & Hex(B(j))
Next
yuant = Trim(yuant)strtem = Split(yuant, " ") 'strtem 16进制 字符串数组ReDim Tl(UBound(strtem)) As StringFor i = 16 To UBound(strtem) '将 16进制 数组 还原成 字符串数组
If Val("&H" & strtem(i)) > 128 Then
If i + 1 > UBound(strtem) Then Exit For
Tl(i) = Chr(Val("&H" & strtem(i) & strtem(i + 1)))
i = i + 1
Debug.Print Tl(i) '这里不显示任何东西
Else
Tl(i) = Chr(Val("&H" & strtem(i)))
Debug.Print Tl(i) ''这里不显示任何东西 End If
Next
For i = 0 To UBound(Tl) '有趣的问题出现在这里 用text
'控件可以正常显示内容
If Tl(i) <> "" Then Text5.Text = Text5.Text & Tl(i)'如果 把text5.text 替换成字符变量
'那么 这个变量 不显示任何东西
'这里必须用text 控件
Next '请教 这是什么原因造成的?
End Sub
Dim B() As Byte
Dim TS As String
Dim sTr As String
Dim Tl() As String
Dim strtem() As String
Dim yuant As String
A = Chr(15) & Chr(10)
A = A & A & A & A & A & A & A & A & Chr(0) & Chr(0) & Chr(0) & Chr(0)
A = A & Text4.Text & Chr(0) ' text4.text 最后要显示的 字符串B = StrConv(A, vbFromUnicode)For j = 0 To UBound(B) '把字符串 转化为 16进制字符串 yuant
yuant = yuant & " " & Hex(B(j))
Next
yuant = Trim(yuant)strtem = Split(yuant, " ") 'strtem 16进制 字符串数组ReDim Tl(UBound(strtem)) As StringFor i = 16 To UBound(strtem) '将 16进制 数组 还原成 字符串数组
If Val("&H" & strtem(i)) > 128 Then
If i + 1 > UBound(strtem) Then Exit For
Tl(i) = Chr(Val("&H" & strtem(i) & strtem(i + 1)))
i = i + 1
Debug.Print Tl(i) '这里不显示任何东西
Else
Tl(i) = Chr(Val("&H" & strtem(i)))
Debug.Print Tl(i) ''这里不显示任何东西 End If
Next
For i = 0 To UBound(Tl) '有趣的问题出现在这里 用text
'控件可以正常显示内容
If Tl(i) <> "" Then Text5.Text = Text5.Text & Tl(i)'如果 把text5.text 替换成字符变量
'那么 这个变量 不显示任何东西
'这里必须用text 控件
Next '请教 这是什么原因造成的?
End Sub
这样改一下就可以了For i = 0 To UBound(Tl)
If Tl(i) <> "" Then tS = tS & Tl(i)
Next
Text5.Text = Trim(Replace(tS, Chr(0), " "))
另外, 楼主的代码真得好乱, 比如以下的代码, 实在是有着太多的"冗余":B = StrConv(A, vbFromUnicode)For j = 0 To UBound(B) '把字符串 转化为 16进制字符串 yuant
yuant = yuant & " " & Hex(B(j))
Nextyuant = Trim(yuant)strtem = Split(yuant, " ") 'strtem 16进制 字符串数组完全可以改成:B = StrConv(A, vbFromUnicode)Redim strtem (UBound(B))For j = 0 To UBound(B)
strtem(j) = Hex(B(j))
Next
ReDim strtem(Len(A) - 1)
For j = 0 To Len(A) - 1
strtem(j) = Hex(Asc(Mid(A, j + 1, 1)))
Next j