我用Windows API读串口数据接受的时候处理如下:
  Function ReadCommPure() As String
          Dim RetBytes As Long, i As Integer,retval As Long
          retval = ReadFile(ComNum, bRead(0), 255, RetBytes, 0)
      
          If (RetBytes > 0) Then
                  For i = 0 To RetBytes
                     ReadCommPure = ReadCommPure & CStr(bRead(i))
                  Next
                Else
                  FlushComm
                  ReadCommPure = ""
          End If
  End Function现在数据也读出来了,但是读出来的数据要怎么处理呢?

解决方案 »

  1.   

    根据你的代码看,你最终获得的是字符串。
    不知你获得数据用于何用途?如果仅是一段可理解的文本,以
    Open "TESTFILE" For Output As #1
    Write #1,ReadCommPure
    Close #1

    Open "TESTFILE" For Append As #1
    Write #1,ReadCommPure
    Close #1存放于文本文件
    如果是几个数据的集合,可用MID函数按要求分割,赋值于各变量。
    写入数据表。
    如果数据用于工业控制则交由后续程序代码处理作出反应。
    以上这些代码应至于如下你代码的
    Function ReadCommPure() As String
              Dim RetBytes As Long, i As Integer,retval As Long
              retval = ReadFile(ComNum, bRead(0), 255, RetBytes, 0)
          
              If (RetBytes > 0) Then
                      For i = 0 To RetBytes
                         ReadCommPure = ReadCommPure & CStr(bRead(i))
                      Next
                    Else
                      FlushComm
                      ReadCommPure = ""
              End If
      End Function
    执行Function后的下一代码处。
    或置于
    ReadCommPure = ReadCommPure & CStr(bRead(i))
    语句后。
      

  2.   

    是这样的,我是串口连接的ID读卡头,在读卡头刷卡,然后读串口数据,现在读出来的数据就是ReadCommPure,但是不是我要的卡号数据!我想知道读出来的数据需要怎么转换才是正确的?
      

  3.   

    http://community.csdn.net/Expert/topic/5327/5327816.xml?temp=.7817499
    请参阅本人答复相似问题数据处理的答复。