Board logo

标题: [基础] 文件读写(一个奇怪的现象????) [打印本页]

作者: 只爱陌生人    时间: 2006-10-26 15:44     标题: 文件读写(一个奇怪的现象????)

<如果把其中的
If basePartLen < 1024 * 5 * 3 Then                  
    miniLoopTime = 0
    miniLeft = 0
Else
    miniLoopTime = basePartLen \ (1024 * 5)
    miniLeft = basePartLen Mod (1024 * 5)
End If
改为
If basePartLen < 1024 * 2 * 3 Then                  
    miniLoopTime = 0
    miniLeft = 0
Else
    miniLoopTime = basePartLen \ (1024 *2)
    miniLeft = basePartLen Mod (1024 * 2)
End If
或者相应地改为(1024*n), 且在后面的redim temp(1024*5) as byte里面作相当地改动,发现:n越大,分割后得到的文件复原后与原文件大小越接近???!!!(我在测试时都是复原后比原文件大)
本来可以只要redim temp(basepartlen) as byte就行,但是不好得到文件读写进度.
我是为了在分割时更准确地知道处理进度的(并用进度条显示出来)。

[ 本帖最后由 只爱陌生人 于 2006-10-26 15:52 编辑 ]
作者: Nothing    时间: 2006-10-26 20:41

这样肯定不行,不要老想关1024,到最后的时候,你必须计算字节数
下面代码供你参考<
作者: 只爱陌生人    时间: 2006-10-28 10:39     标题: 还真TMD邪了??

在我这台电脑上, 连下面这段代码都运行不正确??!!<2.txt总比1.txt多出一字节???用其它类型文件也是如此!!!

[ 本帖最后由 只爱陌生人 于 2006-10-28 10:43 编辑 ]
作者: Nothing    时间: 2006-10-28 10:58

这样试试
ReDim temp(LOF(1)-1) As Byte
作者: 只爱陌生人    时间: 2006-10-28 12:25

redim(temp(lof(1)-1) as byte可以是可以,但是
这没道理呀,怎么解释呢???搞不懂!?
作者: Nothing    时间: 2006-10-28 17:38


比如你有1024个字节
redim a(1024) 实际上数组a实际上是有1025个,因为第一个是a(0),最后一个是a(1024)




欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/) Powered by Discuz! 6.0.0