一串字符串、在VB6.0里怎么赋值到一个数组?
像这种:aaaaaaaabbbbbbbbccccccccdddddddd
没有分隔符。我要2个为一位。、

解决方案 »

  1.   

    不知道2个为一位是什么意思,一般我们是直接赋值给一个动态字节数组
    '---------------------------------------------------------------------------------------
    ' 过程名    : t1
    ' 时间      : 2013-1-5 11:09
    ' 作者      : 杨过.网狐.cn(csdn bcrun)
    ' 功能      :
    ' 说明      :
    ' 备注      : CSDN之VB一群:283362041
    '---------------------------------------------------------------------------------------
    '
    Public Sub t1()
        Dim s1 As String, byt1() As Byte
        s1 = "aaaaaaaabbbbbbbbccccccccdddddddd"
        byt1 = s1
    End Sub
      

  2.   


    Sub test()
      Dim iStr As String, jStr() As String, i As Integer, j As Integer
      iStr = "aaaaaaaabbbbbbbbccccccccdddddddd" '取得字串
      ReDim jStr(Len(iStr) / 2 - 1) '既然2字为一位,那就直接算出阵列大小
      For i = 1 To Len(iStr) Step 2
          jStr(j) = Mid(iStr, i, 2)
          j = j + 1 '计数器
      Next 'j
    End Sub
      

  3.   

    Private Sub Command1_Click()
        Dim a$, i&, tem$()
        a = "aaaaaaaabbbbbbbbccccccccdddddddd"
        ReDim tem(Len(a) \ 2)
        For i = 1 To Len(a) Step 2
            tem(i \ 2) = Mid(a, i, 2)
            Debug.Print tem(i \ 2)
        Next i
    End Sub
    是这个意思?
      

  4.   

    嗯 可以用。、不过next写错了哈。再问下、这种可以像java一样封装成一个函数。其它地方要用到的时候直接传入字符串调用然后返回那个jStr数组吗?
      

  5.   

    Option Explicit
                                                                     Private Sub Command1_Click()
        Dim a$, i&, tem$()
        a = "aaaaaaaabbbbbbbbccccccccdddddddds"
        tem = GetArray(a, 2)
        For i = LBound(tem) To UBound(tem)
            Debug.Print tem(i)
        Next i
    End Sub
                                                                             
    Function GetArray(ByVal BaseStr$, ByVal ChrLen&) As String()
        Dim i&, tem$()
        ReDim tem(Len(BaseStr) \ ChrLen)
        For i = 1 To Len(BaseStr) Step ChrLen
            'If i + ChrLen > Len(BaseStr) Then Exit For '字符串长度是奇数时,不提取最后一个字符,当然也可以前期处理
            tem(i \ ChrLen) = Mid(BaseStr, i, ChrLen)
        Next i
        GetArray = tem
    End Function
    仅供参考。
      

  6.   

    Next没写错,
    是注解 'j 忘了修正,
    ^^||| Sorry~~
    建议直接Next就好,
     不要采行 Next i。