我的txt文档有以下数据:1 2 3 11 22 33 111 222 333 是这种格式的,请问VB中如何把它输入到MSFlexGrid中

总共是三行以回车换行,每行三个数,且每行中的每个数之间是以标准输出格式(14个字符位置为单位)分开的,不知道为什么,我每次从txt文本中读入vb的MSFlexGrid中,... 总共是三行以回车换行,每行三个数,且每行中的每个数之间是以标准输出格式(14个字符位置为单位)分开的,不知道为什么,我每次从txt文本中读入vb的MSFlexGrid中,只能读出每行的第一个数,后面的数就读不出来了?很着急,谢谢!! 展开
 我来答
lidh05
2011-12-24 · TA获得超过298个赞
知道小有建树答主
回答量:133
采纳率:0%
帮助的人:123万
展开全部
如果你的数据之间有逗号隔开就不会出现你的问题了。如果没有逗号,但每行中的每个数占据固定宽度,那么你可以按行来读txt文件,也就是一次读一整行到一个字符串变量中,然后再取出里面的数据:
Line Input #nf, ss
For i=1 to 3
d=Val(Mid(ss,(i-1)*14+1,14))
.... '放入MSFlexGrid中
Next
更多追问追答
追问
还是不对啊!还要设置MSFlexGrid的宽度吗?都是一样的吗?
还有我每行的数不是一样的宽度,只是相邻的两个数的间隔是相同的宽度。如果改上面的程序,能给附的完整点嘛?
追答
不知道你说的“14个字符位置为单位”是何意?如果相邻的两个数只有一个空格隔开,那用split函数分割最好,否则只有顺序判断,不知道你的那些数据是怎么写的?
dim i as long, j as long,nn as long, ss as string, d as string
Line Input #nf, ss
nn=len(ss)/3 '假设每个数宽度相同,包括空格
For j=0 to 2 '行号
For i=0 to 2 '列号
d=Val(Mid(ss,i*nn+1,nn)) '分别取一行中的三个数
MSFlexGrid1.TextMatrix(j, i) =d '放入MSFlexGrid中
next
Next
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式