VB读2进制文件

来源:百度知道 编辑:UC知道 时间:2024/05/24 04:25:35
我的2进制文件很大,有1.96兆;其中数据格式如下:240Byte个帧头然后后面是有效数据,现在是这个文件有几百个帧,怎么读取有效数据到数组,然后显示到波形,请提供思路
2楼的回答,我的是每个帧都有头文件,还有就是把每个帧的有效数据都保存到了BData么?就比如文件格式:
第1帧:头文件(240Byte)有效数据(32Bit)
第2帧:头文件(240Byte)有效数据(32Bit)
第3帧:头文件(240Byte)有效数据(32Bit)
。。。。
第2800帧:头文件(240Byte)有效数据(32Bit)

使用二进制方式打开文件,使用seek语句定位到241位置,然后开始读取数据就可以了,比如:
Dim iFile as integer
dim BData(1 to 你的每个数据帧的大小) AS Byte

iFile=FreeFile()
open "你的数据文件名" For Binary AS #iFile
Seek #iFile,241
while Not EOF(iFile)
Get #iFile,每个数据帧的大小的数字,BData
'你的数据处理代码

Wend

Close #iFile

======================================
根据你的补充的信息,程序如下改动:

Dim iFile as integer
dim BData(1 to 4) AS Byte '因为你的数据是32位,因此是4个字节

iFile=FreeFile()
open "你的数据文件名" For Binary AS #iFile
Seek #iFile,241
while Not EOF(iFile)
Get #iFile,4,BData
if Not EOF(iFile) Then
'你的数据处理代码 ,当前帧有效数据存放在BData中

Seek #iFile,Seek(iFile)+240 '定位下一个帧有效数据位置
end if
Wend

Close #iFile

先定义一个自定义类型读取你的帧
Private Type zhen
Dim shuju(1 To 100) As Byte '或其他
End Type
Private Sub Command1_Click()
Dim xx() As zhen, yy(240) As B