2011-09-16 29 views
5

Tôi đang tìm kiếm một bộ phận nén hỗ trợ Delphi2010 và cho phép tôi làm những thao tác cơ bản của:nén thành phần

  • tạo .zip tài liệu lưu trữ
  • chiết xuất từ ​​kho lưu trữ .zip
  • xóa .zip tài liệu lưu trữ

Tôi cũng cần thành phần miễn phí để sử dụng thương mại và có thể không sử dụng/dựa vào một DLL (Tôi không quan tâm nếu có).

Cho đến nay tôi đã nhìn vào ZipForge, FlexCompress, KaZipUnRAR, nhưng tôi phát hiện ra rằng tôi cần phải mua một giấy phép sử dụng thương mại ZipForge và FlexCompress. Khi nó đến KaZip, có lỗi trong mã vì vậy tôi đã không thành công trong việc cài đặt các thành phần. Trong khi đó UnRAR chỉ là vậy; nó chỉ giải nén .zip hoặc .rar lưu trữ.

Vì vậy Nói tóm lại, tôi cần một thành phần nén rằng:

  • là miễn phí cho sử dụng thương mại
  • hỗ trợ Delphi 2010
  • thực hiện các hoạt động nêu trên
  • không sử dụng DLL (tuy nhiên, tôi không nhớ)
+1

Kiểm tra [câu hỏi SO này.] [1] [1]: http://stackoverflow.com/questions/1770386/freeware-zip-component-for-delphi-2010-delphi-xe –

Trả lời

8

Abbrevia sẽ phục vụ mục đích của bạn một cách độc đáo.

+0

Có bất cứ nơi nào tôi có thể nhận được sự giúp đỡ với Abbrevia? Hoặc xem mã ví dụ? – ple103

+3

Abbrevia từng là một sản phẩm thương mại, và tài liệu PDF là/là tuyệt vời. Nó bao gồm một số hướng dẫn trong nó để giúp bạn bắt đầu, và tải xuống nguồn bao gồm một thư mục "Ví dụ" với một loạt các mẫu trong Delphi và C++ Builder. Tôi đã không cập nhật một cách rõ ràng các ví dụ về hỗ trợ Unicode, nhưng hầu hết trong số chúng sẽ biên dịch như là. Nếu bạn có câu hỏi hay nhất thì hãy đăng lên các diễn đàn của Abbrevia ở SourceForge, nhưng ở đây hoặc các nhóm tin tức của bên thứ ba của Embarcadero cũng hoạt động. –

3

Các JCL có một bộ tốt đẹp của lớp nén cho cả hai tập tin (ví dụ định dạng lưu trữ phổ biến) và trong bộ nhớ thứ (TStreams) trong đơn vị jclCompression. Đối với một số định dạng, nó yêu cầu DLL, nó sử dụng 7zip. Nhưng nó là mã nguồn mở và miễn phí (MPL/LGPL).

+0

+1 cho JclCompression. Thực sự đơn giản để sử dụng, NHƯNG ... thiếu tài liệu! Ít nhất, các ví dụ sẽ giúp ích. – TridenT

2

Hãy nhìn vào mã nguồn mở này SynZip unit. Nó thậm chí còn nhanh hơn để giải nén hơn so với các đơn vị mặc định được vận chuyển với Delphi, và nó sẽ tạo ra một exe nhỏ hơn (các bảng crc được tạo khi khởi động).

Để xóa nội dung zip, bạn có thể kết hợp TZipWriter và TZipReader để chỉ sao chép các tệp được lưu trữ cần thiết bên trong mã zip.

Không có dll bên ngoài là cần thiết. Chi phí mã rất nhỏ. Hoạt động từ Delphi 6 đến XE (ngay cho XE2).

Tôi vừa thực hiện một số thay đổi để xử lý tên tệp Unicode bên trong nội dung Zip, không chỉ bộ ký tự Win-Ansi mà còn bất kỳ ký tự Unicode nào.

2

Chúng tôi sử dụng ZipMaster.

Cần DLL, hoạt động với năm 2010.