有一段代码
Open opendialog.FileName For Binary As #intFile
'检查是否小文件
If FileSize <= lngInputSize Then '******************************标记1
strInput = Space(FileSize) '******************************标记2
Get #intFile, , strInput
wsTransfer.SendData strInput
GoTo 1
End If
'超过 1KB - 将分段为 1024 字节
Do While EOF(intFile) = False '******************************标记3 If dblSent + lngInputSize <= FileSize Then
strInput = Space(lngInputSize)
Get #intFile, , strInput
wsTransfer.SendData strInput
dblSent = dblSent + lngInputSize
DoEvents
Else
strInput = Space(FileSize - dblSent)
Get #intFile, , strInput
wsTransfer.SendData strInput
Exit Do
End If
DoEvents
Loop标记1:这里的lngInputSize变量在程序中没有定义,我也没查出它是VB的常量,不知道这是什么意思?标记2:这里有点没看懂,插入空格干什么?另外get我查是赋予文件记录,是把文件内容赋值strInput变量么?一次能传多少容量?标记3:这里EOF(intFile) = False 什么意思?
Open opendialog.FileName For Binary As #intFile
'检查是否小文件
If FileSize <= lngInputSize Then '******************************标记1
strInput = Space(FileSize) '******************************标记2
Get #intFile, , strInput
wsTransfer.SendData strInput
GoTo 1
End If
'超过 1KB - 将分段为 1024 字节
Do While EOF(intFile) = False '******************************标记3 If dblSent + lngInputSize <= FileSize Then
strInput = Space(lngInputSize)
Get #intFile, , strInput
wsTransfer.SendData strInput
dblSent = dblSent + lngInputSize
DoEvents
Else
strInput = Space(FileSize - dblSent)
Get #intFile, , strInput
wsTransfer.SendData strInput
Exit Do
End If
DoEvents
Loop标记1:这里的lngInputSize变量在程序中没有定义,我也没查出它是VB的常量,不知道这是什么意思?标记2:这里有点没看懂,插入空格干什么?另外get我查是赋予文件记录,是把文件内容赋值strInput变量么?一次能传多少容量?标记3:这里EOF(intFile) = False 什么意思?
解决方案 »
- 水晶报表打印内容整体下移
- vsflexgrid如何禁止鼠标拖曳多行选择
- 找了一星期文件传送的源码都不能用。
- 怎么清除DataGrid1的内容
- 求助如何在EXE程序安装过程中自动注册mswinsck.ocx控件!
- 如何控制time控件的时间间隔?它的interval最大就是65536
- 主菜单的字体怎么修改?
- 关用户控件与类模块之间的互相引用
- 想用一个grid,请问msflexgrid是最小最好用的吗?
- 我用: Open "e:\mypicture.jpg" For Output As #1 语句打开一个文件,但是说文件已打开,但是发生错误55。为什么
- 求真正的高手来解释一下这个软件功能是怎么实现的?自动从互联网上寻找到可用的代理服务器
- 关于别名不允许加入条件并且在条件中不能出现公式
如果确实没有定义的话,说明写代码写的不严格,代码的最开头没有加 Option Explicit
这个变量应该是定义一次读取文件的字节数,一般文件较大时,会分块处理,例如一次处理512字节,1024个字节等等
这句的意思是如果被读取的文件小于定义的块大小,就直接一次性读取完。
这里是定义一个存放读取的数据的缓存,就是说你想一次读取多少字节,存放读取内容的变量就应该定义多大,我一般是定义成这样 dim b(512) as byte 。括号里面的512表示块大小,参考第一个问题的解释。
和此处类似作用的下面也出现了一次,当文件大于指定块大小时,就每次读取一块,循环读完为止。标记3:这里EOF(intFile) = False 什么意思?
EOF是一个测试指定文件号的文件指针是否到了末尾,这里=false表示未到末尾,未到末尾就得继续读啊,读文件的时候一般都要随时检测是否超过文件大小了,你说一个文件假设只有300个字节的话,你读第301个字节会不会报错。
对文件操作的时候,都有一个文件指针确定当前的读写位置。这一点知道就可以了,不必关心VB是如何实现的。