ReceiveData="10000saly 768&jiy"
str = Mid(ReceiveData, 6)
Name = Mid(str, 1, InStr(str, " ") - 1)
Password = Mid(str, Len(Name) + 2)
目的是使Name="saly" ,Password="768&jiy"  这种截取字符串的方式为什么会报错?
换成Password=mid(str,InStr(str," ")+1)也不行,用right和left也都不行,都是同一个错误

解决方案 »

  1.   

    vb6报错,您的变量名最好不要用系统保留字ReceiveData="10000saly 768&jiy"
    str1 = Mid(ReceiveData, 6)
    Name1 = Mid(str1, 1, InStr(str1, " ") - 1)
    Password1 = Mid(str, Len(Name1) + 2)
      

  2.   

    str是VB内建函数名,虽然不会出错,但最好不要用作变量名
    Name是Form的属性,并且是只读的,你给它赋值肯定要出错的
      

  3.   

    还是不行啊,我改了变量名运行一次没报错,之后运行都报错,说是Type mismatch,哪里不匹配?
      

  4.   

    dim ReceiveData as string ,str1 as string ,xName as string,PW as string
    dim P as longReceiveData="10000saly 768&jiy"
    str1 = Mid(ReceiveData, 6)p=InStr(1,str1, " ")
    xName = Mid(str1, 1, p - 1)
    Password = Mid(str1, p+1)
      

  5.   

    Password = Mid(str1, p+1)
    改成:PW= Mid(str1, p+1)