前のページ次のページ上に戻るホーム BREW C++ ライブラリ & GUI フレームワーク : SophiaFramework 3.0

15.6. コンフィグ ファイル管理クラス

SFXConfig クラスはアプリケーションの設定情報などをファイルに保存するためのクラスです。直接ファイルを操作するよりも簡単で便利な関数を提供します。

ファイルに保存する情報はタグ番号 (UInt32 型) とデータ (数値や文字列など) をペアとして管理します。タグ番号を指定することで、対応するデータを読み書きします。

[Caution] MIF ファイルの権限設定

MIF ファイルの設定で「ファイル」の項目にチェックを入れる必要があります。

書き込み

SFXConfig config;

// 文字列データを書き込む (番号は 1 番に指定)
config.WriteSFXAnsiString(1, "saving data");

// ファイルに保存
config.Save("data/def.txt");

読み出し

SFXConfig config;

// ファイルから読み出し
config.Load("data/def.txt");

// 文字列データを読み込む (番号は 1 番に指定)
// 第2引数はデフォルト値
SFXAnsiString str = config.ReadSFXAnsiString(1, "default text");

// str は "saving data" になる

様々なデータ型の読み書き

config.WriteSInt32(2, -17); // SInt32 型の書き込み
config.WriteUInt08(3, 'a'); // UInt08 型の書き込み
config.WriteBool(4, true);  // Bool 型の書き込み

// バッファ
ByteConst data[] = {0x01, 0x11, 0x22, 0x33, 0x44};
SFXBuffer buffer(data, lengthof(data));

config.WriteSFXBuffer(5, buffer); // SFXBuffer 型の書き込み

SInt32 n1 = config.ReadSInt32(2, -9999); // SInt32 型の読み出し

// 第2引数はデフォルト引数。n1 は -17 になる

AChar c = config.ReadUInt08(3, '\0');    // UInt08 型の読み出し

// c は 'a'

Bool b = config.ReadBool(4, false);      // SInt32 型の読み出し

// b は true になる

// SFXBuffer 型の読み出し
SFXBuffer buff = config.ReadSFXBuffer(5, SFXBuffer());