このクラスは、多くの同様の方法を備えた標準的なスニファイルと同様の方法で機能しますが、バイナリファイルに保存されたデータにより強力です。このクラスは、バイナリファイルをさらにスクランブルするために基本的なXORエンコードもサポートしています。
組み込みのデータ型は値で保存され、それらを読む前にチェックすることができます。
任意の書き込み操作は、開いたファイルに自動的に保存されます。
次のタイプは、Tdatafileによってサポートされています。
コンストラクターは、Tdatafileの新しいインスタンスを作成します。
constructor Create(const FileName: string; readonly: boolean = false);
パラメーターファイル名は、開くまたは作成するデータファイルのパスとファイル名を指定します。
パラメーターは、ファイルがreadonlyとして開かれているかどうかをreadonlyに指定します。 readonlyモードでは、書き込み関数は何もしません。
内蔵エンコーディングを使用する場合は、クラスオブジェクトを作成した後にCodeKeyプロパティを設定します。
var df: TDataFile;
df := TDataFile.Create('filename');
df.CodeKey := 'key used to encode data';
| 関数 | パラメーター | 返品タイプ | 情報 |
|---|---|---|---|
| GetSectionNames | リスト:tstrings | なし | ファイル内の既存のセクションのリストを返します |
| getValueNames | セクション:文字列;リスト:tstrings | なし | 指定されたセクションで既存の値のリストを返します |
| getValueNamesAndTypes | セクション:文字列;リスト:tstrings | なし | 指定されたセクションに既存の値とそのデータ型のリストを返します。データにlist.names []およびlist.values []を使用します |
| getValueetype | セクション、識別:文字列 | tdftype | 指定された値のデータ型を返します |
| getValueetypeasString | セクション、識別:文字列 | 弦 | getValueEtypeと同じですが、データ型を文字列として返します |
| セクションエキシスト | セクション:文字列 | ブール | 指定されたセクションが存在するかどうかを確認します |
| ValueExists | セクション、識別:文字列 | ブール | セクションに値が存在するかどうかを確認します |
| readdata | セクション、識別:文字列; PBUF:ポインター | 整数 | 指定されたポインターに保存されたデータを読み取るための低レベル関数 |
| ReadStream | セクション、識別:文字列;ストリーム:tstream | 整数 | データファイルからストリームを読んでください |
| ReadAnsistring | セクション、識別:文字列;デフォルト:ansistring | アンシストリング | DataFileからANSI文字列を読んでください。識別子が存在しない場合、デフォルト値を返します |
| ReadString | セクション、識別:文字列;デフォルト:文字列 | 弦 | DataFileから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ビット整数を読んでください |
| ReadSingle | セクション、識別:文字列;デフォルト:シングル | シングル | 32ビットフロートを読んでください |
| 再double | セクション、識別:文字列;デフォルト:ダブル | ダブル | 64ビットフロートを読んでください |
| ReadCurrency | セクション、識別:文字列;デフォルト:通貨 | 通貨 | 通貨価値を読みます |
| readdateTime | セクション、識別:文字列;デフォルト:tdateTime | tdateTime | DateTime値をお読みください |
| readboolean | セクション、識別:文字列;デフォルト:Boolean | ブール | ブール値を読んでください |
| ReadStrings | セクション、識別:文字列;リスト:tstrings | なし | 指定されたリストの文字列リストを読み取ります |
| readfont | セクション、識別:文字列;フォント:tfont | なし | 指定されたフォントでフォント設定(名前、スタイル、サイズなど)を読む |
| writedata | セクション、識別:文字列; PBUF:ポインター;カウント:整数;データタイプ:tdftype = dfd_unknown | 整数 | 指定されたポインターに保存されているデータを書き込む低レベル関数 |
| writestream | セクション、識別:文字列;ストリーム:tstream;データタイプ:tdftype = dfd_stream | 整数 | データファイルからストリームを書きます |
| 書き込み | セクション、識別:文字列;値:アンシストリング | なし | データファイルからANSI文字列を書きます。識別子が存在しない場合、デフォルト値を返します |
| 書き込み | セクション、識別、値:文字列 | なし | DataFileから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ビット整数を書きます |
| writeSingle | セクション、識別:文字列;値:シングル | なし | 32ビットフロートを書きます |
| writedouble | セクション、識別:文字列;値:ダブル | なし | 64ビットフロートを書きます |
| 手書き | セクション、識別:文字列;値:通貨 | なし | カレーの価値を書きます |
| writedatime | セクション、識別:文字列;値:tdateTime | なし | データタイム値を書きます |
| writeboolean | セクション、識別:文字列;値:ブール | なし | ブール値を書きます |
| 執筆 | セクション、識別:文字列;リスト:tstrings | なし | 指定されたリストに文字列リストを書きます |
| writefont | セクション、識別:文字列;フォント:tfont | なし | 指定されたフォントにフォント設定(名前、スタイル、サイズなど)を書き込む |
| 名前を変更します | 古いセクション、オールドインデント、ニュースホレクション、新人:文字列 | ブール | 識別子の名前を変更します |
| 削除 | セクション:文字列 | なし | 指定されたセクションを削除します |
| 消去 | セクション、識別:文字列 | なし | 指定された識別子を削除します |
Tdatafileは、Delphi Xe以上で使用するように設計されています。古いバージョンでは動作する可能性がありますが、テストされていません。
付属のエディターは、Delphi Ryoを使用して作成され、古いバージョンでコンパイルできない場合があります。
Tdatafileは、元のDegisyソフトウェアTdatafileに触発されました。
DataFileエディターは、TDATAFILEで作成されたファイルを作成、表示、変更するアプリケーションです。編集者は、作成されたファイルのキーCREATION.DATEでメタセクションを追加しますが、独自のセクションと値を追加すると安全に削除できます。
編集者で作成されたセクションはツリーとして表示されますが、実際の構造はフラットで、実際のセクション名は上部に示されています。ツリーを作成するときに使用されるセパレーターは、スラッシュ文字( " / ")です。
コードとエディターはどちらもMITライセンスの下でリリースされます。詳細については、ライセンスファイルを参照してください。