我现在想把一个长字符串循环读取到一个数组中进行操作,我该怎么做?
比如说字符串为 buffer  第一次读前10个字节存到数组data()中对data()
操作完后,对data()清空 然后读取buffer中11到20 的字节到data(),
这样字循环   各位大哥 帮个忙  应该很简单吧!

解决方案 »

  1.   

    知道简单还不自己写??
    Private sub readbytes(byref mdata as  variant)
    '结果返回数组,存到mdata中就行了end sub
      

  2.   

    Private Sub Form_Load()
        Dim data() As Byte, sTmp As String
        Dim i As Integer
        sTmp = "Buffer"
        data = sTmp
        For i = 0 To UBound(data) Step 10
            '操作data()
        Next i
    End Sub
      

  3.   

    楼上的有点小问题,VB的字符串是Unicode,每个字符占两个字节
      

  4.   

    再帮忙结实一下下面接受事件的小问题
    Private Sub Comm_OnComm()
    Dim buffer As String
     Select Case Comm.CommEvent
       Case comEventOverrun
       'MsgBox "数据丢失!"
       Case comEventBreak
       Case comEventTxFull
       Case comEventCTSTO
       Case comEvCD   ' CD 线状态变化。
       Case comEvCTS   ' CTS 线状态变化。
       Case comEvDSR   ' DSR 线状态变化。
       Case comEvRing   ' Ring Indicator 变化。
       
       Case comEvEOF
       Case comEvSend
       'MsgBox "传输缓冲区中有" & Comm.SThreshold & "个字符!"
       Case comEvReceive
       buffer = Comm.Input
        Debug.Print "接收 - " & StrConv(buffer, vbUnicode)
        Text3.Text = Text3.Text & StrConv(buffer, vbUnicode)
       
      End Select
    End Sub
    为什么当我发送一个字符串的时候收到的只有第一个字符? 如果改为text3.text=buffer 就可以 为什么?
      

  5.   

    为什么用strconv()函数转化了一下 就剩下第一个字符了, 如果发送的是汉字字符串,受到的就发生变化了,受到的和发送的也不一样。
      

  6.   

    关于第一个问题我用mid(buffer,n,q) 函数循环读取已经基本搞定 , 但是不知道更好的办法是什么?
    第而个问题还是没有人帮我解答呀   等待中-------------