求高手帮忙啊:vb 中如何从txt文件中将数据读取出来并赋值给二维数组?

已知有6行12列的数存在e:\aa.txt中,怎样操作能将这些数赋值给p(i,j)其中i=0to11,j=0to5?... 已知有6行12列的数存在e:\aa.txt中,怎样操作能将这些数赋值给p(i,j) 其中i=0 to 11,j=0 to 5? 展开
 我来答
yangyingjun999
2011-04-30 · TA获得超过1230个赞
知道小有建树答主
回答量:782
采纳率:0%
帮助的人:406万
展开全部
假设点击命令按钮Command1就将e:\aa.txt读入p(i,j)中,Command1的代码如下(你照复制就是):
Private Sub Command1_Click()
Dim StrLine As String, a() As String, p(11, 5) As String, i As Long, j As Long
Open "e:\aa.txt" For Input As #1
For j = 0 To 5
Do Until EOF(1)
Line Input #1, StrLine
If StrLine <> "" Then
a() = Split(StrLine, " ")
For i = 0 To 11
p(i, j) = a(j)
Next
End If
Loop
Next
Close #1
End Sub
更多追问追答
追问
那我想用p(i,j)进行下一步的计算  比如按Command2 就输出了下一步的结果 怎么调用p(i,j)啊?
追答
我在上面command1中声明的p(i,j)是文本型string,注意调用时要转换成数字型,还应该将它声明成全局型才可以在其他过程中调用哦。
上面已经完成将文件数据读入p(i,j)了,至于调用其实是看你自己的计算了,可采用循环批量调用、当然也可以单个单个调用。
P(0,0)对应第1行第1个数
P(1,0)对应第1行第2个数
P(2,0)对应第1行第3个数
.。。。。。
P(9,5)对应第6行第10个数
P(10,5)对应第6行第11个数
P(11,5)对应第6行第12个数

这个数组p(i,j) i=0to11 j=0to5是你自己要求这样声明的,我建议你改成下面的:
p(i,j) i=1to6 j=1to12,这样直观,你自己改吧。

哦,对了,上面的代码有误,改成下面的:
Private Sub Command1_Click()
Dim StrLine As String, a() As String, p(11, 5) As String, i As Long, j As Long
Open "e:\aa.txt" For Input As #1
j = -1
Do Until EOF(1)
j=j+1
Line Input #1, StrLine
If StrLine "" Then
a() = Split(StrLine, " ")
For i = 0 To 11
p(i, j) = a(j)
Next
End If
Loop
Close #1
End Sub
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式