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

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

...全文
93 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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,建议的正确。

1,488

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧