Historically, Delphi contains TZCompressionStream and TZDecompressionStream to respectively compress and decompress streams of bytes using the zlib format. These classes are quite useful but are quite low-level, since it is simply a stream compressor. In this recipe, we'll use a high-level class to compress and decompress folders and files. It is quite limited in terms of possibilities (you can compress and decompress files and folders, nothing more), but it's very simple to use. Just keep in mind that this class is very specialized, so if you need a compression library to work with network protocols or on the fly with compression/decompression, don't use this. But if you need a no-brain solution to compress something, this is the way to do it.
The ZIP file format doesn't need presentation. However, a recap could be useful:
ZIP...