# Re: val细问 ....

Posted by AndyLin on September 19, 1998 at 10:37:38:

In Reply to: val细问 .... posted by 832065 on September 18, 1998 at 17:42:37:

: dim stra as string
: dim inta as integer
: stra="A B C D"
: inta=val(stra)
: 假设A,B,C,D为四个整数值....
: 我们都知道执行完上面三行的程式
: 后, inta 的值为ABCD,空白键会被乎略掉,
: 有没什么办法,
: 可以分别读取A,B,C,D这四个数值呢???
: 注意哦!A,B,C,D这四个数字的位数并不一定....
: 假设A=1,B=10,C=10,D=1或者
: A=150,B=2,C=20,D=123466那么,要如何撰写程式呢???
: 我试过用 LEFT 这个函数写一个回圈程式,
: 可是......好像没那么简单哦....试试看....
: 小弟在此先行谢过了....

以下是我写的程式,请参考看看
:text1 是所要分析之字串,且并不知道其中含有几个item

Dim i, j As Integer
Dim vData() As String
Dim Str1 As String
Text1 = Trim(Text1) & " "
Str1 = Text1
'get how many item
For i = 1 To Len(Text1)
If InStr(1, Text1, " ") <> 0 Then
j = j + 1
Text1 = Right(Text1, Len(Text1) - InStr(1, Text1, " "))
End If
Next
'put the item into vdata()
ReDim vData(j)
Text1 = Str1
j = 0
For i = 1 To Len(Text1)
If InStr(1, Text1, " ") <> 0 Then
vData(j) = Left(Text1, InStr(1, Text1, " ") - 1)
Text1 = Right(Text1, Len(Text1) - InStr(1, Text1, " "))
j = j + 1
End If
Next

Follow Ups:

- Re: val细问 .... 832065 11:21:49 9/23/98 (0)