VisualFoxPro应用程序添加文件压缩功能

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

  压缩文件可以认为是一个文件的容器。通过文件压缩,大量文件可以被打包起来并当作一个文件来看待。此外,压缩文件在尺寸上普遍比原文件小,如文本文件在压缩以后的平均大小是原来的40%。 

  因此,文件压缩能够大幅度的节省空间和网络传输时间,从而使得文件的携带和传输更加方便快捷。

  在环境下,经常使用到的压缩程序是ARJ、RAR和PKZIP/PKUNZIP。在环境下,经常使用到的是WinZip和CleverZip。这些软件基本上都是共享软件,都可以从网络上免费获取。

  在应用程序中,经常需要对数据文件进行压缩备份或者从压缩文件中恢复。以Visual 为例,通常的做法是通过FoxPro语句调用压缩软件,然后在该压缩软件的操作界面上进行文件压缩或者文件恢复。这种做法不仅在操作界面上非常不友好,而且大大地削弱了应用程序的整体性。以下介绍的FoxPro程序利用了两个共享的动态链接库AZIP.DLL和AUNZIP.DLL在Visual FoxPro内部实现了文件压缩与解压缩功能,从而较好地解决了这个问题。

文件压缩程序
* 程序名称:AZIP.PRG
* 程序说明:在Visual FoxPro中实现文件压缩
* 程序要求:AZIP32.DLL放置在Windows的System目录或当前目录下
* 使用方法:USAGE: AZIP(lInitialize, sArchive, sInclFiles[, ZipParams])
* 参数说明:
--lInitialize:.T. – 第一次使用本程序,.F. – 非第一次使用本程序
--sArchive: 带有扩展名的压缩文件名,如"C:/THISFILE.ZIP"
--sInclFiles:需要压缩的文件名称,不同文件名之间有一个空格
例1: "D:/CUSTDATA.DBF"
例2: "C:/CUSTOMER.DBF D:/*.TXT D:/DATABASES/*.*"
--ZIPparams:文件压缩参数[可选]
e(x) x = ’X’ 最大程度压缩
x = ’0’ 无压缩
x = ’S’ 最小程度压缩
x = ’N’ 普通压缩(缺省)
P 包括目录信息
S 使用密码(必须是最后一部分)
* 示范语句:AZIP(.T., "ZIPFILE", "*.DBF *.TXT Customer.doc")
* 返回参数:被压缩的文件数目,如果没有指定文件名则返回-1
* 接受参数
PARAMETERS lInitialize, sArchive, sInclFiles, ZIPparams
PRIVATE Params, sTemp
Params = PARAMETERS()
* 声明需要调用的DLL函数并使当前窗口获得焦点
IF Params = 0 or lInitialize
PRIVATE HWND
DECLARE INTEGER GetActiveWindow IN win32api
HWND = GetActiveWindow()
DECLARE addZIP_Initialise IN AZIP32
DECLARE SHORT addZIP_SetParentWindowHandle IN AZIP32 SHORT @ HWindow
DECLARE SHORT addZIP_ArchiveName IN AZIP32 STRING @ sArchName
DECLARE SHORT addZIP_Include IN AZIP32 STRING @ sFileName
DECLARE SHORT addZIP_Recurse IN AZIP32 SHORT @ nRecurse
DECLARE SHORT addZIP_SetCompressionLevel IN AZIP32 SHORT @ nComprLvl

上一页1234下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答