标题:大神们 求助 做毕设 代码不会啊 新手小白 大一没好好学vb
只看楼主
hf652597374
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-5-15
结帖率:100%
已结贴  问题点数:20 回复次数:8 
大神们 求助 做毕设 代码不会啊 新手小白 大一没好好学vb
怎么用vb提取  dat文件中的每一行的特定数据     存入数组    然后输出到文本框中   
GPS7-BM7.zip (3.54 KB)
搜索更多相关主题的帖子: dat文件 文本框 
2015-05-15 11:02
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:735
专家分:3478
注 册:2013-1-26
得分:5 
给你思路吧,自己多动动。
用open打开文件,看附件中的是文本文件。
按行读出文本,赋给字符串。
以“|”分隔字符串
在文本框显示
读完了数据就关闭文件

大开眼界
2015-05-15 11:11
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:735
专家分:3478
注 册:2013-1-26
得分:5 
一定要参照就看这个https://bbs.bccn.net/thread-445071-1-1.html差不多全了

大开眼界
2015-05-15 11:12
renxiaoyao36
Rank: 9Rank: 9Rank: 9
来 自:七宝中学
等 级:贵宾
威 望:31
帖 子:347
专家分:1077
注 册:2014-9-18
得分:5 
最近没时间,给思路
Intsr函数是万能的!你先用Instr函数返回特定的标示字符,然后用mid函数加上上一个特定标示的Instr返回值截取一段字符

编程蛋疼的不是枯燥,而是辛辛苦苦编完几百行的代码,运行,“Runtime Error “xxx””。
2015-05-15 21:10
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:2 
一行一行的读。
使用一个变量来标志状态:
状态有:
未开始
段开始
段结束

未开始:有文件名:gps7.dat 。不需要就忽略。
if instr(1,数据行,"Start-Line") then
   状态 = 段开始
   '保存段名
elseif instr(1,数据行,"#####") then
   '忽略,不动作
elseif instr(1,数据行,"Measurement repeated") then
   '忽略,不动作
elseif instr(1,数据行,"Station repeated") then
   '忽略,不动作
elseif instr(1,数据行,"End-Line") then
   状态=段结束
   '处理这一段的数据
else
   '把当前数据行,保存到当前段
end if


你提供的数据文件与你的贴图不符。

授人于鱼,不如授人于渔
早已停用QQ了
2015-05-15 22:10
renxiaoyao36
Rank: 9Rank: 9Rank: 9
来 自:七宝中学
等 级:贵宾
威 望:31
帖 子:347
专家分:1077
注 册:2014-9-18
得分:3 
回复 5楼 风吹过b
你又误导新人了
IF语句没有判定……
修改:
程序代码:
if instr(1,数据行,"Start-Line") <>0then 
   状态 = 段开始 
   '保存段名
elseif instr(1,数据行,"#####") <>0then
   '忽略,不动作
elseif instr(1,数据行,"Measurement repeated")<>0 then
   '忽略,不动作
elseif instr(1,数据行,"Station repeated")<>0 then
   '忽略,不动作
elseif instr(1,数据行,"End-Line") <>0then
   状态=段结束
   '处理这一段的数据
else
   '把当前数据行,保存到当前段
end if

编程蛋疼的不是枯燥,而是辛辛苦苦编完几百行的代码,运行,“Runtime Error “xxx””。
2015-05-16 07:11
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:735
专家分:3478
注 册:2013-1-26
得分:0 
本来不该发在这儿,在这不说技术。和技术无关,但好象发在这儿立意更明显。
我想BBCN这么多年来能够存在和发展,离不开每一个提出问题的疑惑者,更离不开解答问题的热心人。
能在BBCN提问题是因为他看到了BBCN的能力,BBCN的能力是由无数热心人的能力来体现。
铁打的营盘流水的兵,这么多年来,无数的新会员为了兴趣,为了学习,为了工作而加入。
有的为了解决一时之难而只是昙花一现,有的持之以恒尽自己微薄之力,没有任何利益关系。
现在VB版块中谁是当之无愧的最热心的人,如果细心了解一下很容易一目了然。
我也关注过,从时间到知识面,对问题和技术的态度都值得点赞,决不应该被任何人菲薄,任何一位热心人都不容被菲薄。
能力有大有小,贡献有多有少。无论大小,无论多少只要你是真心想帮助大家,以谦虚谨慎的态度来回答问题,大家都会支持。

大开眼界
2015-05-16 09:44
hf652597374
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-5-15
得分:0 
回复 2楼 lianyicq
谢谢 大哥   我试试
2015-05-16 16:15
hf652597374
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-5-15
得分:0 
回复 6楼 renxiaoyao36
遇到  特殊字符怎么将这行跳过  不做提取处理?    代码怎么写啊   大神
程序代码:
Do While Not EOF(1)
   Line Input #1, TB    '一行一行读取文件
     If Mid(TB, 22, 10) = "Start-Line" Then
        a = Mid(TB, 38, 5)
        qd = Mid(TB, 45, 4)
      Text8.Text = Text8.Text + a + "," + qd + Chr(13) + Chr(10)
      
     If Mid(TB, 34, 1) = "#" Or Mid(TB, 22, 20) = "Measurement repeated" Or Mid(TB, 22, 16) = "Station repeated" Or Mid(TB, 22, 7) = "Reading" Then
        
        


[ 本帖最后由 hf652597374 于 2015-5-20 09:02 编辑 ]
2015-05-20 09:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-445323-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.542879 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved