24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1281  |  回复: 13

huzijun888

铜虫 (小有名气)

[求助] VB文件读取的问题!!!急

我有一个TXT文件想用VB编个小程序来处理一下,请问在VB里如何把这个data.txt读入,并且每行数据分别赋值给a(i,i)   a(i,2)   a(i,3)直至文件中的数据被读取完。下面是我的思路,被提示下标越界,求指点!!!

Private Sub Command1_Click()
Dim a() As Single, i As Long
i = 1
Open "data.txt" For Input As #1
Do While Not EOF(1)
    Input #1, a(i, 1), a(i, 2), a(i, 3)
   i = i + 1
Loop
Close #1
End Sub

未命名.jpg
回复此楼

» 收录本帖的淘帖专辑推荐

柴米油盐酱醋茶

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

致力于更合理、更有效、更准确地应用计算流体力学软件解决实际问题
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

chelator

木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
你用的是什么VB,若是VB6
Preserve只能增加最后一维空间
ReDim Preserve a(3, i)

建议先计算行数

dim LineNum  As Long
dim TextLine as String
LineNum = 0
Open "data.txt" For Input As #1
Do While Not EOF(1)   
   LineInput #1, TextLine
  LineNum =LineNum + 1
Loop
Close #1

再申请数组
Redim A(LineNum,3)
Open "data.txt" For Input As #1
Do While Not EOF(1)   
   Input #1, a(i, 1), a(i, 2), a(i, 3)
   i = i + 1
Loop
Close #1


另VB.NET 才使用二维数组定义
4楼2013-04-07 11:58:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2013-04-07 01:49:33
huzijun888: 金币+6, ★★★★★最佳答案, 非常感谢,耐心解答 2013-04-07 19:59:13
你的用法涉及2个错误:
1.二维数组定义,必须用逗号分隔2个维度,例如Dim a(,) as Single,如果没有逗号Dim a() as Single声明的是一维数组

2.动态数组定义后,在长度不够时,需要Redim来扩容(vb如果是扩大数组,原来的数据不会丢失)

因此,你需要做的是,重新定义a为二维数组,并且在循环中不停redim a(length_of_a+1,1 to 3)
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2013-04-06 21:59:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huzijun888

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by libralibra at 2013-04-06 21:59:05
你的用法涉及2个错误:
1.二维数组定义,必须用逗号分隔2个维度,例如Dim a(,) as Single,如果没有逗号Dim a() as Single声明的是一维数组

2.动态数组定义后,在长度不够时,需要Redim来扩容(vb如果是扩大数组,原来的 ...

兄弟,我搞不定啊!

1.首先,按照你说的第一条语句就直接报错了

2.我增加redim语句扩容还是下标越界

这是我现在的语句:
Private Sub Command1_Click()
Dim a() As Single, i As Long
i = 1
Open "data.txt" For Input As #1
Do While Not EOF(1)
   ReDim Preserve a(i, 1 To 3)
   Input #1, a(i, 1), a(i, 2), a(i, 3)
   i = i + 1
Loop
Close #1
End Sub
致力于更合理、更有效、更准确地应用计算流体力学软件解决实际问题
3楼2013-04-07 10:22:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

引用回帖:
4楼: Originally posted by chelator at 2013-04-07 11:58:11
你用的是什么VB,若是VB6
Preserve只能增加最后一维空间
ReDim Preserve a(3, i)

建议先计算行数

dim LineNum  As Long
dim TextLine as String
LineNum = 0
Open "data.txt" For Input As #1 ...

+1
虽然这样有2个循环,但是保险.
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
5楼2013-04-07 18:20:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huzijun888

铜虫 (小有名气)

我先把金币给你吧,我还是没搞出来,或许是我的版本不行。我下载新的版本看一下
致力于更合理、更有效、更准确地应用计算流体力学软件解决实际问题
6楼2013-04-07 19:59:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chelator

木虫 (小有名气)

把数据给我,我编一下。
7楼2013-04-08 09:02:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huzijun888

铜虫 (小有名气)

引用回帖:
7楼: Originally posted by chelator at 2013-04-08 09:02:02
把数据给我,我编一下。

文件在这里,data.txt是一个三维坐标文件。。。要实现的功能是在文本框里输入(xmin,ymin)和(xmax,ymax)在delete Z里输入要删除的Z坐标(即读入文件的第三个数据),执行输出数据时把不在(xmin,ymin)和(xmax,ymax)所确定的平面范围内的点,还有Z坐标等于DELETE z的点都删除掉

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : GAOCHENG.rar
  • 2013-04-09 10:02:45, 46.15 K
致力于更合理、更有效、更准确地应用计算流体力学软件解决实际问题
8楼2013-04-09 10:07:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chelator

木虫 (小有名气)

程序已做好,你的数据在某些行有四个数据,我删掉第三个数据。给个邮箱地址,我传给你。

» 本帖已获得的红花(最新10朵)

9楼2013-04-10 11:41:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huzijun888

铜虫 (小有名气)

送红花一朵
引用回帖:
9楼: Originally posted by chelator at 2013-04-10 11:41:14
程序已做好,你的数据在某些行有四个数据,我删掉第三个数据。给个邮箱地址,我传给你。

huzijun888@126.com     非常感谢
致力于更合理、更有效、更准确地应用计算流体力学软件解决实际问题
10楼2013-04-10 19:22:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 huzijun888 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 0703化学 +14 妮妮ninicgb 2026-04-04 15/750 2026-04-06 08:32 by zhangdingwa
[考研] 材料与化工371求调剂 +14 陪琳看海 2026-04-04 15/750 2026-04-06 06:59 by houyaoxu
[考研] 086000生物与医药298调剂求助 +9 元元青青 2026-03-31 12/600 2026-04-05 21:03 by 学员8dgXkO
[考研] 322求调剂 +3 嗯哼哼恒 2026-04-05 3/150 2026-04-05 19:52 by nepu_uu
[考研] 工科求调剂 +15 11ggg 2026-04-03 15/750 2026-04-05 16:24 by zzx2138
[考研] 一志愿西北农林畜牧专硕336分求调剂 +3 5ourr 2026-04-03 3/150 2026-04-05 10:40 by JOKER0401
[考研] 一志愿华中农业大学0710(A)初试329分 求调剂 +4 一名26考研生 2026-04-04 4/200 2026-04-05 10:01 by barlinike
[考研] 求调剂 +4 晟功? 2026-04-03 4/200 2026-04-04 21:58 by hemengdong
[考研] 302求调剂一志愿华中师范大学 +8 小江小江江江 2026-04-02 8/400 2026-04-04 19:50 by 蓝云思雨
[考研] 0710生物学336分求调剂 +6 kiyy 2026-04-01 8/400 2026-04-04 10:10 by kiyy
[考研] 材料科学与工程考研 +10 拯救皮特托先生 2026-04-02 10/500 2026-04-03 23:57 by userper
[考研] 294求调剂 +6 Grey_Ey 2026-04-03 6/300 2026-04-03 20:46 by 欣喜777
[考研] 285求调剂 +5 AZMK 2026-04-03 8/400 2026-04-03 18:17 by AZMK
[考研] 0703化学 +7 goldtt 2026-04-02 9/450 2026-04-03 09:36 by 蓝云思雨
[考研] 312 化工或制药调剂 +8 小小墨123 2026-04-02 9/450 2026-04-03 09:12 by zhouxiaoyu
[考研] 一志愿山东大学,085600,344 +7 魏子per 2026-04-02 8/400 2026-04-02 21:12 by 百灵童888
[考研] 266求调剂 +4 学员97LZgn 2026-04-02 4/200 2026-04-02 13:03 by yulian1987
[考研] 材料专硕322分 +11 哈哈哈吼吼吼哈 2026-04-01 11/550 2026-04-02 10:52 by lnilvy
[考研] 求调剂 +4 DADA怪 2026-03-31 4/200 2026-04-01 14:30 by ZXlzxl0425
[考研] 材料专硕 085600求调剂 +7 BBQ233 2026-03-30 7/350 2026-03-30 17:44 by oooqiao
信息提示
请填处理意见