2009-12-16 29 views
1

是否有一個Delphi-5解決方案可以輕鬆地將單個文件存儲到現有代碼中?我想擁有諸如Java * .jar或Openoffice文檔文件的文件,這些文件是壓縮/壓縮文件和文件夾,但具有它們自己的文件擴展名。Delphi-5單文件存儲解決方案?

編輯: 我知道有些ZIP能夠組成部分,但簡單地說我想「容器」中訪問文件,並在其上使用普通文件處理程序(如TStringList.SaveToFile)。關於壓縮/解壓縮的任何開銷都應該由組件處理。

回答

2

它看起來像AidAim Software可能有你需要的東西。

+0

thx的鏈接 - 將看看它 – pastacool 2010-02-04 16:25:47

+0

雖然我不喜歡AidAim它仍然是一個有效的答案 – pastacool 2010-02-11 12:02:16

1

只需使用.zip格式。您可以將文件擴展名更改爲任何您想要的,其中重要的文件內容。德爾福提供許多第三方Zip解決方案,包括免費軟件和商業軟件。環顧四周(我公司使用ZipForge

+0

我正在尋找一些現成的解決方案,這對現有的遺留應用程序是透明的,因爲我已經瞭解了不同的.zip組件。簡而言之,我希望在單個文件存儲中有一個文件,並在其上使用正常的文件處理例程(例如TStringList.SaveToFile) - 我不想被自己的壓縮/解壓縮困擾。 – pastacool 2009-12-17 20:19:08

+1

您必須找到支持將文件讀/寫爲TStream對象的.zip組件,然後將您的代碼更改爲使用SaveToStream()而不是SaveToFile()。將SaveToFile()直接讀入.zip文件的唯一方法是首先將.zip文件作爲操作系統級別的文件系統文件夾(例如使用WinXP的壓縮文件夾功能)或第三方Shell Extension插件內部使用.zip格式。 – 2009-12-18 19:40:48

0

SolFS就是答案。檢查鏈接以與AidAim進行比較。

0

看一看OpenSource SynZip unit。解壓縮速度比Delphi提供的默認單位更快,並且它會生成一個較小的exe(crc表在啓動時創建)。

對於德爾福5,看看這個另一個開源的純粹的帕斯卡單位,名爲PasZip

我在非常小的安裝程序exe中使用它。它可以解壓縮任何zip內容,甚至可以將zip添加到exe中。見this link to get how to use such a zip embedded to the exe

+0

THX,將看看 – pastacool 2011-05-23 14:27:56

1

我使用THKStream完成此任務。它工作得很好,速度快,易於使用,您可以在其中存儲普通的流,並將它壓縮爲單個文件。免費軟件。這裏是一個鏈接: http://www.xarka.com/freeware/components.html

+0

thx,將看看! – pastacool 2011-05-23 14:24:59