如何直接读取用VCLZip加密压缩的压缩包 比如压缩的是一个.txt文件,如何读出其中的内容。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 好像VCLZIP是有方法直接解出某个指定的文件的。如果觉得VCLZIP太多方法的话,用UnVcLZip也可以~~~ 使用delphi自带的Zlibprocedure Compress(var CompressedStream: TMemoryStream);var SourceStream: TCompressionStream; DestStream: TMemoryStream; Count: Integer;begin Count := CompressedStream.Size; DestStream := TMemoryStream.Create; SourceStream:=TCompressionStream.Create(clMax, DestStream); try CompressedStream.SaveToStream(SourceStream); SourceStream.Free; CompressedStream.Clear; CompressedStream.WriteBuffer(Count, SizeOf(Count)); CompressedStream.CopyFrom(DestStream, 0); finally DestStream.Free; end;end;procedure UnCompress(const CompressedStream: TMemoryStream);var SourceStream: TDecompressionStream; DestStream: TMemoryStream; Buffer: PChar; Count: Integer;begin CompressedStream.Position := 0; CompressedStream.ReadBuffer(Count, SizeOf(Count)); GetMem(Buffer, Count); DestStream := TMemoryStream.Create; SourceStream := TDecompressionStream.Create(CompressedStream); try SourceStream.ReadBuffer(Buffer^, Count); DestStream.WriteBuffer(Buffer^, Count); DestStream.Position := 0; CompressedStream.LoadFromStream(DestStream); finally FreeMem(Buffer); DestStream.Free; SourceStream.Free; end;end; 用的第三方VClskin控件,现在程序的在状态栏里单击右键有个ALt+F4的关闭按钮 在三层结构的环境下,如何实现把客户端的图片传到数据库中? 各位学过 "操作系统"的朋友 ,帮我看一看啊,小生我没有可用分,以身相许行不? 我想让TreeView组件的TreeNode增加一个Integer域 100分征求TStringList,TStream详细的说明和举例 过年了,升级了,女朋友也找到了,散分啦! 100分求教:.db数据库的连接问题 成心求教 请教一下有关oracle的问题 listview中怎么加入某条信息的id号,然后在点击时间读取id 关于包的问题 delphi定时器问题????
var
SourceStream: TCompressionStream;
DestStream: TMemoryStream;
Count: Integer;
begin
Count := CompressedStream.Size;
DestStream := TMemoryStream.Create;
SourceStream:=TCompressionStream.Create(clMax, DestStream);
try
CompressedStream.SaveToStream(SourceStream);
SourceStream.Free;
CompressedStream.Clear;
CompressedStream.WriteBuffer(Count, SizeOf(Count));
CompressedStream.CopyFrom(DestStream, 0);
finally
DestStream.Free;
end;
end;procedure UnCompress(const CompressedStream: TMemoryStream);
var
SourceStream: TDecompressionStream;
DestStream: TMemoryStream;
Buffer: PChar;
Count: Integer;
begin
CompressedStream.Position := 0;
CompressedStream.ReadBuffer(Count, SizeOf(Count));
GetMem(Buffer, Count);
DestStream := TMemoryStream.Create;
SourceStream := TDecompressionStream.Create(CompressedStream);
try
SourceStream.ReadBuffer(Buffer^, Count);
DestStream.WriteBuffer(Buffer^, Count);
DestStream.Position := 0;
CompressedStream.LoadFromStream(DestStream);
finally
FreeMem(Buffer);
DestStream.Free;
SourceStream.Free;
end;
end;