一段读十六进制的图形文件,并将其还原为图形的代码,请高手给看看。

succed 2004-04-30 10:01:40
有一个图形文件,用十六进制保存,X轴表示能量级,Y轴表示计数,Y会根据时间的变化而增加,我有一个程序来分析这个曲线图。我用编辑器分析了一下该文件,该文件共256*16+16个字节,每个数据为4个字节,前两个字节没用,第三个字节为你位字节,第四个字节为高们字节,从第三个数据开始和X轴相对应,X轴共分为1024段,但我按下面的代码得到的数据总为0,不知为什么。
Open App.Path & "\004.dat" For Binary As #200
j = 2
f = 0
For i = 0 To 1028

Seek #200, j


getD = Input(1, #200)
Dataa(f) = CLng(Val(getD))
j = j + 1
Seek #200, j

getD = Input(1, #200)
Datab(f) = CLng(Val(getD))
j = j + 3
f = f + 1
Next i

For i = 0 To 1029
Data(i) = CLng(Datab(i)) * 256 + CLng(Dataa(i))
Next i

For i = 0 To 1023
MSChart1.Row = 1
MSChart1.Data = Data(i + 2)
Next i

...全文
36 5 点赞 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
succed 2004-05-11
如何用mschart来显示散点图,我的1028个数据点想显示为单一的点。
  • 打赏
  • 举报
回复
wumy_ld 2004-05-11
如何打印MSChart:
http://www.china-askpro.com/msg13/qa00.shtml
  • 打赏
  • 举报
回复
succed 2004-05-11
超级绿豆说的虽然可以将整个文件都读进来,但得到的数据是错误的,因为原来的数据并不是按照先后顺序来排列的,它有一定的规律性,就是你会读出1028*4个字节,但你在将其还原为数据的时候,要根据其规律将字节重排,才能将其还原成数据。我后来使用随机的文件读取方式,忆经做好了。只是我使用的是Mschart来显示的图形,数据为1028个数据,同时就有1028个X轴的点和这1028个数据相对应,我使用的是区域显示方法,但我想要的是每一个点,即1028个点,不想将这点连在一起,我使用machart的散点显示法,却不能显示,不知为什么。另外 在打印曲线的时候,如何打印这种曲线图,使用哪一种方法比较好,望高手能指点。
  • 打赏
  • 举报
回复
supergreenbean 2004-04-30
你给你个把文件都读进来的方法
dim lData() as long
redim lData(1028/4-1)
Open App.Path & "\004.dat" For Binary As #200
get #200,,lData
close #200

这样lData里就是你文件的内容了,你也不用高位低位弄来弄去了
  • 打赏
  • 举报
回复
tangxiaosan001 2004-04-30
haha,建议的正确。
  • 打赏
  • 举报
回复
相关推荐
发帖
API
加入

1468

社区成员

VB API
申请成为版主
帖子事件
创建了帖子
2004-04-30 10:01
社区公告
暂无公告