TDataFile
1.0.0
該課程的工作方式與標準修剪具有許多類似方法的方式相似,但對於二進製文件中的存儲數據而言,功能更強大。該類還支持基本的XOR編碼,以進一步爭奪二進製文件。
內置數據類型與值一起存儲,可以在閱讀之前檢查它們。
任何寫操作都會自動保存到打開的文件中。
Tdatafile支持以下類型:
構造函數創建了tdatafile的新實例。
constructor Create(const FileName: string; readonly: boolean = false);
參數文件名指定您打開或創建數據文件的路徑和文件名。
參數readonly指定文件是否為ReadOnly打開。在可讀模式下,寫功能將無能為力。
如果要使用內置編碼,請在創建類對象之後設置CodeKey屬性。
var df: TDataFile;
df := TDataFile.Create('filename');
df.CodeKey := 'key used to encode data';
| 功能 | 參數 | 返回類型 | 資訊 |
|---|---|---|---|
| getectionNames | 列表:TSTRINGS | 沒有任何 | 返回文件中現有部分的列表 |
| getValueNames | 部分:字符串;列表:TSTRINGS | 沒有任何 | 返回指定部分中現有值的列表 |
| getValueNamesAndTypes | 部分:字符串;列表:TSTRINGS | 沒有任何 | 在指定部分中返回現有值及其數據類型的列表。使用list.names []和list.values []進行數據 |
| getValuetype | 部分,身份:字符串 | tdftype | 返回指定值的數據類型 |
| getValuetypeastring | 部分,身份:字符串 | 細繩 | 與getValuetype相同,但將數據類型返回為字符串 |
| SectionExists | 部分:字符串 | 布爾 | 檢查指定部分是否存在 |
| Valuexists | 部分,身份:字符串 | 布爾 | 檢查該值中是否存在 |
| readdata | 章節,身份:字符串; PBUF:指針 | 整數 | 低級別功能可以讀取存儲在指定指針的任何數據 |
| readstream | 章節,身份:字符串;流:Tstream | 整數 | 從數據文件中讀取流 |
| 讀取 | 章節,身份:字符串;默認:ansistring | ansistring | 從數據文件中讀取ANSI字符串。如果標識符不存在,請返回默認值 |
| readstring | 章節,身份:字符串;默認值:字符串 | 細繩 | 從數據文件中讀取一個Unicode字符串。如果標識符不存在,請返回默認值 |
| ReadInt8 | 章節,身份:字符串;默認值:int8 | INT8 | 閱讀簽名的8位整數 |
| ReadInt16 | 章節,身份:字符串;默認值:INT16 | INT16 | 閱讀簽名的16位整數 |
| Readuint8 | 章節,身份:字符串;默認值:UINT8 | UINT8 | 閱讀未簽名的8位整數 |
| Readuint16 | 章節,身份:字符串;默認值:UINT16 | UINT16 | 閱讀未簽名的16位整數 |
| ReadInteger,ReadInt32 | 章節,身份:字符串;默認值:整數 | 整數 | 閱讀簽名的32位整數 |
| ReadInt64 | 章節,身份:字符串;默認值:INT64 | INT64 | 閱讀簽名的64位整數 |
| Readuint32 | 章節,身份:字符串;默認值:UINT32 | Uint32 | 閱讀未簽名的32位整數 |
| Readuint64 | 章節,身份:字符串;默認值:UINT64 | Uint64 | 閱讀未簽名的64位整數 |
| 讀取 | 章節,身份:字符串;默認值:單 | 單身的 | 閱讀32位浮標 |
| 讀取雙重 | 章節,身份:字符串;默認值:double | 雙倍的 | 閱讀64位浮標 |
| 讀取 | 章節,身份:字符串;默認值:貨幣 | 貨幣 | 讀取貨幣價值 |
| readdateTime | 章節,身份:字符串;默認值:TDATETIME | TDATETIME | 閱讀日期時間值 |
| 讀書 | 章節,身份:字符串;默認值:布爾值 | 布爾 | 閱讀布爾價值 |
| readstrings | 章節,身份:字符串;列表:TSTRINGS | 沒有任何 | 在指定列表中讀取字符串列表 |
| readfont | 章節,身份:字符串;字體:tfont | 沒有任何 | 在指定的字體中讀取字體設置(名稱,樣式,大小等) |
| 寫 | 章節,身份:字符串; PBUF:指針;計數:整數;數據類型:tdftype = dfd_unknown | 整數 | 低級功能以編寫存儲在指定指針的任何數據 |
| writestream | 章節,身份:字符串;流:tstream; datatype:tdftype = dfd_stream | 整數 | 從數據文件中寫下流 |
| Writeansistring | 章節,身份:字符串;價值:ansistring | 沒有任何 | 從數據文件中寫下ANSI字符串。如果標識符不存在,請返回默認值 |
| 寫作 | 部分,身份,價值:字符串 | 沒有任何 | 從數據文件中寫一個Unicode字符串。如果標識符不存在,請返回默認值 |
| writeint8 | 章節,身份:字符串;價值:int8 | 沒有任何 | 寫一個簽名的8位整數 |
| writeint16 | 章節,身份:字符串;值:INT16 | 沒有任何 | 寫一個簽名的16位整數 |
| writeUint8 | 章節,身份:字符串;價值:UINT8 | 沒有任何 | 寫一個未簽名的8位整數 |
| writeUint16 | 章節,身份:字符串;價值:UINT16 | 沒有任何 | 寫一個未簽名的16位整數 |
| WriteInteger,writeint32 | 章節,身份:字符串;價值:整數 | 沒有任何 | 寫一個簽名的32位整數 |
| writeint64 | 章節,身份:字符串;值:INT64 | 沒有任何 | 寫一個簽名的64位整數 |
| writeUint32 | 章節,身份:字符串;價值:UINT32 | 沒有任何 | 寫一個未簽名的32位整數 |
| writeUint64 | 章節,身份:字符串;價值:UINT64 | 沒有任何 | 寫一個未簽名的64位整數 |
| 寫作 | 章節,身份:字符串;價值:單個 | 沒有任何 | 寫一個32位浮子 |
| 寫入 | 章節,身份:字符串;價值:雙重 | 沒有任何 | 寫一個64位浮標 |
| WriteCurrency | 章節,身份:字符串;價值:貨幣 | 沒有任何 | 寫一個咖哩價值 |
| 寫入 | 章節,身份:字符串;值:tdateTime | 沒有任何 | 編寫DateTime值 |
| 寫布利安 | 章節,身份:字符串;價值:布爾值 | 沒有任何 | 寫一個布爾價值 |
| 寫作 | 章節,身份:字符串;列表:TSTRINGS | 沒有任何 | 在指定列表中寫下字符串列表 |
| WriteFont | 章節,身份:字符串;字體:tfont | 沒有任何 | 在指定的字體中編寫字體設置(名稱,樣式,大小等) |
| 重命名 | Oldsection,Oldente,Newsection,Newident:String | 布爾 | 重命名標識符 |
| 刪除 | 部分:字符串 | 沒有任何 | 刪除指定部分 |
| 刪除 | 部分,身份:字符串 | 沒有任何 | 刪除指定的標識符 |
tdatafile被設計為與Delphi Xe一起使用。它可能與較舊的版本一起使用,但沒有進行測試。
隨附的編輯器是使用Delphi Ryo創建的,並且可能不會在較舊版本中編譯。
Tdatafile的靈感來自原始的Degisy軟件TDATAFILE。
DataFile編輯器是一種使用Tdatafile創建,查看和修改文件的應用程序。編輯器將添加一個帶有密鑰創建的元部分。使用它創建的文件中的日期,但是一旦添加自己的部分和值,就可以安全地刪除。
用編輯器創建的部分將作為樹顯示,但是實際結構是平坦的,存儲的實際截面名稱是上部顯示的完整路徑。創建樹時使用的分離器是斜線字符(“ / ”)。
代碼和編輯都根據MIT許可發布。有關詳細信息,請參見許可證文件。