Win8 压缩Compress与解压Decompress函数实例

来源:互联网 发布:赚钱的直播软件 编辑:程序博客网 时间:2024/05/17 09:39
.版本 2.支持库 iext.子程序 压缩.局部变量 bool, 逻辑型.局部变量 CompressorHandle.局部变量 temp, 字节集.局部变量 tmp, 字节集.局部变量 dwSize.局部变量 long.局部变量 path, 文本型path = 超级列表框1.取标题 (0, 0).如果真 (path = “”)    返回 ().如果真结束bool = CreateCompressor (组合框1.取项目数值 (组合框1.现行选中项), 0, CompressorHandle)  ' 创建压缩机句柄.如果真 (bool = 假)    标签2.标题 = “初始化压缩失败...”    返回 ().如果真结束标签2.标题 = “正在读取数据....”temp = 磁盘_读入文件 (path).如果真 (temp = {  })    标签2.标题 = “读入数据失败!”    返回 ().如果真结束标签2.标题 = “正在压缩....”dwSize = 字节集_取字节集长度 (temp)bool = Compress (CompressorHandle, temp, dwSize, {  }, 0, long)  ' 返回实际压缩后大小tmp = 字节集_取空白字节集 (long)bool = Compress (CompressorHandle, temp, dwSize, tmp, long, long)  ' 压缩数据.如果真 (bool)    超级列表框1.置标题 (0, 3, 到文本 (long)).如果真结束标签2.标题 = “保存压缩文件....”.如果 (磁盘_写到文件 (磁盘_取桌面路径 () + 磁盘_取文件短名 (path), 取字节集左边 (tmp, long)))    标签2.标题 = “成功,压缩文件已保存桌面上”.否则    标签2.标题 = “保存压缩文件失败!”.如果结束CloseCompressor (CompressorHandle)  ' 关闭压缩机.子程序 解压.局部变量 bool, 逻辑型.局部变量 DecompressorHandle.局部变量 temp, 字节集.局部变量 tmp, 字节集.局部变量 dwSize.局部变量 long.局部变量 name, 文本型name = 超级列表框1.取标题 (0, 1).如果真 (name = “”)    返回 ().如果真结束bool = CreateDecompressor (组合框1.取项目数值 (组合框1.现行选中项), 0, DecompressorHandle)  ' 创建解压机.如果真 (bool = 假)    标签2.标题 = “初始化压缩失败...”    返回 ().如果真结束标签2.标题 = “正在读取数据....”temp = 磁盘_读入文件 (磁盘_取桌面路径 () + name).如果真 (temp = {  })    标签2.标题 = “读入数据失败!”    返回 ().如果真结束标签2.标题 = “正在解压....”dwSize = 字节集_取字节集长度 (temp)bool = Decompress (DecompressorHandle, temp, dwSize, {  }, 0, long)tmp = 字节集_取空白字节集 (long)bool = Decompress (DecompressorHandle, temp, dwSize, tmp, long, long)  ' 解压数据.如果 (磁盘_写到文件 (磁盘_取桌面路径 () + “解压后_” + name, 取字节集左边 (tmp, long)))    标签2.标题 = “成功,解压文件已保存桌面上”.否则    标签2.标题 = “恢复解压文件失败!”.如果结束CloseDecompressor (DecompressorHandle)  ' 关闭解压机.子程序 _按钮3_被单击.局部变量 path, 文本型path = 对话框_打开文件 (“请选择欲压缩的文件”).如果真 (path = “”)    返回 ().如果真结束超级列表框1.全部删除 ()超级列表框1.插入表项 (, path, , , , )超级列表框1.置标题 (0, 1, 磁盘_取文件短名 (path))超级列表框1.置标题 (0, 2, 到文本 (磁盘_取文件尺寸 (path))).子程序 __启动窗口_创建完毕.如果真 (系统_取操作系统类别_汇编版 () < 10)    系统_信息框 (“暂不支持该系统,请在Win8系统上运行实例。”, #信息图标, “被遗忘的系统”)    结束 ().如果真结束组合框1.现行选中项 = 0.子程序 _按钮1_被单击多线程_启动线程 (&压缩).子程序 _按钮2_被单击多线程_启动线程 (&解压).子程序 _组合框1_列表项被选择.如果真 (组合框1.取项目数值 (组合框1.现行选中项) = 5)    输出调试文本 (“注意:LZMS压缩算法很慢”).如果真结束


原创粉丝点击