lastupdate 5.19.2001 Common Archiver Kit (CAK) Frequently ask Question (i guess!) Whats CAK? Common Archiver Kit, a kit which act as a frontend of a few components. - not a few now... you dont have to install them all thru, check cakdir.inc Why shouldn`t i use those component directly? Each component have their interface, e.g. Delphi Zip uses Add to add files, but another component may uses AddArchive to add files and the third may use Decode. The aim of CAK is to simplify your work, you just need one set of command to deal with all components. What archive do CAK support? ZIP(PK3,JAR,WSZ,SIT), ZIPSFX, CAB, LZH(LHA), TAR, TGZ(TAZ,GZ,Z), BZ2, BZA(GZA), YZ1, UUE(UU), XXE, CZIP, RS, PAK, WAD, ARJ. - note that PAK, WAD support is wrote by me... =) Why is it free? Well debug are more easier if it's open-source, and there are better component if people willing to pay (but well...99 bucks). In future i will use this component on my Quick Zip software, If you like this component, please link my site http://qzip.cjb.net too. What other function do CAK provide? Beside providing frontend, CAK does provide a few more features to simplify the job. > CAK will check the archive type, and use proper component for it. > CAK will find and get the icon, file type of file in archive. > CAK included Archive Finder, Archive Converter for all supported archive. > CAK provide a Listview that can fill up the file list by a single command. > CAK can sort filelist, provide Directory list. > CAK enable your program to load script. > CAK let you load multiple archive. > CAK provide a filetype finder which can recongnize about 500 file types. > CAK provide a big sum of function to work with registry, inifiles. > If CAK provide support a new archive type later, all you need to do is to replace Cakdir.pas, instead of dealing with new interface again. How to Load an archive? (more detail in demo) 1. Make a new application. 2. Drop a CAKListview (CakListview1) and CakDir (CakDir1) onto the form 3. set CakListview1 property : Cakdir to CakDir1 4. Add the archive to Archive_List using Set_Archive_List 5. Call CakDir1.List_Archive(0,0) command - (which list from first archive to first archive) 6. Call CakListview1.ReloadCAK; - If you dont want to use caklistview, try CakDir1.Archive_Contents[0]._Filename How to Extract files? (more detail in demo) 1. Add the archive to CakDir1.Archive_List using CakDir1.Set_Archive_List 2. Set "where to extract" by CakDir1.ExtractOptions.extr_to 3. Call CakDir1.Extract command. How to sort the file list? (more detail in demo) Cakdir1.Sort_Archive_List(accending,_FName); How about Adding? (more detail in demo) 1. Open the archive first.. 2. CakDir1.Addoptions.strings.add('c:\demo.txt'); (it's tstrings) 3. Call CakDir1.Add command; How to know if CAK can do what action to specific type of archive? 1. if CakDir1.Cando(_ZIP, _ADD) then... - the function will check if it support and if dll exist. What is processfrom and processto? CAK provide multiarchive loading, processfrom and processto tell CAK which archive to start and where to stop processing, this is useful when you provide Multi-Extract. What if i still have questions? Please post on Qzip's Message board. http://quickzip.ifroggy.com/support/boards.php