Zip/Unzip với 7zip.dll load trực tiếp từ bộ nhớ (không cần dll ngoài ổ cứng)
Trang 1 trong tổng số 1 trang
Zip/Unzip với 7zip.dll load trực tiếp từ bộ nhớ (không cần dll ngoài ổ cứng)
• Mô tả:
- 7zip là một phần mềm mã nguồn mở có chức năng nén/giải nén mạnh mẽ, bên cạnh đó nó còn cung cấp cho người dùng các phương thức tương tác bằng CommandLine, API dll.
- 7ZipMem.au3 được viết trên nền của UDF 7zip.au3 (Author: rasim) kết hợp MemoryDll (Author: Ward), giúp nén/giải nén mà không cần 7zip.dll đi kèm theo.
- 7Zip-Simple-UDF được viết để tóm tắt lại 3 hàm chính của 7ZipMem.au3 là: Add, Extract và gọi Callback thông tin nén/giải nén. Dễ hiểu, dễ sử dụng cho cả những người mới bắt đầu học AutoIt.
- UDF chạy được trên nền x86 và x64.
• Sử dụng:
Các hàm chính của UDF:
Zip_Startup(...): Khởi tạo 7zip Dll.
Zip_Add(...): Nén Tệp tin hoặc Thư mục.
Zip_Extract(...): Giải nén tệp nén.
Zip_CreateProgressCallback($HàmCallBack): Gọi một hàm callback để nhận thông tin nén / giải nén, hàm Callback này sẽ luôn luôn có mẫu như sau:
Func CallBackFunction($Tổng_Size_của_tệp_hoặc_folder_cần_nén/giảinén, $Size_đã_nén/giảinén_hiện_tại, $Tên_tệp_đang_nén/giảinén)
........
EndFunc
(Xem cụ thể trong 2 tệp ví dụ)
• Tải về:
http://bblink.com/ZipWithCallback
• Ghi chú:
Khi set data cho Input/Label liên tục sẽ gây hiện tượng Blink (nháy/giật) GUI, ta có thể khắc phục bằng cách giãn cách thời gian set data, trong tệp ví dụ đính kèm ta sửa lại hàm callback như sau để thấy hiệu quả:
- 7zip là một phần mềm mã nguồn mở có chức năng nén/giải nén mạnh mẽ, bên cạnh đó nó còn cung cấp cho người dùng các phương thức tương tác bằng CommandLine, API dll.
- 7ZipMem.au3 được viết trên nền của UDF 7zip.au3 (Author: rasim) kết hợp MemoryDll (Author: Ward), giúp nén/giải nén mà không cần 7zip.dll đi kèm theo.
- 7Zip-Simple-UDF được viết để tóm tắt lại 3 hàm chính của 7ZipMem.au3 là: Add, Extract và gọi Callback thông tin nén/giải nén. Dễ hiểu, dễ sử dụng cho cả những người mới bắt đầu học AutoIt.
- UDF chạy được trên nền x86 và x64.
• Sử dụng:
Các hàm chính của UDF:
Zip_Startup(...): Khởi tạo 7zip Dll.
Zip_Add(...): Nén Tệp tin hoặc Thư mục.
Zip_Extract(...): Giải nén tệp nén.
Zip_CreateProgressCallback($HàmCallBack): Gọi một hàm callback để nhận thông tin nén / giải nén, hàm Callback này sẽ luôn luôn có mẫu như sau:
Func CallBackFunction($Tổng_Size_của_tệp_hoặc_folder_cần_nén/giảinén, $Size_đã_nén/giảinén_hiện_tại, $Tên_tệp_đang_nén/giảinén)
........
EndFunc
(Xem cụ thể trong 2 tệp ví dụ)
• Tải về:
http://bblink.com/ZipWithCallback
• Ghi chú:
Khi set data cho Input/Label liên tục sẽ gây hiện tượng Blink (nháy/giật) GUI, ta có thể khắc phục bằng cách giãn cách thời gian set data, trong tệp ví dụ đính kèm ta sửa lại hàm callback như sau để thấy hiệu quả:
- Code:
Func ProgressCallback($TotalSize, $CurrentSize, $FileName)
Local Static $timer = TimerInit()
If TimerDiff($timer) > 75 Then ;Tăng 75ms lên nếu vẫn thấy giật
GUICtrlSetData($idLabel_FileName, $FileName)
GUICtrlSetData($idLabel_CurrentSize, $CurrentSize & ' bytes')
GUICtrlSetData($idLabel_TotalSize, $TotalSize & ' bytes')
$Percent = Int($CurrentSize / $TotalSize * 100)
GUICtrlSetData($idLabel_Percent, $Percent & '%')
GUICtrlSetData($idProgress, $Percent)
$timer = TimerInit()
EndIf
EndFunc
Similar topics
» [SkinSharp UDF] - set Skin siêu đẹp cho GUI (rất nhiều Skin) chỉ với 1 dòng code + Load Skin trực tiếp từ bộ nhớ
» [Updater UDF] Tạo chức năng kiểm tra Update cho chương trình, không chiếm GUI, không gây đơ chương trình, dễ cài đặt
» MsgBoxDb - Msgbox MultiThread ổn định không crash, chuyên dùng để debug
» [Updater UDF] Tạo chức năng kiểm tra Update cho chương trình, không chiếm GUI, không gây đơ chương trình, dễ cài đặt
» MsgBoxDb - Msgbox MultiThread ổn định không crash, chuyên dùng để debug
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|