求教:多文件合并的问题.
因为项目开发需要,要将多个图像,影像资料合成为一个文件,并加密.要实现快速读写,尽量少占内存(即只调用需要的那一部分),请问如何实现,谢谢.我试着用MDB等小型数据库实现,但安全性不是太好.谢谢各位大侠指教!!! 问题点数:100、回复次数:11Top
1 楼freshman2003(秋水长天)回复于 2003-11-01 10:28:45 得分 0
有专门的打包软件。Top
2 楼sfemil(心洋)回复于 2003-11-01 10:34:52 得分 10
你去看看复合文档的概念。一定能够满足你的需求。相关API在MSDN中可以查询到。
StgCreateDocfile 等Top
3 楼cooleon(亮君)回复于 2003-11-01 11:21:11 得分 0
顶!
Top
4 楼zihan(子寒)回复于 2003-11-01 12:15:52 得分 10
你可以使用专门的压缩控件,也可以自己把它合成一个文件,然后记录相关的文件信息就可以了.Top
5 楼yjy1001(蓝鲸--优秀得郁闷的鱼)回复于 2003-11-01 13:02:49 得分 20
自己写也可以,例如可以定义如下:
头:HB(2 byte)
合并文件个数:0x00,0x00(1个 或是 2 byte)
a、第一个文件的原文件名字:20个byte
b、第一个文件的对应地址:2个byte
c、第一文件的大小:2个byte
重复abc 直到所有文件
第一文件的开始地址就是:(假设有n个文件)2+1+(20+2+2)* n
第i个文件的开始地址是:2+1+(20+2+2)* n+(i-1)个文件的大小
至于怎么压缩,请看压缩算法,图形 可以通过改变保存格式来完成;影象有很多种压缩方法
Top
6 楼cooleon(亮君)回复于 2003-11-02 12:29:57 得分 0
因为要将未知个(>200)文件合并为一个文件,而且每个文件的大小不定.在程序里可以动态的创建,并且有函数可以快速的读取,显示在Image容器中.还有因为都是图片,影像文件,所以单个的文件都很大,最好是可以读取需要的那一部分,这样可以尽量少占用系统资源!我试着用MDB小型数据库来实现,可以,但安全性不是太好.最好自己定义结构,并存储.这方面从来没做过,请各位DX指点!!Top
7 楼MEFULEU(没有作不到,只有想不到)回复于 2003-11-02 12:40:39 得分 0
作为资源Top
8 楼zhutaozhi53(云雾)回复于 2003-11-02 12:56:13 得分 0
关键问题就是怎么能快速读写。很多方法可以做!Top
9 楼cooleon(亮君)回复于 2003-11-02 15:01:23 得分 0
不能作为资源,因为是再程序里自动打包,自动分别提取.打包可以由用户来生成,程序只管解析后读取并显示..关键是要快,少占内存,呵呵!!Top
10 楼cooleon(亮君)回复于 2003-11-03 07:23:38 得分 0
唉,再顶!!Top
11 楼7rainbow(七彩虹)回复于 2003-11-03 09:47:45 得分 60
自己写一个合并的程序:
结构为:
struct HEAD
{
char info[50];
unsigned char filecount;
};
struct FILE_USE
{
char filename[80];
long filesize;
};
打包的文件内容为:
1,文件头:info(识别信息),文件数目。
2,单个文件信息:文件名;文件长度。
...
...
...(文件数目)个文件结构信息。
3,单个文件内容:
...
...
...(文件数目)个文件内容。
Top




