请各位VB高手帮个忙 解决一个问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 14:09:08
MODULE的代码是:
Option Explicit
Global Alarm_massage As Variant
Global Massage_Len, Massage_Row, Linelen, ff As Integer
Global Massage_Arr() As Byte
Global Receive_Ready, Stop_sign As Boolean
Global Massage_EOsign(64) As Boolean
Global Massage_EOsign1(64) As Boolean
Global Massage_Arr1() As Byte
Global Test_Result, Save_sign As Boolean
Global Err_reset As Boolean
Global ERR_INFO As String
Global Search_count As Long
Sub Bitest(Testbyte As Integer)
If (Testbyte And &H1) <> 0 Then Test_Result = Not (Test_Result)
If (Testbyte And &H2) <> 0 Then Test_Result = Not (Test_Result)
If (Testbyte And &H4) <> 0 Then Test_Result = Not (Test_Result)
If (Testbyte And &H8) <> 0 Then Test_Result = Not (Test_Result)
If (Testbyte And &H10) <> 0 Then Test_Result = Not (Test_Result)
If (Testbyte And &H20) <> 0 Then Test_Result = Not (Test_Result)
If

先用2个OPTIONBUTTON 来区别16进制和ASC显示
第1个(OPT1)选中显示位16进制,第2个(OPT2)选中显示ASC值,

For i = 0 To UBound(Massage_Arr1)

If Opt1.Value = True Then'选中16进制显示
A1 = Hex(Massage_Arr1(i))
ELSEIF Opt2.Value = True Then‘选中ASC方式显示
A1 = CHR(Massage_Arr1(i))
END IF
这个只是数据转换,要正确显示还需进1步处理,如你这里的If Len(A1) = 1 Then A1 = "0" + A1

高深。期待答案

保持沉默。。。拒绝回答