为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

[计划]文件压缩解压

2018-09-04 4页 doc 18KB 4阅读

用户头像

is_977556

暂无简介

举报
[计划]文件压缩解压[计划]文件压缩解压 作者:月朗心息 提交日期:2006-2-9 9:54:00 /////////////// procedure CompressFiles(Files : TStringList; const Filename : String); var infile, outfile, tmpFile : TFileStream; compr : TCompressionStream; i,l : Integer; s : String; begin if Files.Count > 0 the...
[计划]文件压缩解压
[]文件压缩解压 作者:月朗心息 提交日期:2006-2-9 9:54:00 /////////////// procedure CompressFiles(Files : TStringList; const Filename : String); var infile, outfile, tmpFile : TFileStream; compr : TCompressionStream; i,l : Integer; s : String; begin if Files.Count > 0 then begin outFile := TFileStream.Create(Filename,fmCreate); try { the number of files } l := Files.Count; outfile.Write(l,SizeOf(l)); for i := 0 to Files.Count-1 do begin infile := TFileStream.Create(Files[i],fmOpenRead); try { the original filename } s := ExtractFilename(Files[i]); l := Length(s); outfile.Write(l,SizeOf(l)); outfile.Write(s[1],l); { the original filesize } l := infile.Size; outfile.Write(l,SizeOf(l)); { compress and store the file temporary} tmpFile := TFileStream.Create('tmp',fmCreate); compr := TCompressionStream.Create(clMax,tmpfile); try compr.CopyFrom(infile,l); finally compr.Free; tmpFile.Free; end; { append the compressed file to the destination file } tmpFile := TFileStream.Create('tmp',fmOpenRead); try outfile.CopyFrom(tmpFile,0); finally tmpFile.Free; end; finally infile.Free; end; end; finally outfile.Free; end; DeleteFile('tmp'); end; end; ///////////////////////////////// procedure DecompressFiles(const Filename, DestDirectory : String); var dest,s,s2 : String; decompr : TDecompressionStream; infile, outfile : TFilestream; i,l,c: Integer; begin // IncludeTrailingPathDelimiter (D6/D7 only) dest :=DestDirectory;// Trim(IncludeTrailingPathDelimiter(DestDirectory)); infile := TFileStream.Create(Filename,fmOpenRead); try { number of files } infile.Read(c,SizeOf(c)); for i := 1 to c do begin { read filename } infile.Read(l,SizeOf(l)); SetLength(s,l); infile.Read(s[1],l); s2 := s; { read filesize } infile.Read(l,SizeOf(l)); Application.ProcessMessages; { decompress the files and store it } s := dest+s2; //include the path outfile := TFileStream.Create(s ,fmCreate); decompr := TDecompressionStream.Create(infile); try outfile.CopyFrom(decompr,l); finally outfile.Free; decompr.Free; end; end; finally infile.Free; end; end;
/
本文档为【[计划]文件压缩解压】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索