各位高手,小弟是个菜鸟,在编程序时候遇到一个问题,就是text文档里的数据怎么读入到一个2*3的数组中去进行计算。我的数据格式是:
78,95
89,452
785,89
下面是我自己编的程序,可是实现起来有困难,各位高手请帮帮忙。
Private Sub Command1_Click()
Dim a(3) As String
Dim Str As String, LenStr As Integer
Dim j As Integer, k As Integer, m As Integer
Str = Text1.Text
LenStr = Len(Str)
j = InStr(Str, Chr(10))
Do While j > 0
If j <> LenStr Then
a(k) = Left(Str, j - 1)
m = InStr(a(k), ",")
ReDim DynCzd(0 To 3, 0 To 1)
DynCzd(k, 0) = Val(Left(a(k), m - 1))
DynCzd(k, 1) = Val(Mid(a(k), m + 1))
'Debug.Print DynCzd(0, 0), DynCzd(0, 1)
Str = Mid(Str, j + 1)
k = k + 1
j = InStr(Str, Chr(10))
Else
Resume
End If
Loop
a(k) = Str
m = InStr(a(k), ",")
For j = 0 To k
Debug.Print DynCzd(j, 0), DynCzd(j, 1)
Text2.Text = DynCzd(j, 0) & "," & DynCzd(j, 1) & vbCrLf
Next j
End Sub
78,95
89,452
785,89
下面是我自己编的程序,可是实现起来有困难,各位高手请帮帮忙。
Private Sub Command1_Click()
Dim a(3) As String
Dim Str As String, LenStr As Integer
Dim j As Integer, k As Integer, m As Integer
Str = Text1.Text
LenStr = Len(Str)
j = InStr(Str, Chr(10))
Do While j > 0
If j <> LenStr Then
a(k) = Left(Str, j - 1)
m = InStr(a(k), ",")
ReDim DynCzd(0 To 3, 0 To 1)
DynCzd(k, 0) = Val(Left(a(k), m - 1))
DynCzd(k, 1) = Val(Mid(a(k), m + 1))
'Debug.Print DynCzd(0, 0), DynCzd(0, 1)
Str = Mid(Str, j + 1)
k = k + 1
j = InStr(Str, Chr(10))
Else
Resume
End If
Loop
a(k) = Str
m = InStr(a(k), ",")
For j = 0 To k
Debug.Print DynCzd(j, 0), DynCzd(j, 1)
Text2.Text = DynCzd(j, 0) & "," & DynCzd(j, 1) & vbCrLf
Next j
End Sub
Dim a
Dim Str As String, LenStr As Integer
Dim j As Integer, k As Integer, m As Integer
if right(str,2)=vbcrlf then
str=left(str,len(str)-2)
end if
str=replace(str,vbcrlf,",")
a=split(str,",")
ReDim DynCzd(0 To 2, 0 To 1) for i=lbound(a) to ubound(a)
dynszd(i%3,i/2 )=a(i)
next i End Sub
78,95
89,452
785,89
中的78对应的是dynczd(0,0)还是其他的
还有我运行了一下,总是报下标越界、另外dynszd(i%3,i/2 )=a(i)中的“%”是不是应该改成“/”号?
请再指教!