难!delphi能否实现,直接从zip压缩包中读取txt文件的内容,用VB能实现.(100分)

  • 主题发起人 主题发起人 xuefeng
  • 开始时间 开始时间
X

xuefeng

Unregistered / Unconfirmed
GUEST, unregistred user!
有人用VB做过这样的程序,ZIP压缩包,不用解压到硬盘,即可读出里面的文本文件的内容.
不知用Delphi能否实现?如何做?谢谢
 
解压到stream行不
 
可以的,网上有这样的例子,比如“读书软件”源代码。
 
应该是解压到了临时文件夹中的吧。
 
不论用什么方法,肯定都是要解压出来的,只不过是解到硬盘还是内存的区别,所以千万不要钻牛角尖,以为真的可以直接读取。祝你好运![:)]
 
VCLZIP 才是王道
 
nothing is impossible
楼上说的vclzip就是一种解决方案,通过流的方式可以不用临时文件;
vclunzip1.unziptostream(....)
就可以了
 
熟悉的人搞个例子吧,比如从 Rar 文件读取
 
谢谢大家,搞定了.就是用vclzip
代码共享:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
AStream: TStream;
begin
VCLUnZip1.ZipName := 'bb3.zip';
AStream := TMemoryStream.Create;
try
VCLUnZip1.UnZipToStream(AStream, '2.txt');
AStream.Position := 0;
Memo1.lines.LoadFromStream(AStream);
//////////////////////////////////////////////////////
AStream.Position := 1;
ListBox1.Items.LoadFromStream(AStream);
finally
AStream.Free;
end;
end;
 
后退
顶部