zlib1.dll是一个数据压缩、解压缩的开源包(http://www.zlib.net)
我使用其中的压缩与解压缩的功能
C语言定义的函数:
int uncompress (dest, destLen, source, sourceLen)
byte far *dest;
unsigned long far *destLen;
const byte far *source;
unsigned long farsourceLen;
int compress (dest, destLen, source, sourceLen)
byte far *dest;
unsigned long far *destLen;
const byte far *source;
unsigned long far sourceLen;
函数的目的是将source指针指向的长度为sourceLen数据进行压缩,压缩的结果存放到dest指针指向的空间中,dest指针指向长度为destLen的空间,函数的返回值为压缩后数据的长度
在PB中需要将blob类型的数据进行压缩,如何定义api的声明?我使用的很多方式都是有错误,不知道为什么。
pb代码:
blob bb_source,bb_dest
long ll_sourcelen,ll_destlen
bb_source = blob('12345')
ll_sourcelen=len(bb_source)
ll_destlen=ll_sourcelen+ (ll_sourcelen*0.01) + 12 //计算出事先需要分配的空间大小
bb_dest = blob(space(ll_destlen)) //分配空间
后面进行适当的api调用
------解决方案--------------------
直接看这个例子吧
http://www.topwizprogramming.com/freecode/zlibwapi.zip