├── .github
└── FUNDING.yml
├── .gitignore
├── LICENSE
├── README.md
├── bin
└── res
│ ├── cute_kitten.jpg
│ ├── jetzip.ico
│ └── jetzip.png
├── examples
└── testbed
│ ├── Testbed.dpr
│ ├── Testbed.dproj
│ ├── Testbed.res
│ ├── Testbed_Icon.ico
│ └── UTestbed.pas
├── media
├── delphi.png
└── jetzip.png
└── src
├── JetZip - Zip It Fast Zip It Easy!.groupproj
├── JetZip.o
└── JetZip.pas
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: tinyBigGAMES # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4 | patreon: # Replace with a single Patreon username
5 | open_collective: # Replace with a single Open Collective username
6 | ko_fi: # Replace with a single Ko-fi username
7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9 | liberapay: # Replace with a single Liberapay username
10 | issuehunt: # Replace with a single IssueHunt username
11 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
12 | polar: # Replace with a single Polar username
13 | buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
14 | thanks_dev: # Replace with a single thanks.dev username
15 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
16 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Uncomment these types if you want even more clean repository. But be careful.
2 | # It can make harm to an existing project source. Read explanations below.
3 | #
4 | # Resource files are binaries containing manifest, project icon and version info.
5 | # They can not be viewed as text or compared by diff-tools. Consider replacing them with .rc files.
6 | #*.res
7 | #
8 | # Type library file (binary). In old Delphi versions it should be stored.
9 | # Since Delphi 2009 it is produced from .ridl file and can safely be ignored.
10 | #*.tlb
11 | #
12 | # Diagram Portfolio file. Used by the diagram editor up to Delphi 7.
13 | # Uncomment this if you are not using diagrams or use newer Delphi version.
14 | #*.ddp
15 | #
16 | # Visual LiveBindings file. Added in Delphi XE2.
17 | # Uncomment this if you are not using LiveBindings Designer.
18 | #*.vlb
19 | #
20 | # Deployment Manager configuration file for your project. Added in Delphi XE2.
21 | # Uncomment this if it is not mobile development and you do not use remote debug feature.
22 | #*.deployproj
23 | #
24 | # C++ object files produced when C/C++ Output file generation is configured.
25 | # Uncomment this if you are not using external objects (zlib library for example).
26 | #*.obj
27 | #
28 |
29 | # Default Delphi compiler directories
30 | # Content of this directories are generated with each Compile/Construct of a project.
31 | # Most of the time, files here have not there place in a code repository.
32 | #Win32/
33 | #Win64/
34 | #OSX64/
35 | #OSXARM64/
36 | #Android/
37 | #Android64/
38 | #iOSDevice64/
39 | #Linux64/
40 |
41 | # Delphi compiler-generated binaries (safe to delete)
42 | *.exe
43 | *.dll
44 | *.bpl
45 | *.bpi
46 | *.dcp
47 | *.so
48 | *.apk
49 | *.drc
50 | *.map
51 | *.dres
52 | *.rsm
53 | *.tds
54 | *.dcu
55 | *.lib
56 | *.a
57 | *.o
58 | *.ocx
59 |
60 | # Delphi autogenerated files (duplicated info)
61 | *.cfg
62 | *.hpp
63 | *Resource.rc
64 |
65 | # Delphi local files (user-specific info)
66 | *.local
67 | *.identcache
68 | *.projdata
69 | *.tvsconfig
70 | *.dsk
71 |
72 | # Delphi history and backups
73 | __history/
74 | __recovery/
75 | *.~*
76 |
77 | # Castalia statistics file (since XE7 Castalia is distributed with Delphi)
78 | *.stat
79 |
80 | # Boss dependency manager vendor folder https://github.com/HashLoad/boss
81 | modules/
82 |
83 | # JetZip
84 | bin/Data.zip
85 | *.dsv
86 | !src/JetZip.o
87 | bin/jetzip.png
88 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | BSD 3-Clause License
2 |
3 | Copyright (c) 2024-present, tinyBigGAMES LLC
4 |
5 | Redistribution and use in source and binary forms, with or without
6 | modification, are permitted provided that the following conditions are met:
7 |
8 | 1. Redistributions of source code must retain the above copyright notice, this
9 | list of conditions and the following disclaimer.
10 |
11 | 2. Redistributions in binary form must reproduce the above copyright notice,
12 | this list of conditions and the following disclaimer in the documentation
13 | and/or other materials provided with the distribution.
14 |
15 | 3. Neither the name of the copyright holder nor the names of its
16 | contributors may be used to endorse or promote products derived from
17 | this software without specific prior written permission.
18 |
19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 | [](https://discord.gg/tPWjMwK)
3 | [](https://bsky.app/profile/tinybiggames.com)
4 |
5 | ### Advanced ZIP Archive Support for Delphi with JetZip 🚀
6 |
7 | #### Overview 🌟
8 | Introducing **JetZip**, a single-class solution for seamless ZIP archive handling in Delphi. Designed for **professional Delphi developers**, JetZip combines simplicity, power, and efficiency to provide everything you need for managing ZIP files in your applications or games. With features like **password encryption**, **file I/O within archives**, and a **minimal footprint**, JetZip empowers you to deliver high-performance, secure, and maintainable projects.
9 |
10 | #### Key Features ✨
11 |
12 | 1. **Single-Class Implementation: `TJetZip`** 🛠️
13 | - Everything you need is encapsulated in one class, making integration quick and easy.
14 | - Clean, maintainable, and lightweight—ideal for professional projects.
15 |
16 | 2. **Fast and Easy ZIP Archive Support** ⚡
17 | - Simplified API for creating, reading, and writing ZIP archives.
18 | - Optimized for high performance, even with large or complex files.
19 |
20 | 3. **Password Encryption** 🔒
21 | - Protect sensitive data with integrated password support.
22 | - Ensure compliance with security standards while maintaining ease of use.
23 |
24 | 4. **Comprehensive File I/O Operations** 📂
25 | - Perform operations directly within ZIP archives:
26 | - **Read**: Access compressed files without extracting them.
27 | - **Seek**: Navigate files with precision.
28 | - **EOF and POS**: Manage file streams efficiently.
29 | - Work with ZIP files as if they were regular files.
30 |
31 | 5. **Minimalistic Design** 🪶
32 | - Encapsulated in a **single unit**, keeping the library lightweight and easy to deploy.
33 | - Small memory footprint ensures minimal impact on your application's performance.
34 |
35 | 6. **Powered by Minizip in Zlib** 🛡️
36 | - Built on the trusted **Minizip** library from **Zlib** for industry-standard ZIP support.
37 | - Combines proven reliability with modern features.
38 |
39 | #### Why Use ZIP Files in Your Applications or Games? 🎮
40 |
41 | - **Resource Organization** 📦:
42 | - Consolidate multiple assets (e.g., images, sounds, configs) into a single archive.
43 | - Simplify file management and reduce directory clutter.
44 |
45 | - **Performance Boost** 🚀:
46 | - Compress files to save storage space and improve loading times.
47 | - Minimize disk I/O for better runtime performance.
48 |
49 | - **Data Security** 🔐:
50 | - Combine encryption with compression to secure critical resources.
51 | - Protect sensitive user data and application assets.
52 |
53 | - **Streamlined Updates** 🔄:
54 | - Simplify patching and updates by bundling resources into modular ZIP files.
55 | - Ideal for games and applications with dynamic content.
56 |
57 | #### Use Cases 🎯
58 |
59 | - **Game Development** 🎮:
60 | - Store assets like textures, music, and levels in a single encrypted ZIP for efficient access.
61 | - **Application Deployment** 🛠️:
62 | - Manage configuration files, logs, and user data in compressed archives for easier updates.
63 | - **Enterprise Solutions** 🏢:
64 | - Distribute sensitive documents or resources securely within password-protected ZIP files.
65 |
66 | #### Why JetZip? 💡
67 |
68 | JetZip is the ultimate solution for Delphi developers who need professional-grade ZIP archive management. Whether you're building applications, games, or enterprise solutions, JetZip` offers:
69 |
70 | - ✅ Simplicity: A single-class implementation for easy integration.
71 | - ✅ Security: Password encryption for peace of mind.
72 | - ✅ Performance: Optimized handling for smooth operation, even with large archives.
73 |
74 | ### Contributing
75 |
76 | Contributions to **JetZip** are highly encouraged. Please feel free to submit issues, suggest new features, or create pull requests to expand its capabilities and robustness.
77 |
78 | ### License
79 |
80 | **JetZipo** is distributed under the 🆓 **BSD-3-Clause License**, allowing for redistribution and use in both source and binary forms, with or without modification, under specific conditions. See the [LICENSE](https://github.com/tinyBigGAMES/JetZip?tab=BSD-3-Clause-1-ov-file#BSD-3-Clause-1-ov-file) file for more details.
81 |
82 | ### Support
83 |
84 | - Issues
85 | - Discussions
86 | - Learn Delphi
87 |
88 | ---
89 | Embrace the future of file handling with JetZip! 🌟
90 |
91 |