Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Zip files to Stream and From Stream

920 views
Skip to first unread message

Mac

unread,
Apr 14, 2004, 2:07:13 AM4/14/04
to
Hello,

I need a ZIP component which is able to ZIP some files to a stream and
extract files to stream (without extracting to a Temp file).

I think ComponentAce has a ZipForge component which is fine but it is
expensive for me. Abbrevia is unfortunately unable to do what I want
(at least I have not been able to find such functionality in ti).

Is there any free or open source alternative to it?

Regards,
Mac

Rainer M.

unread,
Apr 14, 2004, 3:14:14 AM4/14/04
to
Mac,

take a look at zlib at http://www.base2ti.com/
I've used zlib 1.1.4 in a previous project and as far as I remember
it supports stream.

regards,
Rainer


"Mac" <newsgrou...@Removeithost111.com> schrieb im Newsbeitrag
news:407c...@newsgroups.borland.com...

Marco

unread,
Apr 14, 2004, 4:06:05 AM4/14/04
to
> I need a ZIP component which is able to ZIP some files to a stream and
> extract files to stream (without extracting to a Temp file).


fastest way I know...
http://www.dellapasqua.com/delphizlib/

Ciao
Marco Kregar


Robert Love

unread,
Apr 14, 2004, 1:26:04 PM4/14/04
to
>expensive for me. Abbrevia is unfortunately unable to do what I want
>(at least I have not been able to find such functionality in ti).

The functionality is available in Abbrevia

UnZipper.ExtractToStream()
ZipKit.ExtractToStream()

BTW, this is mentioned in the help file which is still a seperate
download.

Robert Love

Suelinda W

unread,
Apr 14, 2004, 1:57:37 PM4/14/04
to
ComponentOne's C1zip for NET would meet your needs. It is not freeware, but
Delphi 8 does ship with a full version of the control. For more information,
please visit http://www.componentone.com.

Suelinda Webster
Customer Engagement, ComponentOne LLC


"Mac" <newsgrou...@Removeithost111.com> wrote in message
news:407c...@newsgroups.borland.com...

James K Smith

unread,
Apr 14, 2004, 4:46:47 PM4/14/04
to

Yep.


Jim McKay

unread,
Apr 14, 2004, 4:58:11 PM4/14/04
to
James K Smith wrote:

I 2nd that.

--
Regard:
Jim McKay

"To err is human, to moo bovine."

Posted with XanaNews: Ver: 1.16.3.1

Raymond J. Schappe

unread,
Apr 14, 2004, 9:09:03 PM4/14/04
to
> I need a ZIP component which is able to ZIP some files to a stream and
> extract files to stream (without extracting to a Temp file).

While not free, VCLZip is very inexpensive, comes with full source, and
works with streams like a charm!!!

The support is great, and the author has been with the Delphi community a
long time and is still active in development as well.

http://vclzip.bizland.com/

HTH,
-- Raymond
Raymond J. Schappe
Isthmus Technology Solutions, LLC
______________________________________


Mac

unread,
Apr 14, 2004, 10:59:06 PM4/14/04
to
Hello,

Thank you. But I need to extract from "stream to stream" and from
"stream to file". I have looked at VCLZIP but again seems it does not
have the ability of working with ZIP archives in memory for above 2
functions.

Regards,
Mac

Mac

unread,
Apr 14, 2004, 10:57:46 PM4/14/04
to
Hello,

Thank you. But I need to extract from "stream to stream" and from
"stream to file".

Regards,
Mac

Shane Stump

unread,
Apr 14, 2004, 11:47:43 PM4/14/04
to
What do you mean extract from stream to stream? Are you saying the zip file
is stored in a stream and you need to extract a file from it?

If so, have you considered saving the zip file to a temp file and then
unzipping to a stream?

Regards,

Shane

"Mac" <newsgro...@Removehost111.com> wrote in message
news:407d...@newsgroups.borland.com...

Mac

unread,
Apr 15, 2004, 5:38:49 AM4/15/04
to
Yes, Shane.

First of all I should zip files to a Zip archive residing in memory
(Stream), then attch it to an exe file.

Then I will need to bring the zip file to memory (stream) and extract
files from it.

But for security reasons I do not want to extract files to a temp
directory or file.

Actually ZipForge does this but as I told it is $95 which is a little
high for the project I am developing.

Regards,
Mac

Shane Stump

unread,
Apr 15, 2004, 10:02:41 AM4/15/04
to
Have you thought about using your own file format and just use a VERY strong
encryption method?

Regards,

Shane

"Mac" <newsgro...@Removehost111.com> wrote in message

news:407e...@newsgroups.borland.com...

Mac

unread,
Apr 15, 2004, 12:13:15 PM4/15/04
to
Shane,

Stupid me. No, I do not remember going in this path. I will think about
it tonight. It's the best possible idea.

I think I have seen some encryption components in Jcl. But then I
should run a compression on them after/before encryption. Then I may
use Abbrevia.

How is the idea of using a ready made encryption and then those above?

By the way, Thank you for your kind help.


Regards,
Mac
ProgrammerNet.org

Tony Caduto

unread,
Apr 15, 2004, 12:56:57 PM4/15/04
to
VCLzip does support this.
You can easily extract from a archive stream into another tstream decendent.
Look in the docs for archivestream

--
Tony Caduto
AM Software Design
Inexpensive Corporate Instant Messaging
http://www.amsoftwaredesign.com

"Mac" <newsgro...@Removehost111.com> wrote in message

news:407d...@newsgroups.borland.com...

Robert Love

unread,
Apr 15, 2004, 12:43:53 PM4/15/04
to
>Thank you. But I need to extract from "stream to stream" and from
>"stream to file".

The TAbZipArchive Class in AbZipTyp.pas has this functionality.

AbZipArchive.CreateFromStream()
AbZipArchive.ExtractItemToStreamAt()

Robert Love

Shane Stump

unread,
Apr 15, 2004, 1:41:23 PM4/15/04
to
Mac,

No problem. I have been faced with this problem so many times that I
normally roll my own file format. It has the following advantages:

1) You can modify it however you see fit.
2) If you encrypt it and it doesn't have an recognizable file header (like a
zip file), most people tend to leave it alone.

If you go this route, just make sure to include some kind of CRC or CHECKSUM
to protect against file corruption.

Regards,

Shane


Kevin Boylan

unread,
Apr 15, 2004, 5:05:30 PM4/15/04
to

Actually this is quite possible, even with VCLZip Lite which is just
$49.95. Just use the ArchiveStream property to hold the archive in a
TMemoryStream.

You can do any combination of zipping and unzipping to and from files and
streams...

Compressed Archive Uncompressed Data

File ZipName FilesList.Add(Filename),Zip,UnZip
Memory ArchiveStream ZipFromStream,UnZipFromStream


Hope that makes sense! :-)

Kevin

0 new messages