2012-07-19 177 views
0

可能重複:
how to store settings in resource德爾福記錄到資源

我有一個字符串,整數,等這個記錄被用作該被後來讀取文件設置的記錄。如何將記錄轉換爲二進制數據(或字符串)並將其保存爲RCDATA並將其讀回記錄?如果可能的話,本地代碼和/或WinAPI只。謝謝你的幫助。

+0

謝謝:)是否有可能沒有流? – 2012-07-19 20:06:09

+1

當然有可能。將流寫入函數替換爲您選擇的任何其他持久性機制的等效函數。 – 2012-07-19 20:36:56

+0

我可以使用CopyMemory和ReadMemory嗎? – 2012-07-19 20:40:48

回答

1

關於RCDATA:

我問谷歌「資源編輯器開源德爾福」 它告訴我http://melander.dk/reseditor/

這個程序中,可以確保讀取和寫入資源。

該頁面的頁腳還包含三個更多的openource delphi程序的鏈接,也可以做到這一點。

所以我希望你能找到你需要的東西。其中一堆有用的代碼:-)


但是 - 你想使用什麼RCDATA?什麼文件?一些DLL?或者你自己的項目EXE? RCDATA用於閱讀,而不是寫作。這不是典型的用途。如果加載了DLL或EXE,那麼您將無權寫入新的RCDATA文件。而你自己運行的EXE總是打開的。


關於轉向二進制 - 這是非常依賴於你使用的數據類型。在展示數據之前 - 沒有人能夠肯定地告訴你。

最懶惰的方法是: 1)使用鏡像記錄字段的已發佈屬性從TComponent創建鏡像類。從記錄分配這些屬性並執行TComponent.SaveToStream。 2)使用Progdigy的JsonObject以JSon格式創建文本文件 3)使用一些XML保存/讀取。例如,在更高版本的Delphi版本中使用TXMLDocument(但是如果使用零Owner創建它,它有它的陷阱),或者Jedi CodeLib使用XML。

您可以在Torry.net中搜索很多XML或JSON庫。

但最重要的是 - 谷歌「序列化在德爾福」,並找到教程詳細說明麻煩和解決方案。