このライブラリは、Delphi の TPersistent クラスを拡張して、実行時型情報 (RTTI) を用いた 自動代入 や ファイル入出力 を実現するものです。以下のような機能を提供します:
-
TRTTIPersistent- RTTIを利用して同一型のクラス同士でプロパティの自動コピーを実装(
Assign)
- RTTIを利用して同一型のクラス同士でプロパティの自動コピーを実装(
-
TRTTIPersistentIni- 上記を継承し、INI形式のファイルへの保存・読み込みを可能にしたクラス
-
TRTTIPersistentIniList<T>- オブジェクトリスト(
TObjectList<T>)に対応したINI保存・読込クラス AddNew,InsertNew,DeleteItem,Exchange,LoadFromFile,SaveToFileなどの便利メソッドを提供
- オブジェクトリスト(
var
Pos: TRTTIFormPosition;
begin
Pos := TRTTIFormPosition.Create;
try
Pos.InitializeFromForm(Self);
Pos.SaveToFile;
finally
Pos.Free;
end;var
List: TRTTIPersistentIniList<TSampleItem>;
begin
List := TRTTIPersistentIniList<TSampleItem>.Create(True);
try
List.Filename := 'sample.ini';
List.LoadFromFile;
// 要素を編集...
List.SaveToFile;
finally
List.Free;
end;AssignはTPersistentではなく、必要に応じてTObjectList<T>型に対して別メソッドとして定義する必要があります(AssignListなど)LoadFromFileはファイルが存在しない場合はClearしない方が自然ですが、ファイルが読み込まれた場合にはClearを呼ぶべきです
StringListRtti,StringListEx,StringListKey(RTTIベースの読込・書込を補助)
このライブラリは自由に利用・改変可能です。商用・非商用を問わずご活用ください。