1、如何将多个文件及文件夹打包成一个文件?及如何将还原???
2、有:1.exe 2.exe 3.txt 用Tstreamfile类合并成一个文件后[123.exe],如何将其分离,并将其分别执行:执行:1.exe
                             2.exe
                             3.txt

解决方案 »

  1.   

    通常在Delphi的应用程序中,我们会调用到很多的资源,例如图片,动画(AVI),声音,甚至于别的执行文件。当然,把这些资源分布到不同的目录不失为一个好办法,但是有没有可能把这些资源编译成标准的windows资源从而链接到一个执行文件里面呢? 我们可以自己做一个RC文件,例如 sample.rc ,RC文件其实就是一个资源文件的描述文本,通过“记事本”程序创建就行了。然后可以输入一些我们要定义的资源,例如:MEN BITMAP c:\bitmap\men.bitmap
    ARJ EXEFILE c:\arj.exe
    MOV AVI c:\mov.avi然后用BRCC32把这个RC文件编译成sample.res(真正的资源文件)。在Delphi的工程文件中使用 $R 编译指令让Delphi包括资源到EXE文件里面。{$R sample.res}这样我们就可以在这个单一的执行文件中调用资源了。举例如下:EXEFILE:procedure ExtractRes(ResType, ResName, ResNewName : String);
    var 
    Res : TResourceStream; 
    begin
    Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType)); Res.SavetoFile(ResNewName);
    Res.Free; 
    end;AVI:procedure LoadAVI;
    begin
    {Avi1是一个TAnimate类}
    Avi1.ResName:='AVI';
    Avi1.Active:=True;
    end; 
      

  2.   

    delphiboy110(我爱delphi) :谢谢你的回答? 但我问的不这个问题!!!!!
    我的问题是:主程序已编译, 然后随时用主程序将系统中的目录打包、还原!!!!!!?????
      

  3.   

    我使用过这种方法来传输文件包,一个地方打包,在另一个地方解包并处理,
    使用了自己定义的格式来打包文件,在解包按格式打开就行了。
    我使用的格式是:
    第一个文件长度(4个字节)+第一个文件内容+CRC校验(4个字节)+
    第二个文件长度(4个字节)+第二个文件内容+CRC校验(4个字节)+

    解包时可通过校验来判断文件是否正确。