用二进制方式打开文件,全部读到一个Byte数组,赋给二进制类型的字段。
解决方案 »
- VB通信软件轮询4个单片机,高手进来帮忙啊
- 跪求解,疑难杂症。高手进。。。。。
- 能不能将VB运行库捆绑到我的VB程序上去,大一点没关系。
- 请问DataReport里画的线能否改变粗细?
- 如何读取有访问权限的文件夹
- sub 中如何调用 function???????
- 那位大侠能指点一小女子--------用ADO怎么来判断一个库里是否存在一个表和字段,还有提取一个库的表和字段
- 菜单消息怎么处理
- 各位多帮助,多提建议
- 有关文本框的一个小问题。
- VB的类可以继承吗?有没有指向函数的指针?
- ???大侠请指点:我在WIN98下双机用MODEM互连时,有时在检测用户名和密码后提示输入用户名,密码,域名,在WIN98下就没有域,请问是怎么回事?
使用getChunk读出
Dim ChunkSize As Long
Dim FileNum As Integer
Dim Buffer() As Byte
Dim BytesNeeded As Long
Dim Buffers As Long
Dim Remainder As Long
Dim i As Long If Len(FileName) = 0 Then
Exit Function
End If
If Dir(FileName) = "" Then
Err.Raise vbObjectError, , "文件没找到: """ & FileName & """"
End If
ChunkSize = 65536
FileNum = FreeFile
Open FileName For Binary As #FileNum
BytesNeeded = LOF(FileNum)
Buffers = BytesNeeded \ ChunkSize
Remainder = BytesNeeded Mod ChunkSize
For i = 0 To Buffers - 1
ReDim Buffer(ChunkSize)
Get #FileNum, , Buffer
fd.AppendChunk Buffer
Next
ReDim Buffer(Remainder)
Get #FileNum, , Buffer
fd.AppendChunk Buffer
Close #FileNumEnd FunctionFunction CopyFieldToFile(fd As Field, strFileName As String) As long
Dim FileNum As Integer
Dim Buffer() As Byte
Dim BytesNeeded As Long
Dim Buffers As Long
Dim Remainder As Long
Dim r As Integer
Dim i As Long
Dim ChunkSize As Long
ChunkSize = 65536
BytesNeeded = fd.ActualSize
If BytesNeeded > 0 Then
Buffers = BytesNeeded \ ChunkSize
Remainder = BytesNeeded Mod ChunkSize
If Dir(strFileName) <> "" Then
Kill strFileName
End If
FileNum = FreeFile
Open strFileName For Binary As #FileNum
For i = 0 To Buffers - 1
ReDim Buffer(ChunkSize)
Buffer = fd.GetChunk(ChunkSize)
Put #FileNum, , Buffer()
Next
ReDim Buffer(Remainder)
Buffer = fd.GetChunk(Remainder)
Put #FileNum, , Buffer()
Close #FileNum
End If
CopyFieldToFile = strFileName
End Function
恒谦兄,谢谢你的精彩回答,我还有个疑问,
我如何在vb的窗体中显示word文档呢?
像在窗体中显示文本一样.用ole控件吗?