谁能给我解释下这几行代码?

tccsdn 2004-08-18 10:50:59
var
DecompressionStream :TDecompressionStream;
count, i :integer;
buf:pchar;
begin
SFile:=TMemoryStream.Create;
Sfile.LoadFromFile('ab.dat');
sfile.Read( count, sizeof(count) );

getmem(buf,count);
DecompressionStream:=TDecompressionStream.Create(sfile);
//-------上面这行不知道怎么在BCB里面用??
Decompressionstream.ReadBuffer(buf^,count);
sfile.Clear ;
sfile.WriteBuffer(buf^,count);
sfile.position:=0;
decompressionstream.free;
freemem(buf);
上面这段代码不知道做了些什么东西?有什么用?望大家解释一下
...全文
294 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
tccsdn 2004-08-19
  • 打赏
  • 举报
回复
谢谢 CKER提供的连接,在DELPHI6里面有个ZLIB。DCU的文件,DELPHI7里面还多了一个ZLIB。PAS文件,所以都能正常使用,但在BCB里面找不到ZLIB开头的任何文件,不知道在BCB里面怎么才能用这个类呢?
  • 打赏
  • 举报
回复
http://www.yesky.com/20030311/1656296.shtml
hy1080 2004-08-19
  • 打赏
  • 举报
回复
DecompressionStream是个什么对象? xpdavis(咕嘟) 说的应当对.
或者是加密吧?
tccsdn 2004-08-19
  • 打赏
  • 举报
回复
关键是不知道TDecompressionStream在BCB里面包含哪个头文件啊
crzman37 2004-08-19
  • 打赏
  • 举报
回复
这个好像是PASCALLJ里面的结构一样,有BEGIN应该有END。
这个程序是将一个文件放入内存,然后再进行压缩。
铖邑 2004-08-19
  • 打赏
  • 举报
回复
DecompressionStream:=TDecompressionStream.Create(sfile);
在BCB里面应该是
DecompressionStream=new TDecompressionStream(sfile);
myy 2004-08-19
  • 打赏
  • 举报
回复
应该是用 zlib 解压缩一个文件
  • 打赏
  • 举报
回复
呵呵,那些文件都是开放源码的zlib源代码,编译得到的obj文件,delphi带的两个pas文件不过封装了一下罢了。
所以这个编译的时候比较麻烦,delphi并没有提供这些obj,一切都已经由dcu与编译过了。
但是bcb使用的时候没有zlib.pas生成的.hpp和obj是不行的。
所以你需要先从zlib编译得到这些obj才可以顺利地编译zlib.pas.比较麻烦,我手头没有delphi,没有这两个pas文件,不好试验。sorry
tccsdn 2004-08-19
  • 打赏
  • 举报
回复
to qiuafa:
你说的没错,在编译的时候缺少ZLibConst.PAS文件,我从DELPHI目录下拷过来,再编译的时候就出现了上面的那错误
qiuafa 2004-08-19
  • 打赏
  • 举报
回复
只要compile .pas,不要link.产生.obj .hpp即达到目的。
最后加入.obj,在link,如果link出错,那就表示还有相关的.pas也需要这样加入。


tccsdn 2004-08-19
  • 打赏
  • 举报
回复
to qiuafa:
在编译ZLIB。PAS文件的时候,提示错误是:
File not found: 'deflate.obj'
现在还有很多一样的错误,只是后面的文件名不一样,
错误位置是在这几行上面:
{$IFDEF MSWINDOWS}
{$L deflate.obj}
{$L inflate.obj}
{$L inftrees.obj}
{$L trees.obj}
{$L adler32.obj}
{$L infblock.obj}
{$L infcodes.obj}
{$L infutil.obj}
{$L inffast.obj}
是从ZLIB。PAS文件里面拷贝出来的,但不管是在DELPHI目录也好,BCB目录也好都找不到这些文件,这是怎么会事?
qiuafa 2004-08-19
  • 打赏
  • 举报
回复
在工程加入ZLIB.PAS,编译产生.ojb .hpp,去除ZLIB.PAS,加入ZLIB.OBJ,#include "ZLIB.HPP"
arraden 2004-08-19
  • 打赏
  • 举报
回复
关注,以前直接用过的,现在忘了。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧