線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2601
推到 Plurk!
推到 Facebook!

以XE5的TZipFile製作的解壓縮軟體

 
00156
高階會員


發表:45
回覆:195
積分:112
註冊:2002-06-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2016-01-03 11:14:20 IP:114.42.xxx.xxx 訂閱
利用XE5內建的TZipFile製作的簡易解壓縮軟體,以樹狀結構顯示內容,可以將檔案/資料夾以直接拖曳的方式加入(新檔需先「新建」後再加入檔案)。



由於一些舊壓縮軟體以Big5做檔名的編碼,讀入後會出現亂碼,因此製作一個「轉換」功能將檔名轉為Utf8格式。

TZipFile的功能相當基本,沒有Delete方法,也不能修改FileHeader,所以檔案修改時利用比較沒效率的方式,重建一個新檔複製原檔資料。在某些舊的zip檔案複製過程(TZipFile.Read)會出現檔案容量的錯誤。望各位先進有任何想法提供指教!



附檔包含Win-32執行檔及原始碼:

程式檔下載 http://frog.acsite.org/temp/UnZip.zip
編輯記錄
00156 重新編輯於 2016-01-03 11:23:01, 註解 無‧
00156 重新編輯於 2016-01-03 11:24:05, 註解 無‧
00156 重新編輯於 2016-01-07 23:22:45, 註解 無‧
sryang
尊榮會員


發表:39
回覆:762
積分:920
註冊:2002-06-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2016-01-03 13:21:35 IP:59.127.xxx.xxx 未訂閱
ZIP 就是你指的「舊壓縮程式」,檔名編碼還是 ANSI,繁體中文檔名到了簡體 OS 會亂碼,簡體中文檔名到了繁體 OS 會亂碼
建議改呼叫 7z.dll 壓縮成 7z 格式吧
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
00156
高階會員


發表:45
回覆:195
積分:112
註冊:2002-06-01

發送簡訊給我
#3 引用回覆 回覆 發表時間:2016-01-03 14:23:00 IP:114.42.xxx.xxx 訂閱
感謝sryang的建議,7z確實有較佳的壓縮率與實用性。
其實TZipFile已經預設屬性UTF8Support=true了,所以存取的zip格式中檔名已經是UTF8的字串不會有問題,只是早期的壓縮軟體壓出的檔案檔名以AnsiString方式編碼,所以才出現亂碼。由於過去累積不少這樣的檔案,不得不做轉換。(當然我的檔案是繁中的,否則還是有OS的問題)
編輯記錄
00156 重新編輯於 2016-01-03 14:39:54, 註解 無‧
系統時間:2024-04-27 13:08:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!