Solved

compresing

Posted on 2002-07-15
7
148 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
Comment Utility
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
Comment Utility
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
Comment Utility
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
Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

 
LVL 12

Accepted Solution

by:
Lee_Nover earned 150 total points
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
thanks Lee_Nover!
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

Suggested Solutions

Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

771 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

8 Experts available now in Live!

Get 1:1 Help Now