To download, click your product: DIContainers, DIConverters, DICreole, DIFileFinder, DIGoogleReader, DIHtmlLabel, DIHtmlParser, DIMime, DIRegEx, DISQLite3, DITidy, DIUcl, DIUnicode, DIXml, YuBrotli, YuImage, YuNetSurf, YuOpenSSL, YuPcre2, YuPdf, YuStemmer, YuXmlSec, YuZip.
Table of Contents
YuZip is a library to manipulate ZIP archives for Delphi (Embarcadero / CodeGear / Borland). All code is statically linked, no DLLs needed.
YuZip's two main units are:
- Create new ZIP archives –
- Add and compress from files, buffers, or streams.
- Open existing ZIP archives –
- Extract to file, buffer, or streams.
- Modify from files, buffer, or streams.
- Change compression, encryption, and password.
- ZIP64 format supports files larger than 4 GB.
- Unicode filenames with automatic code page conversion.
- Comments for individual files and entire archive.
- Create self-extracting archives (SFX).
- Progress / cancel events.
- PPMd – Currently
- WinZip AES – strong, with 128, 192, and 256 bits key sizes.
- Original PKWARE – weak, no longer recommended.
YuZip came to live as DIZipWriter in 2002. Its main component was the
TDIZipWriter class to create new ZIP archives, with simple interfaces to add data from files, buffers, streams, and objects. The technical goals of
TDIZipWriter have been to write ZIP archives fast, without temporary files, and use no DLLs. All of them are successfully met up to today.
In 2005, DIZipWriter added AES encryption, making it the only Delphi library to support the same strong encryption method which was introduced by WinZip 9.0 and has since developed into the de facto standard for ZIP encryption.
As more effective compression algorithms entered the ZIP specification, DIZipWriter introduced a pluggable abstract compression class with implementations for bzip2 and LZMA in 2013. XZ and zStandard followed in 2021, PPMd in 2022.
DIZipWriter was designed to export or backup data to ZIP archives and still serves this purpose well. However, users kept asking for features to open existing ZIP archives to extract and modify data, and to add new data. The popuplar libzip C library meets these demands and was also suited to be ported to Delphi. In 2023, the new
YuZip.pas unit was released alongside the original
DIZipWriter.pas unit and the name changed from DIZipWriter to YuZip.
YuZip is now the most extensive ZIP archive handling library for Delphi.
3rd Party Problems Detected During YuLib Development
YuZip development found these problems in libzip, all of which are fixed in the latest version: