文档章节

ZIPTV压缩 控件包 使用方法

vga
 vga
发布于 2017/09/08 06:30
字数 352
阅读 15
收藏 0
用 ZIPTV 控件包实现
用到其中的 TZip 和 TUnZip 控件
函数:
function DeCompressFile(sourceFile, targetPath: string): Boolean;
var
  FilesExtracted: Integer;
begin
  result := False;
  UnZIP1.ArchiveFile := sourceFile; // archive filename
  //   UnZIP1.Passwords.Add('123');
  UnZIP1.ConfirmOverwrites := false; // default = False
  UnZIP1.RecurseDirs := true; // default = False
  UnZIP1.FileSpec.Clear(); //
  UnZIP1.FileSpec.Add('*.*'); // *.* = extract all
  UnZIP1.ExtractDir := targetPath; //
  FilesExtracted := UnZIP1.Extract();
  if FilesExtracted = 0 then
    result := false
  else
    result := true;
end;

function CompressFile(sourcePath, targetFName: string): Boolean;
var
  FilesCompressed: Integer;
begin
  result := False;
  if FileExists(targetFName) then
    EraseFile(targetFName, doAllowUndo); // EraseFile is in ztvBase.pas
  Zip1.ArchiveFile := targetFName; // archive filename
  Zip1.DateAttribute := daFileDate; // default value
  Zip1.StoredDirNames := sdRelative; // default value
  Zip1.CompressMethod := cmDeflate; // default value
  Zip1.RecurseDirs := true; // default = False
  Zip1.Switch := swAdd; // default value
  Zip1.StoreEmptySubDirs := False; // default value
  Zip1.EncryptHeaders := false; // default = False
  Zip1.ExcludeSpec.Clear();
  Zip1.FileSpec.Clear();
  Zip1.FileSpec.Add(sourcePath + '*.*');
    // test with c:\windows\*.txt
  // ****************************************************************
  // NOTE: for a better understanding of how the Attributes property
  // works with file attributes see demo demos\filescan\fs_demo.dpr.
  // ****************************************************************
  // See the Attributes property in the object inspector
  // Set Zip1 Attributes property by calling the SetAttribute method
  Zip1.SetAttribute(fsZeroAttr, True); // default
  Zip1.SetAttribute(fsArchive, True); // default
  Zip1.SetAttribute(fsDirectory, True); // default = False
  Zip1.SetAttribute(fsHidden, True); // default = False
  Zip1.SetAttribute(fsReadOnly, True); // default
  Zip1.SetAttribute(fsSysFile, True); // default = False
  // See the AttributesEx property in teh object inspector
  // Set the AttributesEx property by calling the SetAttributeEx method.
  // Exclude none
  Zip1.SetAttributeEx(fsZeroAttr, False); // default
  Zip1.SetAttributeEx(fsArchive, False); // default
  Zip1.SetAttributeEx(fsDirectory, False); // default
  Zip1.SetAttributeEx(fsHidden, False); // default
  Zip1.SetAttributeEx(fsReadOnly, False); // default
  Zip1.SetAttributeEx(fsSysFile, False); // default
  //   UnZIP1.Password:='huaruan';
  FilesCompressed := Zip1.Compress();
  //   ShowMessage( 'Files Compressed: ' + IntToStr( FilesCompressed ) );
  result := true;
end;
调用例子:
   if not CompressFile( 'c:\temp\', 'c:\test.zip') then
     begin
       showmessage('压缩文件失败,请检查路径正确性!');
       exit;
     end;
//-------------------------------------
    if not deCompressFile('c:\test.zip', 'c:\temp\') then
    begin
      showmessage('解压压缩文件失败,请检查是否为该系统的压缩文件!');
      exit;
    end;

本文转载自:http://www.cnblogs.com/linyawen/archive/2011/04/20/2022449.html

共有 人打赏支持
vga

vga

粉丝 21
博文 363
码字总数 26077
作品 0
佳木斯
私信 提问
加载中

评论(1)

vga
vga
zip tv 能下载到的源码版本 V6.8.4 可支持 delphi 2007, 经过修改,可支持 Delphi xe2 等
群组转换器--Favorite2Group

群组转换器(For GB,程序源代码已在Google发布) 本软件主要是辅助GreenBrowser的一个小工具,其功能目前有4个比较完善: IE收藏夹转换为GB群组(文件夹转换为cgp文件) GB群组转换为IE收藏...

糯米糊糊
2011/06/12
435
0
android应用开发工具包--androidkit

用于android应用层开发的工具包,它将有助于你提高开发效率。如果在使用中有任何疑惑或建议,可以 目前主要有以下模块: db模块(目前只对SharedPreferences类封装为KV类) http模块,封装了...

貌似掉线
2012/11/18
7.9K
5
Android显示GIF动画--GifView

GifView 是一个为了解决android中现在没有直接显示gif的view,只能通过mediaplay来显示这个问题的项目,其用法和 ImageView一样,支持gif图片 使用方法: 1-把GifView.jar加入你的项目。 2-在...

ant.cy.liao
2011/12/12
67.6K
11
jeissie/JesseOAF

欢迎使用Jesse Open Assist Frame ####JOAF是一个Android的轻量级辅助应用开发框架,把自己日常反复使用的东西精炼出来,欢迎讨论反馈。 集中工具 :将日常开发中常用的系统的繁琐方法进行了...

jeissie
2014/11/04
0
0
C#/winForm界面控件包Xceed SmartUI for .NET下载及使用介绍

原文来自龙博方案网http://www.fanganwang.com/product/5086转载请注明出处 Xceed SmartUI for .NET 相关文章 ImageKit的使用 Themida加壳经常出现的问题 Xtreme.Toolkit.Pro编译教程 Codejo...

netkongjian
2014/05/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

深入理解JVM—JVM内存模型

深入理解JVM—JVM内存模型 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存...

onedotdot
36分钟前
1
0
MVC、MVCS、MVVM、MVP、VIPER等这么多架构模式哪一个好呢?

在项目开启阶段,其中一个很重要的环节就是选架构。 那么面对目前已知的这么多架构模式我们该怎么选择呢?这确实是个很让人头疼的问题! 下面我就在这里梳理一下目前常见的一些架构模式。 先...

Java干货分享
今天
4
0
简单模仿配置文件的反射机制

//Student类 public class Student { public void love() { System.out.println("python"); } } //Tesy类 public class Tesy { public static void main(String[] args) throws Exceptio......

南桥北木
今天
2
0
你真的需要了解一下CSS变量 var()的用法

当Web项目变得越来越大时,他的CSS会变得像天文数字那么大而且还变得混乱。为了帮助我们解决这个问题,新的CSS变量很快就会出现在主流浏览器中,它让开发人员能够重用并轻松编辑重复出现的C...

前端小攻略
今天
2
0
嵌入式应用选择合适的微控制器

为嵌入式应用选择微控制器有几个原因,即低成本,高集成度,增加可靠性,节省空间等。 准备所需硬件接口列表使用微控制器的基本硬件框图,准备一份微控制器需要支持的所有外设接口的列表。微...

linux-tao
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部