如果文件大小的字节,不是偶数,添加到资源文件后输出,总是会自动补齐为偶数以前听 老虎(VB老鸟 )说是VB的BUG,现在真的面临这样的问题了
如果用Open PathFile For Binary As FF
    Put FF, , ResFile
 Close FF输出文件,速度就很快,但是会被补齐为偶数如果要先测算文件长度,再1个1个写的方式字节写入,速度就很慢···咋办才能又快又准呢???

解决方案 »

  1.   

    输出的文件多了一字节会有什么影响?
    可以在输出后,用 API 把文件截断吧!
      

  2.   

    可以在资源 文件的其他地方记录文件长度;
    取得长度后用 Redim 语句对 ResFile 进行调整;
    最后再写入文件。
      

  3.   

        Dim WJ() As Byte
        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
      

  4.   

    Open 语句后面好像经常看到什么什么  len(xxxx)- 1 的跟LZ说的有关系么
      

  5.   

    一般情况数组下标从0开始,所以上标要减一
    ReDim Preserve WJ(440153-1)
      

  6.   

    资源文件释放的问题一直困扰着许多程序员,这几天的攻关成果希望能给大家带来福音。
        假设要放入资源文件中的文件已经通过我的程序分割成了若干个文件,且这些文件被按顺序导入了资源文件。
    比如“童话.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")
    即可从资源文件释放出音乐。    我们大家知道,音乐文件和应用程序文件一样,是结构最严谨的文件。我测试了音乐文件和应用程序的:分解→分别按顺序添加到资源文件→从应用程序释放的整个过程。没有出现问题。也就是说,可以比较肯定我这个方法是彻底解决了网上传的“资源文件释放时会多出一两个字节”的问题。当然,也有可能是我的疏忽,我的程序可能还存在这样那样的问题,希望大家指出。