我读一个二进制文件,需要从第241个字节开始读,每40个字节为一行。但我只需要这40个字节的前4个字节,每2个字节为一个数字。但溢出,溢出时I=840。是怎么回事呢。Dim wd() As Integer, jd() As Integer
'读二进制文件读出经纬度,时间等
N = FreeFile
Open FILEN For Binary As #N
Num = (LOF(N) - 240) / 40
ReDim jd(Num)
ReDim wd(Num)
For I = 1 To Num
Get #N, 241 + (I - 1) * 40, wd(I)
Get #N, , jd(I)
Next I
Close #N可我如果直接从(840-1)*40+241=33801读,却不会跳溢出,甚至比它大很多也不溢出我是这样写的dim wd as integeropen filen for binary as #1get #1,33801,wdget #1,,jdclose #1
'读二进制文件读出经纬度,时间等
N = FreeFile
Open FILEN For Binary As #N
Num = (LOF(N) - 240) / 40
ReDim jd(Num)
ReDim wd(Num)
For I = 1 To Num
Get #N, 241 + (I - 1) * 40, wd(I)
Get #N, , jd(I)
Next I
Close #N可我如果直接从(840-1)*40+241=33801读,却不会跳溢出,甚至比它大很多也不溢出我是这样写的dim wd as integeropen filen for binary as #1get #1,33801,wdget #1,,jdclose #1
解决方案 »
- VBA 中多次查询结果输出显示,请各位大侠指点。。急求
- 求助:用MSCOMM 去控制 IER512-C 型 打印机
- 高手来看,关于MDI窗体与子窗体这间的问题.!!!!!
- 如何获得当前路径下的所有文件夹的名称,数量??
- 看看如下两条sql语句得出的结果为什么不一样??
- 救命呀~~~高分奉送!谁能告诉我WIN2000下,如何探测红外线接口?
- 怎样强制一个textbox内的数据类型
- 存贮过程在vb中怎么用,传值进去与出来,出来的值怎么接收??
- VB如何获得SQL存储过程中的消息?
- 如何使用api函数从影像文件(avi,mpg)中获取图片
- 有大虾用VB开发过访问ORACLE数据库的程序吗?~~~
- chrome要怎么用getelementById自动填表单?我IE装了chrome frame以后就不能自动填表单了.
Open FILEN For Binary As #N
Num = (LOF(N) - 240) / 40 '你的Num表示了你要读的次数(行数)
ReDim jd(Num) '你后面将每次读Num个字节
ReDim wd(Num)
For I = 1 To Num
Get #N, 241 + (I - 1) * 40, wd(I) '读了Num个字节
Get #N, , jd(I) '再读Num个字节,加上上面的读了2*Num个字节
Next I '你循环了Num次
Close #N '你将要读2*Num*Num个字节,2*Num*Num=Num*40+240?
p = I - 1
p = 241 + p * 40
Get #N, p, wd(I)
Get #N, , jd(I)
Next I还有一种方法:
Dim tmp(19) As IntegerOpen FILEN For Binary As #N
Num = (LOF(N) - 240) / 40
ReDim jd(Num)
ReDim wd(Num)Seek #N, 241Do Until EOF(N)
Get #N, , tmp
wd(I) = tmp(0)
jd(I) = tmp(1)
I = I + 1
Loop