/*
For conditions of distribution and use, see the copyright notice in License.txt.
Please read the documentation instead of this document
(it may be difficult to read it due to formatting tags for an automatic documentation generation).
If you do not have it, please download it from http://www.artpol-software.com/
*/
/** \mainpage ZipArchive library documentation
\section secGen General Information
<I><B>
The ZipArchive library <BR>
</B>
Copyright © 2000 - 2003 Tadeusz Dracz<BR>
</I>
\b Version: 2.3.3 <BR>
\b Date: 09-January-2003
This library adds zip compression and decompression functionality to your program, allowing you to create and modify ZIP files in the compatible way with WinZip, PKZIP and other popular archivers.
Its easy and practical interface makes the library suitable for the beginners as well as for the advanced users.
See <B> \ref pageHist "what's new" </b> in this version.<BR>
To be notified about the future library updates, sign up for the \ref pageSubsc.
<B>\ref pageSyst "Platforms supported:" </B>
- Windows 9x\\Me\\NT\\2000\\XP (MFC and STL) <BR> \ref sectVisual "Microsoft Visual C++ 6.0" (<B>.NET compatible </B>), \ref sectBorl "Borland C++"
- \ref sectLinux "Linux (STL)"
\author Tadeusz Dracz <BR>
E-Mail: \htmlonly <a href="mailto:tdracz@artpol-software.com">tdracz@artpol-software.com</a> \endhtmlonly<BR>
Web Site: \htmlonly <A HREF="http://www.artpol-software.com" target="_blank">http://www.artpol-software.com</A> \endhtmlonly
This library uses \htmlonly <A HREF="http://www.freesoftware.com/pub/infozip/zlib/" target="_blank">the zlib library </A> \endhtmlonly by Jean-loup Gailly and Mark Adler to perform inflate and deflate operations.
\section sectFeat Features Summary:
- work in a compatible way with PKZIP and WinZip (apart from \ref TDSpan "TD disk spanning mode" which is specific to this library)
- create, modify, extract and test zip archives
- create and extract multi-disk archives (on non-removable disks as well)
- add file to the archive from another archive without decompressing the file (copy compressed data) (see CZipArchive::GetFromArchive)
- highly optimized deleting multiple files from the archive
- optimized replacing and renaming files in the archive
- compression from and decompression to memory, create the whole archive in memory, extract the archive from memory (see \ref sectMemory)
- password encryption and decryption supported
- possibility to create or extract self-extracting archives
- smart compression, if enabled, prevents the file in the archive to be larger after compression (see CZipArchive::Smartness)
- safe compression with CZipArchive::Flush function
- using functional objects as callback
- to provide easy disk change in a multi-disk archives
- for the progress control when adding, extracting, testing or deleting files or saving archive's central directory
- extracting and deleting using wildcard pattern matching (see CZipArchive::FindMatches)
- UNC and Windows Unicode paths recognized
- wide characters supported
- support for the Java <sup><small>TM</small></sup> Archive (jar) File Format (see CZipArchive::SetIgnoreCRC)
- can be used as a static library or DLL (necessary VC++ projects included)
- possibility to integrate help system with MSDN (see \ref sectHelp)
- easy interface
- easy transfer to other system platforms
- speedy
- well documented
- full source code provided
- sample applications provided (for the STL version located in \e stl/zippie,
the MFC version (multithreaded) is available separately)
No software product is entirely bugless and neither is this library. If you find a bug (or suspect one), please <a href="mailto:tdracz@artpol-software.com?Subject=bug report">mail me</a>. The bugs are usually corrected within few days. Many thanks to the people that already tracked them down and submitted.
\section secQl The Introduction
All you need to know about the licensing: \ref pageLic .
It's a good start to read these pages first (prior to reading the raw documentation):
- \ref pageSyst
- \ref pageGen
Have you got a question? Maybe it's one of the \ref pageFaq "frequently asked questions".
\ref pageHist not only shows how the development of the library went so far, but also you may find here an
interesting library feature without digging through the documentation.
If you wish to be notified about the future library updates, sign up for the \ref pageSubsc .
*/
/**
\page pageSyst Compilation & Integration
\par
- \ref secCompil
- \ref winMFC
- \ref winSTL
- \ref LnxSTL
- \ref sectVisual
- \ref subsM1
- \ref subsM2
- \ref subsDLL
- \ref sectBorl
- \ref subExample
- \ref sectLinux
- \ref subsLnxNot
- \ref subsLnxCom
- \ref sectNotes
- \ref stlNotes
- \ref subDLLnotes
- \ref MFCsample
\section secCompil Compiling for different implementations and platforms
The files required for all the library versions are located in the program
root directory. You also need to copy additional files to the library
root directory from the two more subfolders. Depending on the configuration
these files are located in:
\subsection winMFC Windows MFC
\e \\Windows and \e \\mfc <BR>
You can just execute <EM> _copy from Win-MFC.bat </EM> batch file.
\subsection winSTL Windows STL
\e \\Windows and \e \\stl <BR>
You can just execute <EM> _copy from Win-STL.bat </EM> batch file.
\subsection LnxSTL Linux (STL version)
\e \\Linux and \e \\stl <BR>
You can just execute <EM> _copy_from_Linux.sh </EM> script file
(don't forget to set executable rights before e.g. with the command:
<EM> chmod +x _copy_from_Linux.sh </EM>).
\note If you use one of the mentioned scripts to copy the files then for easy
orientation there will be a file \e __[...].zcfg created with the
name depending on the current configuration
\section sectVisual Visual C++ : integrating with the project
To add ZipArchive library functionality into your project you need to link
the library to the project. You can do this in at least two ways
(in both cases you need to include ZipArchive.h header in your sources).
\subsection subsM1 Method 1
Add \e ZipArchive.lib with the proper path e.g. <EM> ..\\ZipArchive\\debug\\ZipArchive.lib </EM> to <EM> Project Settings->Link->Input->Object/library modules </EM>
and add ZipArchive library directory to the preprocessor searches (<EM> Project Settings -> C++ -> Preprocessor -> Additional include directories </EM>).
\subsection subsM2 Method 2 (simpler)
Insert Zip project into workspace and set project dependencies: your project dependent on ZipArchive project
(<EM> Project -> Dependencies </EM> and then on the dialog that will appear
you select your project name from the combo box and check the box next to ZipArchive project name).
When you use this method, you link configurations in your project with
configurations in the ZipArchive project that have the same name in both projects. So if you need to use
for example "Static Release" configuration from ZipArchive project, you need to create one with the same name
in your application project and make sure that your project uses MFC library and run-time library in same way
(<em> Project->Settings->General->Microsoft Fundation Classes </em> and <EM> Project->Settings-> c/c++ ->Code Generation->Use run-time library </EM>).
\subsection subsDLL DLL version
When you're using the DLL version of the ZipArchive library, you need to define in your program <B>ZIP_HAS_DLL</B> (e.g. in <EM> Project Settings -> C++ -> Preprocessor -> Preprocessor definitions </EM>).
Apart from integrating the ZipArchive library with your program (use one of the methods above), you also need to take into account <EM>zlib.lib</EM> file (use <EM>zlib/zlib.dsw </EM> to create it and ad
- 1
- 2
- 3
- 4
- 5
前往页