{"id":21158697,"url":"https://github.com/wqweto/ziparchive","last_synced_at":"2026-02-17T10:03:36.574Z","repository":{"id":59217931,"uuid":"87326529","full_name":"wqweto/ZipArchive","owner":"wqweto","description":"A single-class pure VB6 library for zip with ASM speed","archived":false,"fork":false,"pushed_at":"2025-02-28T13:58:56.000Z","size":353,"stargazers_count":57,"open_issues_count":9,"forks_count":25,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-08T20:43:41.096Z","etag":null,"topics":["aes","asm","compress","compression","vb6","winzip","zip","zip64","zipcrypt","zlib"],"latest_commit_sha":null,"homepage":"","language":"Visual Basic 6.0","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit-0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wqweto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-05T15:33:58.000Z","updated_at":"2025-02-28T13:58:59.000Z","dependencies_parsed_at":"2024-04-22T12:25:54.313Z","dependency_job_id":"677074be-0ce7-4428-b8be-e64498a0f8de","html_url":"https://github.com/wqweto/ZipArchive","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wqweto%2FZipArchive","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wqweto%2FZipArchive/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wqweto%2FZipArchive/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wqweto%2FZipArchive/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wqweto","download_url":"https://codeload.github.com/wqweto/ZipArchive/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243602109,"owners_count":20317572,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aes","asm","compress","compression","vb6","winzip","zip","zip64","zipcrypt","zlib"],"created_at":"2024-11-20T12:32:24.714Z","updated_at":"2025-10-06T23:31:47.284Z","avatar_url":"https://github.com/wqweto.png","language":"Visual Basic 6.0","funding_links":[],"categories":[],"sub_categories":[],"readme":"## cZipArchive\nA single-class pure VB6 library for zip archives management\n\n### Usage\n\nJust include `cZipArchive.cls` to your project and start using instances of the class like this:\n\n#### Simple compression\n\n    With New cZipArchive\n        .AddFile App.Path \u0026 \"\\your_file\"\n        .CompressArchive App.Path \u0026 \"\\test.zip\"\n    End With\n    \n#### Compress all files and sub-folders\n\n    With New cZipArchive\n        .AddFromFolder \"C:\\Path\\To\\*.*\", Recursive:=True\n        .CompressArchive App.Path \u0026 \"\\archive.zip\"\n    End With\n\n#### Decompress all files from archive\n\n    With New cZipArchive\n        .OpenArchive App.Path \u0026 \"\\test.zip\"\n        .Extract \"C:\\Path\\To\\extract_folder\"\n    End With\n    \nMethod `Extract` can optionally filter on file mask (e.g. `Filter:=\"*.doc\"`), file index (e.g. `Filter:=15`) or array of booleans with each entry to decompress index set to `True`.\n\n#### Extract single file to target filename\n\n`OutputTarget` can include a target `new_filename` to be used when extracting a specific file from the archive.\n\n    With New cZipArchive\n        .OpenArchive App.Path \u0026 \"\\test.zip\"\n        .Extract \"C:\\Path\\To\\extract_folder\\new_filename\", Filter:=\"your_file\"\n    End With\n    \n#### Get archive entry uncompressed size\n\nBy using `FileInfo` property keyed on entry filename in first parameter and `zipIdxSize` like this\n\n    With New cZipArchive\n        .OpenArchive App.Path \u0026 \"\\test.zip\"\n        Debug.Print .FileInfo(\"report.pdf\", zipIdxSize)\n    End With\n    \n#### List files in zip archive\n\nBy using `FileInfo` propery keyed on entry numeric index in first parameter like this\n\n    Dim lIdx            As Long\n    With New cZipArchive\n        .OpenArchive App.Path \u0026 \"\\test.zip\"\n        For lIdx = 0 To .FileCount - 1\n            Debug.Print \"FileName=\" \u0026 .FileInfo(lIdx, zipIdxFileName) \u0026 \", Size=\" \u0026 .FileInfo(lIdx, zipIdxSize)\n        Next\n    End With\n\nHere is a list of available values for the second parameter of `FileInfo`:\n\n\u003cspan\u003e | Name\n---    | ---\n`0`    | `zipIdxFileName`\n`1`    | `zipIdxAttributes`\n`2`    | `zipIdxCrc32`\n`3`    | `zipIdxSize`\n`4`    | `zipIdxCompressedSize`\n`5`    | `zipIdxComment`\n`6`    | `zipIdxLastModified`\n`7`    | `zipIdxMethod`\n`8`    | `zipIdxOffset`\n`9`    | `zipIdxFlags`\n\n#### Encryption support\n\nMake sure to set Conditional Compilation in Make tab in project's properties dialog to include `ZIP_CRYPTO = 1` setting for crypto support to get compiled from sources. By default crypto support is not compiled to reduce footprint on the final executable size.\n\n    With New cZipArchive\n        .OpenArchive App.Path \u0026 \"\\test.zip\"\n        .Extract App.Path \u0026 \"\\test\", Password:=\"123456\"\n    End With\n    \nUse `Password` parameter on `AddFile` method together with `EncrStrength` parameter to set crypto used when creating archive.\n\nEncrStrength | Mode\n---          | ---\n`0`          | ZipCrypto (default)\n`1`          | AES-128\n`2`          | AES-192\n`3`          | AES-256 (recommended)\n\nNote that default ZipCrypto encryption is weak but this is the only option which is compatible with Windows Explorer built-in zipfolders support.\n\n#### In-memory operations\n\nSample utility function `ReadBinaryFile` in `/test/basic/Form1.frm` returns byte array with file's content. \n\n    Dim baZip() As Byte\n    With New cZipArchive\n        .AddFile ReadBinaryFile(\"sample.pdf\"), \"report.pdf\"\n        .CompressArchive baZip\n    End With\n    WriteBinaryFile \"test.zip\", baZip\n\nMethod `Extract` accepts byte array target too.\n    \n    Dim baOutput() As Byte\n    With New cZipArchive\n        .OpenArchive ReadBinaryFile(\"test.zip\")\n        .Extract baOutput, Filter:=0    '--- archive's first file only\n    End With\n    \n### ToDo (not supported yet)\n\n    - Deflate64 (de)compressor\n    - VBA7 (x64) support\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwqweto%2Fziparchive","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwqweto%2Fziparchive","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwqweto%2Fziparchive/lists"}