请教用Get读取文件内容问题!

taniswu318 2006-12-03 12:49:43
Private Type FileSection
Bytes() As Byte
FileLen As Long
End Type

Private Type SectionedFile
Files() As FileSection
NumberOfFiles As Long
End Type

Dim File As SectionedFile

'从各个子文件中读取内容
ReDim File.Files(1 To FileInfo.FileCount)
Dim strOpenName As String
Dim i As Long
For i = 1 To FileInfo.FileCount
strOpenName = FileInfo.OrigFileName & "." & Format((FileInfo.FileStartNum - 1 + i), "00#")
nFileNumber = FreeFile
Open strOpenName For Binary As #nFileNumber
Get #nFileNumber, 1, File.Files(i) <----------不明白
Close #nFileNumber
Next

上面这个是一个分割/合并文件的程序中的一部分代码,是把几个子文件合并成一个文件的,这是其中一段。这里面我不明白的是:Get #nFileNumber, 1, File.Files(i)为什么这样写就行了?文件中的内容究竟是如何放在Bytes()和FileLen中的?我就是这里搞不明白,希望高手们指点一下。先谢过了。
...全文
192 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
taniswu318 2006-12-05
  • 打赏
  • 举报
回复
我贴出来的代码只是一小部分。这个程序是一本书上的,完整的程序没问题。
知道那个疑问点的原因么?我怎么想都弄不明白啊,头都大了
gguueesstt 2006-12-04
  • 打赏
  • 举报
回复
我试了,但执行到你说的疑问点,它提示 内存溢出。
你执行成功了吗,为什么我会失败。
taniswu318 2006-12-04
  • 打赏
  • 举报
回复
Open strOpenName For Binary As #nFileNumber
上面这行代码是按顺序打开被分割开的文件
Get #nFileNumber, 1, File.Files(i)
这行代码是把每个文件中的内容读入到相应的File.Files(i)中去。但我不明白为什么File.Files(i)后面不用跟Bytes()或者FileLen,但Bytes()却能存储相应的数据,而且FileLen还存储了文件的大小,我更觉得不明白的是,Byte()数组还没有ReDim相应的范围,为什么就可以存储数据了呢??
望高手指教。
zzyong00 2006-12-04
  • 打赏
  • 举报
回复
For i = 1 To FileInfo.FileCount
strOpenName = FileInfo.OrigFileName & "." & Format((FileInfo.FileStartNum - 1 + i), "00#")
nFileNumber = FreeFile
Open strOpenName For Binary As #nFileNumber '这是什么代码,不停地打开、关闭文件!
Get #nFileNumber, 1, File.Files(i) <----------不明白  ‘每次都读相同的地方
Close #nFileNumber
Next
taniswu318 2006-12-04
  • 打赏
  • 举报
回复
没有人会解答么??继续等待解答.......
taniswu318 2006-12-03
  • 打赏
  • 举报
回复
没人回答啊??高手们帮下我啊,谢谢了!

7,763

社区成员

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

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