如果文件大小的字节,不是偶数,添加到资源文件后输出,总是会自动补齐为偶数以前听 老虎(VB老鸟 )说是VB的BUG,现在真的面临这样的问题了
如果用Open PathFile For Binary As FF
Put FF, , ResFile
Close FF输出文件,速度就很快,但是会被补齐为偶数如果要先测算文件长度,再1个1个写的方式字节写入,速度就很慢···咋办才能又快又准呢???
如果用Open PathFile For Binary As FF
Put FF, , ResFile
Close FF输出文件,速度就很快,但是会被补齐为偶数如果要先测算文件长度,再1个1个写的方式字节写入,速度就很慢···咋办才能又快又准呢???
解决方案 »
- 检测打印机状态
- 那位有leadtools14.5的unlock代码?
- 如何使MSFlexGrid 不显列某一列,不是将这一列的宽度设为0
- vb中有定点小数类型吗?如果对精度要求很高,不能用浮点数如何办呢?
- 问个基础问题 VB中 调试 时如何 监控 变量的变化?
- 寻找高手vb
- [--100分--]一百分求监控注册表的程序.分不够再加!
- 怎么样在程序运行中修改用户控件中的对象?
- 如何在程序中自动配置本机的ip和dns?
- 如何在CDataGrid控件中插入行和删除行,在线等待,急用(给分)
- VB MDI的子窗体能不能始终只有一个开着 其余自动关闭?杯具求指导~~~~~
- 数据库夺标搜索,Instr的用法(Access数据库)
可以在输出后,用 API 把文件截断吧!
取得长度后用 Redim 语句对 ResFile 进行调整;
最后再写入文件。
Dim FF As Integer
FF = FreeFile WJ = LoadResData(101, "CUSTOM")
ReDim Preserve WJ(440153)
Open "c:\XXX.exe" For Binary As FF
Put FF, , WJ
Close FF
Erase WJReDim 了一下,但是释放的文件还是多了1个字节,变成440154
ReDim Preserve WJ(440153-1)
假设要放入资源文件中的文件已经通过我的程序分割成了若干个文件,且这些文件被按顺序导入了资源文件。
比如“童话.mp3”切割成了,“童话1.mp3”\“童话2.mp3”\“童话3.mp3”\“童话4.mp3”\“童话5.mp3”\“童话6.mp3”……“童话54.mp3”,然后将它们按顺序导入资源文件。
资源序号对应为101-154
释放资源文件的函数如下:
Function AddGroup(ByRef Mains() As Byte, ByRef Sources() As Byte) '代码完成,by S.R.
Dim a As Long, b As Long, i As Long
a = UBound(Mains) '3
b = UBound(Sources) '5
If a = 0 Then
ReDim Preserve Mains(a + b)
Else
ReDim Preserve Mains(a + b + 1)
End If
For i = 0 To b
If a = 0 Then
Mains(a + i) = Sources(i)
Else
Mains(a + i + 1) = Sources(i)
End If
Next i
End FunctionFunction OutputFile(ByVal cbegin As Long, ByVal cend As Long, ByVal outname As String)
Dim whole() As Byte
Dim temp() As Byte
Dim socode As Long
ReDim whole(0)
For socode = cbegin To cend
Erase temp
temp = LoadResData(socode, "CUSTOM")
Call AddGroup(whole, temp)
Erase temp
Next socode
Open outname For Binary As #1
Put #1, , whole
Close #1
Erase whole
ReDim whole(0)
Erase temp
socode = 0
End Function对上面的函数进行调用可以将例子“童话.MP3”重新释放出来调用方法:
Call OutputFile(101,154,"F:\童话.mp3")
即可从资源文件释放出音乐。 我们大家知道,音乐文件和应用程序文件一样,是结构最严谨的文件。我测试了音乐文件和应用程序的:分解→分别按顺序添加到资源文件→从应用程序释放的整个过程。没有出现问题。也就是说,可以比较肯定我这个方法是彻底解决了网上传的“资源文件释放时会多出一两个字节”的问题。当然,也有可能是我的疏忽,我的程序可能还存在这样那样的问题,希望大家指出。