Solved

compresing

Posted on 2002-07-15
7
149 Views
Last Modified: 2010-04-04
how to use the functionality of windows wich enables to compress and uncompress the data? i mean the packages *.CAB, wich are used in win installations.

i need to compress any file to optimize it;s movement thru the net. there is no need to protect the data by coding them.
0
Comment
Question by:pistacer
  • 3
  • 3
7 Comments
 
LVL 12

Expert Comment

by:Lee_Nover
ID: 7154203
you can use TCabFile from TMS software or Delphi Zip components from http://www.geocities.com/SiliconValley/Network/2114/index.html
0
 

Author Comment

by:pistacer
ID: 7154232
well, i hoped for the "native way" - i mean i do not want to use any zips, rars or something else and i want not to buy something (if it is possible). i would like to build my own unit/component to provide this.

does anybody know the sources of descriptions for this problem? any literatury, when the components are not awailable.
0
 
LVL 12

Expert Comment

by:Lee_Nover
ID: 7154426
well you can do all the work yourself if you want to
just download the CAB SDK from here :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncabsdk/html/cabdl.asp

I'll try to find a free delphi cab wrapper
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 12

Accepted Solution

by:
Lee_Nover earned 150 total points
ID: 7154466
and here are some compos found on the net :)
you'll probably like this one : http://www.mischel.com/pubs/grab_a_cab.htm
http://www.delphi32.com/vcl/lists/sc_n_67.asp
and ofcourse torrys : http://www.torry.net/compressstd.htm
should keep you busy for a while :)
0
 
LVL 1

Expert Comment

by:mgazza
ID: 7154702
dont know how 2 use *.cab but i do know how 2 compress files + add them together like winzip heres the comopression part you will need to declare zlib in the USES part!

procedure CompressStream(inpStream, outStream: TStream);
var
 InpBuf,OutBuf: Pointer;
 InpBytes,OutBytes: integer;
begin
 InpBuf := nil;
 OutBuf := nil;
 try
   GetMem(InpBuf,inpStream.size);
   inpStream.Position := 0;
   InpBytes := inpStream.Read(InpBuf^,inpStream.size);
   CompressBuf(InpBuf,InpBytes,OutBuf,OutBytes);
   outStream.Write(OutBuf^,OutBytes);
 finally
   if InpBuf <> nil then FreeMem(InpBuf);
   if OutBuf <> nil then FreeMem(OutBuf);
 end;
end;
procedure DecompressStream(inpStream, outStream: TStream);
var
 InpBuf,OutBuf: Pointer;
 OutBytes,sz: integer;
begin
 InpBuf := nil;
 OutBuf := nil;
 sz := inpStream.size-inpStream.Position;
 if sz > 0 then try
   GetMem(InpBuf,sz);
   inpStream.Read(InpBuf^,sz);
   DecompressBuf(InpBuf,sz,0,OutBuf,OutBytes);
   outStream.Write(OutBuf^,OutBytes);
 finally
   if InpBuf <> nil then FreeMem(InpBuf);
   if OutBuf <> nil then FreeMem(OutBuf);
 end;
 outStream.Position := 0;
end;
0
 

Author Comment

by:pistacer
ID: 7156381
well, the cab sdk is the best solution of my needs, so i will accept Lee_Nover's answers.

but i thank for all yours interresting comments!
0
 

Author Comment

by:pistacer
ID: 7156382
thanks Lee_Nover!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
Migrating to Microsoft Office 365 is becoming increasingly popular for organizations both large and small. If you have made the leap to Microsoft’s cloud platform, you know that you will need to create a corporate email signature for your Office 365…
Both in life and business – not all partnerships are created equal. As the demand for cloud services increases, so do the number of self-proclaimed cloud partners. Asking the right questions up front in the partnership, will enable both parties …

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now