2008-12-30 44 views
11

Tôi cần phải nén nhiều tệp vào một tệp lưu trữ duy nhất bằng Delphi. Tôi muốn sử dụng các thành phần phần mềm miễn phí hoặc các thành phần mã nguồn mở vì tôi rất rất rẻ :-)Làm cách nào để nén nhiều tệp vào một tệp lưu trữ duy nhất với Delphi

yêu cầu chính của tôi là:

  1. Có thể mã hóa lưu trữ
  2. thể tạo tài liệu lưu trữ phổ biến mà có thể được mở bởi bất kỳ ai có bản sao của WinZip

Có ai có đề xuất với các thành phần mà họ đã sử dụng không? Xin vui lòng đề nghị miễn phí cũng như các thành phần/thư viện thương mại.

+0

Bạn đã xem câu trả lời cho [câu hỏi này] (http://stackoverflow.com/questions/74519/using-7zip-from-delphi)? –

+0

Tôi đã xem xét phương pháp đó, nhưng câu trả lời tập trung chủ yếu vào các giải pháp loại 7-zip. Tôi cũng đang tìm kiếm một số nhận xét mà bất kỳ ai có trải nghiệm của họ sử dụng các công cụ này. – Mick

+0

Lợi thế của 7-zip là nó hoạt động thực sự, thực sự tốt trên bất kỳ ZIP bạn từng ném vào nó. Các thành phần khác có xu hướng hoạt động chủ yếu là OK cho * hầu hết * ZIP. –

Trả lời

8

Có lẽ DelphiZip là thứ bạn đang tìm kiếm, có vẻ như cũng hỗ trợ mã hóa và tương thích với WinZip. Nó được phát hành theo LGPL.

+1

DelphiZip yêu cầu các tệp DLL riêng biệt –

1

infozips zip32 và unzip32 dll. Chúng có thể được sử dụng từ Delphi (thậm chí từ Visual Basic), có các đơn vị giao diện/mô-đun cho cả hai. Giao diện không phải là tốt như tôi đã có thể thích nó, nhưng nó hoạt động.

3

Tôi khuyên bạn nên $ 69 ZipForge từ ComponentAce.

+0

Đồng ý. Nó cũng hỗ trợ tên tập tin Unicode. –

1

Tài nguyên Delphi khác để xem xét sẽ là InnoSetup. Mã nguồn có sẵn và với một công việc nhỏ có thể cung cấp cho bạn một lợi thế về những gì bạn đang cố gắng làm. Có một tùy chọn để tạo tự giải nén lưu trữ zip tương thích với WinZip,

Suy nghĩ của tôi không sử dụng chương trình, nhưng sử dụng nguồn của mình làm điểm khởi đầu vì nó được kiểm tra rất nhiều và cực kỳ chắc chắn.

3

I`m sử dụng madZip từ madCollection

+0

Tôi thậm chí không nhận thức được điều này. Tốt đẹp! – Mick

4

KaZip là một mã nguồn mở ZIP Archiver. Dưới đây là mô tả của nó:

KAZIP là nhanh chóng, đơn giản Archiver ZIP và dearchiver trong đó sử dụng ZIP phổ biến nhất format.Inflate - Deflate zip định dạng nén (không hỗ trợ mã hóa và không hỗ trợ multidisk ) .KAZip là totaly dựa trên Delphi VCL - không DLL, ActiveX hay thư viện bên ngoài khác .KAZip là totaly dòng định hướng để bạn có thể đối phó với dữ liệu chỉ trong bộ nhớ mà không cần tạo tập tin tạm thời, vv Nếu bạn cần phải thêm chức năng zip-giải nén vào ứng dụng của bạn, KAZIP là giải pháp phù hợp.Bổ sung ZipListView và ZipTreeView thành phần để dễ dàng visualisation.Functionality: Zip-Giải nén sử dụng Bơm-DeflateBZip2 giải nén sử dụng máng của các đơn vị BZIP2 từ Edison Mera Menndez.Functions: Thêm Files, Folders, Streams; Lựa chọn, bỏ chọn, kiểm tra; trích xuất sang tập tin và suối; Xóa và Đổi tên filesCreate, Xóa và Đổi tên foldersTest, RepairMany tính mới và phương pháp, cải thiện speed.A rất phức tạp Zip trình duyệt ứng dụng bản demo được bao gồm

Nó không tương thích với Delphi 2009, nhưng với một số thay đổi nhỏ trong mã nguồn, bạn có thể làm cho nó hoạt động trong Delphi 2009 quá. Trên thực tế, đó là những gì tôi đã làm.

Kính trọng

Các vấn đề liên quan