前のページ次のページ上に戻るホーム BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework 4.1
SFXConfig
アプリの各種設定を管理するクラスです。
#include <SFXConfig.h.hpp>
class SFXConfig;
SFMTYPEDEFCLASS(SFXConfig)

協調図

SFXConfig クラスの協調図

解説

SFXConfig クラスは、アプリの終了またはサスペンド時に、次回アプリの起動またはレジューム時に復元する必要のある「アプリの各種情報」をファイルに保存して管理するのに使います。

ファイルに保存される情報は「タグ番号」と「タグ番号に対応する値」のペアで管理されます。(「タグ番号」を指定して「タグ番号に対応する値」を読み書きします。)

「タグ番号」としては 0 から 60000 までの数値( UInt32 型 )、「タグ番号に対応する値」としては任意の数値または文字列を指定できます。

[Caution] MIF ファイルの設定

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

例 465. コンフィグ ファイルへ書き込み

SFXConfig config;

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

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

例 466. コンフィグ ファイルの読み出し

SFXConfig config;

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

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

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

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 型の読み出し
// n1 = -17

// 第 2 引数はデフォルト引数
AChar c = config.ReadUInt08(3, '\0');    // UInt08 型の読み出し
// c = 'a'

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

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

メンバ

コンストラクタ/デストラクタ
SFXConfig( Void )
SFXConfig クラスのコンストラクタです。
~SFXConfig( Void )
SFXConfig クラスのデストラクタです。
パブリック関数
Void Clear( Void )
SFXConfig インスタンス中のすべてのエントリを削除します。
static
SFXConfigConstRef
EmptyInstance( Void )
空のコンフィグを取得します。
SInt32 GetSize( Void )
SFXConfig インスタンス内のエントリ数を取得します。
SFCError Load( SFXPathConstRef path )
指定した設定ファイルをロードします。
SFCError ReadBinary( UInt16 tag , VoidConstHandle value , UInt16Ptr length )
指定したタグのデータを取得します。
Bool ReadBool( UInt16 tag , Bool initial )
指定したタグを含むエントリから、Bool 型の値を読み込みます。
Float32 ReadFloat32( UInt16 tag , Float32 initial )
指定したタグを含むエントリから、Float32 型の値を読み込みます。
Float64 ReadFloat64( UInt16 tag , Float64 initial )
指定したタグを含むエントリから、Float64 型の値 (浮動小数点値) を読み込みます。
SFXAnsiString ReadSFXAnsiString( UInt16 tag , SFXAnsiStringConstRef initial )
指定したタグを含むエントリから、AChar 型の文字列を読み込みます。
SFXBuffer ReadSFXBuffer( UInt16 tag , SFXBufferConstRef initial )
指定したタグを含むエントリから、SFXBuffer 型のデータを読み込みます。
SFXWideString ReadSFXWideString( UInt16 tag , SFXWideStringConstRef initial )
指定したタグを含むエントリから、WChar 型の文字列を読み込みます。
SInt08 ReadSInt08( UInt16 tag , SInt08 initial )
指定したタグを含むエントリから、SInt08 型の値を読み込みます。
SInt16 ReadSInt16( UInt16 tag , SInt16 initial )
指定したタグを含むエントリから、SInt16 型の値を読み込みます。
SInt32 ReadSInt32( UInt16 tag , SInt32 initial )
指定したタグを含むエントリから、SInt32 型の値を読み込みます。
SInt64 ReadSInt64( UInt16 tag , SInt64 initial )
指定したタグを含むエントリから、SInt64 型の値を読み込みます。
UInt08 ReadUInt08( UInt16 tag , UInt08 initial )
指定したタグを含むエントリから、UInt08 型の値を読み込みます。
UInt16 ReadUInt16( UInt16 tag , UInt16 initial )
指定したタグを含むエントリから、UInt16 型の値を読み込みます。
UInt32 ReadUInt32( UInt16 tag , UInt32 initial )
指定したタグを含むエントリから、UInt32 型の値を読み込みます。
UInt64 ReadUInt64( UInt16 tag , UInt64 initial )
指定したタグを含むエントリから、UInt64 型の値を読み込みます。
Void Remove( UInt16 tag )
指定したエントリを削除します。
SFCError Save( SFXPathConstRef path )
Save( Void )
設定を設定ファイルに保存します。
SFCError WriteBinary( UInt16 tag , VoidConstPtr value , UInt16 length )
指定したタグを含むエントリの値に、バイナリデータを書き込みます。
SFCError WriteBool( UInt16 tag , Bool value )
指定したタグを含むエントリの値に、Bool 型の値を書き込みます。
SFCError WriteFloat32( UInt16 tag , Float32 value )
指定したタグを含むエントリの値に、Float32 型の値を書き込みます。
SFCError WriteFloat64( UInt16 tag , Float64 value )
指定したタグを含むエントリの値に、Float64 型の値 (浮動小数点値) を書き込みます。
SFCError WriteSFXAnsiString( UInt16 tag , SFXAnsiStringConstRef value )
指定したタグを含むエントリの値に、AChar 型の文字列を書き込みます。
SFCError WriteSFXBuffer( UInt16 tag , SFXBufferConstRef value )
指定したタグを含むエントリの値に、SFXBuffer 型のデータを書き込みます。
SFCError WriteSFXWideString( UInt16 tag , SFXWideStringConstRef value )
指定したタグを含むエントリの値に、WChar 型の文字列を書き込みます。
SFCError WriteSInt08( UInt16 tag , SInt08 value )
指定したタグを含むエントリの値に、SInt08 型の値を書き込みます。
SFCError WriteSInt16( UInt16 tag , SInt16 value )
指定したタグを含むエントリの値に、SInt16 型の値を書き込みます。
SFCError WriteSInt32( UInt16 tag , SInt32 value )
指定したタグを含むエントリの値に、SInt32 型の値を書き込みます。
SFCError WriteSInt64( UInt16 tag , SInt64 value )
指定したタグを含むエントリの値に、SInt64 型の値を書き込みます。
SFCError WriteUInt08( UInt16 tag , UInt08 value )
指定したタグを含むエントリの値に、UInt08 型の値を書き込みます。
SFCError WriteUInt16( UInt16 tag , UInt16 value )
指定したタグを含むエントリの値に、UInt16 型の値を書き込みます。
SFCError WriteUInt32( UInt16 tag , UInt32 value )
指定したタグを含むエントリの値に、UInt32 型の値を書き込みます。
SFCError WriteUInt64( UInt16 tag , UInt64 value )
指定したタグを含むエントリの値に、UInt64 型の値を書き込みます。

SFXConfig::SFXConfig
SFXConfig クラスのコンストラクタです。
[ public, explicit ]
SFXConfig(Void);

解説

コンストラクタでは、ファイルからの読み込みは行いません。


SFXConfig::~SFXConfig
SFXConfig クラスのデストラクタです。
[ public ]
~SFXConfig(Void);

解説

デストラクタは SFXConfig::Clear 関数を呼び出し、SFXConfig インスタンス中のエントリをすべて削除します。

参照

SFXConfig::Clear


SFXConfig::Clear
SFXConfig インスタンス中のすべてのエントリを削除します。
[ public ]
Void Clear(Void);

解説

SFXConfig::Clear 関数を使って更新した SFXConfig インスタンスの内容は、 SFXConfig::Save 関数を呼び出さない限り設定ファイルに反映されません。

使用例

SFXConfig  config;

// 設定ファイルをロードする
config.Load("config.cfg");

// Bool 型の値を書き込み
config.WriteBool(100, true);
config.WriteBool(101, false);

// すべてのエントリを削除する
config.Clear();

参照

SFXConfig::Remove | SFXConfig::Save


SFXConfig::EmptyInstance
空のコンフィグを取得します。
[ public, static ]
SFXConfigConstRef EmptyInstance(Void);

解説

空のコンフィグを表すインスタンスを取得します。


SFXConfig::GetSize
SFXConfig インスタンス内のエントリ数を取得します。
[ public, const ]
SInt32 GetSize(Void);

使用例

SFXConfig   config;
UInt32      entryNum = 0;

// 設定ファイルをロードする
config.Load("config.cfg");

// Bool 型の値を書き込む
config.WriteBool(100, true);
config.WriteBool(101, false);

// SFXConfig インスタンス内のエントリ数を取得する
entryNum = config.GetSize();

SFXConfig::Load
指定した設定ファイルをロードします。
[ public ]
SFCError Load(
    SFXPathConstRef path   // 設定ファイルのパス
);

戻り値

  • 成功したとき、 または設定ファイルが存在しないとき : SFERR_NO_ERROR
  • 設定ファイルのパス、またはロードしたファイルの内容が不正であるとき : SFERR_INVALID_PARAM
  • ファイルが既にオープンしているとき : SFERR_INVALID_STATE
  • メモリ不足のとき : SFERR_NO_MEMORY
  • 失敗したとき : SFERR_FAILED
  • その他のエラーのとき : AEEError.h で定義されているエラー値

解説

設定ファイルをロードし、設定ファイルの名前を SFXConfig インスタンスに設定します。 SFXConfig::Save 関数は、SFXConfig インスタンスに設定されたファイルの名前を使って、 設定ファイルを作成します。

[Note] 注意
SFXConfig クラスを使う場合は、SFXConfig::Load 関数を最初に呼び出す必要があります。
[Note] 注意
設定ファイルを多重にロードした場合は、最後にロードした設定ファイルの内容が有効となり、 それ以外の設定ファイルの内容は破棄されます。

使用例

SFXConfig   config;

// 設定ファイルをロードする
config.Load(SFXPath("config.cfg"));

// Bool 型の値を書き込む
config.WriteBool(100, true);
config.WriteBool(101, false);

参照

SFXConfig::Save


SFXConfig::ReadBinary
指定したタグのデータを取得します。
[ public, const ]
SFCError ReadBinary(
    UInt16 tag              // タグ
    VoidConstHandle value   // 値を格納するハンドル
    UInt16Ptr length        // データの長さを格納するポインター
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 指定したタグのデータが存在しないとき : SFERR_FAILED

使用例

SFXConfig          config;
VoidConstPtr       data;
UInt16             len;

// 設定ファイルをロードする
config.Load("config.cfg");

// Bool 型の値を書き込む
config.WriteBool(100, true);
config.WriteBool(101, false);

// アプリの各種設定を、
// 設定ファイルとして保存する
config.Save();

// 設定ファイルをロードする
config.Load("config.cfg");

// 指定したタグを含むエントリを取得する
config.ReadBinary(100, &data, &len);

参照

SFXConfig::WriteBinary


SFXConfig::ReadBool
指定したタグを含むエントリから、Bool 型の値を読み込みます。
[ public, const ]
Bool ReadBool(
    UInt16 tag     // タグ
    Bool initial   // デフォルト値
);

戻り値

  • エントリの値が Bool 型であるとき: その値
  • エントリの値が Bool 型でないとき、またはエントリが存在しないとき : initial ( デフォルト値 )

解説

指定したタグを含むエントリから、SFXConfig::WriteBool 関数を使って書き込んだ Bool 型の値を読み込みます。

使用例

SFXConfig   config;
Bool        tmpBool;

// 設定ファイルをロードする
config.Load("config.cfg");

// Bool 型の値を書き込む
config.WriteBool(100, true);
config.WriteBool(101, false);

// アプリの各種設定を、
// 設定ファイルとして保存する
config.Save();

// 設定ファイルをロードする
config.Load("config.cfg");

// Bool 型の値を読み込む
tmpBool = config.ReadBool(100, false);

参照

SFXConfig::WriteBool


SFXConfig::ReadFloat32
指定したタグを含むエントリから、Float32 型の値を読み込みます。
[ public, const ]
Float32 ReadFloat32(
    UInt16 tag        // タグ
    Float32 initial   // デフォルト値
);

戻り値

  • エントリの値が Float32 型であるとき: その値
  • エントリの値が Float32 型でないとき、またはエントリが存在しないとき : initial ( デフォルト値 )

解説

指定したタグを含むエントリから、SFXConfig::WriteFloat32 関数を使って書き込んだ Float32 型の値を読み込みます。

参照

SFXConfig::WriteFloat32


SFXConfig::ReadFloat64
指定したタグを含むエントリから、Float64 型の値 (浮動小数点値) を読み込みます。
[ public, const ]
Float64 ReadFloat64(
    UInt16 tag        // タグ
    Float64 initial   // デフォルト値
);

戻り値

  • エントリの値が Float64 型であるとき: その値
  • エントリの値が Float64 型でないとき、またはエントリが存在しないとき : initial ( デフォルト値 )

解説

指定したタグを含むエントリから、SFXConfig::WriteFloat64 関数を使って書き込んだ Float64 型の値を読み込みます。

使用例

SFXConfig   config;
Float64   float64_1(0.12345), float64_2(0.000000), float64_3(-1.234);
Float64   tmpFloat64;

// 設定ファイルをロードする
config.Load("config.cfg");

// Float64 型の値を書き込む
config.WriteFloat64(100, float64_1);
config.WriteFloat64(101, float64_2);
config.WriteFloat64(102, float64_3);

// アプリの各種設定を、
// 設定ファイルとして保存する
config.Save();

// 設定ファイルをロードする
config.Load("config.cfg");

// 指定したタグを含むエントリから Float64 型の値を読み込む
tmpFloat64 == config.ReadFloat64(100, float64_1);

参照

SFXConfig::WriteFloat64


SFXConfig::ReadSFXAnsiString
指定したタグを含むエントリから、AChar 型の文字列を読み込みます。
[ public, const ]
SFXAnsiString ReadSFXAnsiString(
    UInt16 tag                      // タグ
    SFXAnsiStringConstRef initial   // デフォルト値
);

戻り値

  • 値の長さが 0 バイトでないとき: その値
  • 値の長さが 0 バイトであるとき、またはエントリが存在しないとき : initial ( デフォルト値 )

解説

指定したタグを含むエントリから、SFXConfig::WriteSFXAnsiString 関数を使って書き込んだ AChar 型の文字列を読み込みます。

AChar 型の文字列は、ヌル文字を含む形で管理しています。 値の長さが 1 バイトの場合は、空文字列 (ヌル文字列) を含む SFXAnsiString インスタンスを返します。

使用例

SFXConfig      config;
SFXAnsiString  astr;

// 設定ファイルをロードする
config.Load("config.cfg");

// AChar 型の文字列を書き込む
config.WriteSFXAnsiString(100, "Config");
config.WriteSFXAnsiString(101, "Sample");
config.WriteSFXAnsiString(102, "SophiaFramework");

// アプリの各種設定を、
// 設定ファイルとして保存する
config.Save();

// 設定ファイルをロードする
config.Load("config.cfg");

// AChar* 型の文字列を読み込む
astr = config.ReadSFXAnsiString(100, "Read Config");

参照

SFXConfig::WriteSFXAnsiString


SFXConfig::ReadSFXBuffer
指定したタグを含むエントリから、SFXBuffer 型のデータを読み込みます。
[ public, const ]
SFXBuffer ReadSFXBuffer(
    UInt16 tag                  // タグ
    SFXBufferConstRef initial   // デフォルト値
);

戻り値

  • エントリの値が SFXBuffer 型であるとき: その値
  • エントリの値が SFXBuffer 型でないとき、またはエントリが存在しないとき : initial ( デフォルト値 )

解説

指定したタグを含むエントリから、SFXConfig::WriteSFXBuffer 関数を使って書き込んだ SFXBuffer 型の値を読み込みます。

参照

SFXConfig::WriteSFXBuffer


SFXConfig::ReadSFXWideString
指定したタグを含むエントリから、WChar 型の文字列を読み込みます。
[ public, const ]
SFXWideString ReadSFXWideString(
    UInt16 tag                      // タグ
    SFXWideStringConstRef initial   // デフォルト値
);

戻り値

  • 値の長さが 0 バイトでないとき: その値
  • 値の長さが 0 バイトであるとき、またはエントリが存在しないとき : initial ( デフォルト値 )

解説

指定したタグを含むエントリから、SFXConfig::WriteSFXWideString 関数を使って書き込んだ WChar 型の文字列を読み込みます。

WChar 型の文字列は、ヌル文字を含む形で管理しています。 値の長さが 2 バイトの場合は、空文字列 (ヌル文字列) を含む SFXWideString インスタンスを返します。

使用例

SFXConfig      config;
SFXWideString  wstr;

// 設定ファイルをロードする
config.Load("config.cfg");

// WChar* 型の文字列を書き込む
config.WriteSFXWideString(100, "Config");
config.WriteSFXWideString(101, "Sample");
config.WriteSFXWideString(102, "SophiaFramework");

// アプリの各種設定を、
// 設定ファイルとして保存する
config.Save();

// 設定ファイルをロードする
config.Load("config.cfg");

// WChar 型の文字列を読み込む
wstr = config.WriteSFXWideString(100, "Read Config");

参照

SFXConfig::WriteSFXWideString


SFXConfig::ReadSInt08
指定したタグを含むエントリから、SInt08 型の値を読み込みます。
[ public, const ]
SInt08 ReadSInt08(
    UInt16 tag       // タグ
    SInt08 initial   // デフォルト値
);

戻り値

  • エントリの値が SInt08 型であるとき: その値
  • エントリの値が SInt08 型でないとき、またはエントリが存在しないとき : initial ( デフォルト値 )

解説

指定したタグを含むエントリから、SFXConfig::WriteSInt08 関数を使って書き込んだ SInt08 型の値を読み込みます。

参照

SFXConfig::WriteSInt08


SFXConfig::ReadSInt16
指定したタグを含むエントリから、SInt16 型の値を読み込みます。
[ public, const ]
SInt16 ReadSInt16(
    UInt16 tag       // タグ
    SInt16 initial   // デフォルト値
);

戻り値

  • エントリの値が SInt16 型であるとき: その値
  • エントリの値が SInt16 型でないとき、またはエントリが存在しないとき : initial ( デフォルト値 )

解説

指定したタグを含むエントリから、SFXConfig::WriteSInt16 関数を使って書き込んだ SInt16 型の値を読み込みます。

参照

SFXConfig::WriteSInt16


SFXConfig::ReadSInt32
指定したタグを含むエントリから、SInt32 型の値を読み込みます。
[ public, const ]
SInt32 ReadSInt32(
    UInt16 tag       // タグ
    SInt32 initial   // デフォルト値
);

戻り値

  • エントリの値が SInt32 型であるとき: その値
  • エントリの値が SInt32 型でないとき、またはエントリが存在しないとき : initial ( デフォルト値 )

解説

指定したタグを含むエントリから、SFXConfig::WriteSInt32 関数を使って書き込んだ SInt32 型の値を読み込みます。

使用例

SFXConfig   config;
SInt32      tmpInt;

// 設定ファイルをロードする
config.Load("config.cfg");

// SInt32 型の値を書き込む
config.WriteSInt32(100, 0x00000000);
config.WriteSInt32(101, 0x00005678);
config.WriteSInt32(102, 0xffffffff);

// アプリの各種設定を、
// 設定ファイルとして保存する
config.Save();

// 設定ファイルをロードする
config.Load("config.cfg");

// SInt32 型の値を読み込む
tmpInt = config.ReadSInt32(100, 0x12340000);

参照

SFXConfig::WriteSInt32


SFXConfig::ReadSInt64
指定したタグを含むエントリから、SInt64 型の値を読み込みます。
[ public, const ]
SInt64 ReadSInt64(
    UInt16 tag       // タグ
    SInt64 initial   // デフォルト値
);

戻り値

  • エントリの値が SInt64 型であるとき: その値
  • エントリの値が SInt64 型でないとき、またはエントリが存在しないとき : initial ( デフォルト値 )

解説

指定したタグを含むエントリから、SFXConfig::WriteSInt64 関数を使って書き込んだ SInt64 型の値を読み込みます。

参照

SFXConfig::WriteSInt64


SFXConfig::ReadUInt08
指定したタグを含むエントリから、UInt08 型の値を読み込みます。
[ public, const ]
UInt08 ReadUInt08(
    UInt16 tag       // タグ
    UInt08 initial   // デフォルト値
);

戻り値

  • エントリの値が UInt08 型であるとき: その値
  • エントリの値が UInt08 型でないとき、またはエントリが存在しないとき : initial ( デフォルト値 )

解説

指定したタグを含むエントリから、SFXConfig::WriteUInt08 関数を使って書き込んだ UInt08 型の値を読み込みます。

参照

SFXConfig::WriteUInt08


SFXConfig::ReadUInt16
指定したタグを含むエントリから、UInt16 型の値を読み込みます。
[ public, const ]
UInt16 ReadUInt16(
    UInt16 tag       // タグ
    UInt16 initial   // デフォルト値
);

戻り値

  • エントリの値が UInt16 型であるとき: その値
  • エントリの値が UInt16 型でないとき、またはエントリが存在しないとき : initial ( デフォルト値 )

解説

指定したタグを含むエントリから、SFXConfig::WriteUInt16 関数を使って書き込んだ UInt16 型の値を読み込みます。

参照

SFXConfig::WriteUInt16


SFXConfig::ReadUInt32
指定したタグを含むエントリから、UInt32 型の値を読み込みます。
[ public, const ]
UInt32 ReadUInt32(
    UInt16 tag       // タグ
    UInt32 initial   // デフォルト値
);

戻り値

  • エントリの値が UInt32 型であるとき: その値
  • エントリの値が UInt32 型でないとき、またはエントリが存在しないとき : initial ( デフォルト値 )

解説

指定したタグを含むエントリから、SFXConfig::WriteUInt32 関数を使って書き込んだ UInt32 型の値を読み込みます。

参照

SFXConfig::WriteUInt32


SFXConfig::ReadUInt64
指定したタグを含むエントリから、UInt64 型の値を読み込みます。
[ public, const ]
UInt64 ReadUInt64(
    UInt16 tag       // タグ
    UInt64 initial   // デフォルト値
);

戻り値

  • エントリの値が UInt64 型であるとき: その値
  • エントリの値が UInt64 型でないとき、またはエントリが存在しないとき : initial ( デフォルト値 )

解説

指定したタグを含むエントリから、SFXConfig::WriteUInt64 関数を使って書き込んだ UInt64 型の値を読み込みます。

参照

SFXConfig::WriteUInt64


SFXConfig::Remove
指定したエントリを削除します。
[ public ]
Void Remove(
    UInt16 tag   // タグ
);

解説

指定したタグを含むエントリが SFXConfig インスタンス中に存在する場合は、 そのエントリを削除します。

SFXConfig::Remove 関数を使って更新した SFXConfig インスタンスの内容は、 SFXConfig::Save 関数を呼び出さない限り設定ファイルに反映されません。

使用例

SFXConfig     config;

// 設定ファイルをロードする
config.Load("config.cfg");

// Bool 型の値を書き込みます
config.WriteBool(100, true);
config.WriteBool(101, false);

// 指定したエントリを削除する
config.Remove(101);

参照

SFXConfig::Save


SFXConfig::Save
設定を設定ファイルに保存します。
[ public ]
SFCError Save(
    SFXPathConstRef path   // 保存するファイル名
);
[ public ]
SFCError Save(Void);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 保存ファイルのパスが不正なとき、またはロードしたファイルの内容が不正なとき : SFERR_INVALID_PARAM
  • ファイルが既に開いているとき : SFERR_INVALID_STATE
  • メモリ不足のとき : SFERR_NO_MEMORY
  • 失敗したとき : SFERR_FAILED
  • その他のエラーのとき : AEEError.h で定義されているエラー値

解説

ファイル名 (パス) を指定しない場合は、SFXConfig::Load 関数で読み込んだファイル名を使います。

設定ファイルの内容と SFXConfig インスタンスの内容が異なる場合に限り、設定ファイルとして保存します。それ以外の場合は、保存しません。

使用例

SFXConfig   config;

// 設定ファイルをロードする
config.Load(SFXPath("config.cfg"));

// Bool 型の値を書き込む
config.WriteBool(100, true);
config.WriteBool(101, false);

// アプリの各種設定を、
// 設定ファイルとして保存する
config.Save();

参照

SFXConfig::Load


SFXConfig::WriteBinary
指定したタグを含むエントリの値に、バイナリデータを書き込みます。
[ public ]
SFCError WriteBinary(
    UInt16 tag           // タグ
    VoidConstPtr value   // バイナリデータを指すポインター
    UInt16 length        // バイナリデータの長さ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が不正であるとき : SFERR_INVALID_PARAM
  • メモリ不足のとき : SFERR_NO_MEMORY
  • 失敗したとき : SFERR_FAILED

解説

指定したタグを含むエントリが SFXConfig インスタンス中に存在する場合は、 そのエントリの値に value で指定したデータを length 分書き込みます。

指定したタグを含むエントリが SFXConfig インスタンス中に存在しない場合は、 新規にエントリを作成し、そのエントリの値に value で指定したデータを length 分書き込みます。

使用例

SFXConfig   config;
AChar       moji[] = {"abcdefghijk"};

// 設定ファイルをロードする
config.Load("config.cfg");

// バイナリデータを書き込む
config.WriteBinary(100, SFXHelper::strlen(moji), (VoidConstPtr)moji);

参照

SFXConfig::ReadBinary


SFXConfig::WriteBool
指定したタグを含むエントリの値に、Bool 型の値を書き込みます。
[ public ]
SFCError WriteBool(
    UInt16 tag   // タグ
    Bool value   // 値
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が不正であるとき : SFERR_INVALID_PARAM
  • メモリ不足のとき : SFERR_NO_MEMORY
  • 失敗したとき : SFERR_FAILED

解説

指定したタグを含むエントリが SFXConfig インスタンス中に存在する場合は、 そのエントリの値に Bool 型の値を書き込みます。

また、指定したタグを含むエントリが SFXConfig インスタンス中に存在しない場合は、 新規にエントリを作成し、そのエントリの値に Bool 型の値を書き込みます。

エントリの値に書き込んだ Bool 型の値を読み込む場合は、 SFXConfig::ReadBool 関数を使います。

使用例

SFXConfig   config;

// 設定ファイルをロードする
config.Load("config.cfg");

// Bool 型の値を書き込む
config.WriteBool(100, true);
config.WriteBool(101, false);

参照

SFXConfig::ReadBool


SFXConfig::WriteFloat32
指定したタグを含むエントリの値に、Float32 型の値を書き込みます。
[ public ]
SFCError WriteFloat32(
    UInt16 tag      // タグ
    Float32 value   // 値
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が不正であるとき : SFERR_INVALID_PARAM
  • メモリ不足のとき : SFERR_NO_MEMORY
  • 失敗したとき : SFERR_FAILED

解説

指定したタグを含むエントリが SFXConfig インスタンス中に存在する場合は、 そのエントリの値に Float32 型の値を書き込みます。

また、指定したタグを含むエントリが SFXConfig インスタンス中に存在しない場合は、 新規にエントリを作成し、そのエントリの値に Float32 型の値を書き込みます。

エントリの値に書き込んだ Float32 型の値を読み込む場合は、 SFXConfig::ReadFloat32 関数を使います。

参照

SFXConfig::ReadFloat32


SFXConfig::WriteFloat64
指定したタグを含むエントリの値に、Float64 型の値 (浮動小数点値) を書き込みます。
[ public ]
SFCError WriteFloat64(
    UInt16 tag      // タグ
    Float64 value   // 値
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が不正であるとき : SFERR_INVALID_PARAM
  • メモリ不足のとき : SFERR_NO_MEMORY
  • 失敗したとき : SFERR_FAILED

解説

指定したタグを含むエントリが SFXConfig インスタンス中に存在する場合は、 そのエントリの値に Float64 型の値を書き込みます。

また、指定したタグを含むエントリが SFXConfig インスタンス中に存在しない場合は、 新規にエントリを作成し、そのエントリの値に Float64 型の値を書き込みます。

エントリの値に書き込んだ Float64 型の値を読み込む場合は、 SFXConfig::ReadFloat64 関数を使います。

使用例

SFXConfig   config;
Float64   float64_1(0.12345), float64_2(0.000000), float64_3(-1.234);

// 設定ファイルをロードする
config.Load("config.cfg");

// Float64 型の値を書き込む
config.WriteFloat64(100, float64_1);
config.WriteFloat64(101, float64_2);
config.WriteFloat64(102, float64_3);

参照

SFXConfig::ReadFloat64


SFXConfig::WriteSFXAnsiString
指定したタグを含むエントリの値に、AChar 型の文字列を書き込みます。
[ public ]
SFCError WriteSFXAnsiString(
    UInt16 tag                    // タグ
    SFXAnsiStringConstRef value   // 文字列
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が不正であるとき、または文字列のサイズが UINT16_MAXIMUM より大きいとき : SFERR_INVALID_PARAM
  • メモリ不足のとき : SFERR_NO_MEMORY
  • 失敗したとき : SFERR_FAILED

解説

指定したタグを含むエントリが SFXConfig インスタンス中に存在する場合は、 そのエントリの値に AChar 型の文字列を書き込みます。

また、SFXConfig インスタンス中に指定したタグを含むエントリが存在しない場合は、 新規にエントリを作成し、そのエントリの値に AChar 型の文字列を書き込みます。

string が空文字列 (ヌル文字列) を返す場合は、ヌル文字をエントリの値に書き込みます。

エントリの値に書き込んだ AChar 型の文字列を読み込む場合は、 SFXConfig::ReadSFXAnsiString 関数を使います。

使用例

SFXConfig   config;

// 設定ファイルをロードする
config.Load("config.cfg");

// AChar 型の文字列を書き込む
config.WriteSFXAnsiString(100, "Config");
config.WriteSFXAnsiString(101, "Sample");
config.WriteSFXAnsiString(102, "SophiaFramework");

参照

SFXConfig::ReadSFXAnsiString


SFXConfig::WriteSFXBuffer
指定したタグを含むエントリの値に、SFXBuffer 型のデータを書き込みます。
[ public ]
SFCError WriteSFXBuffer(
    UInt16 tag                // タグ
    SFXBufferConstRef value   // SFXBuffer 型のデータ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が不正であるとき、または SFXBuffer 型のデータ サイズが UINT16_MAXIMUM より大きいとき : SFERR_INVALID_PARAM
  • メモリ不足のとき : SFERR_NO_MEMORY
  • 失敗したとき : SFERR_FAILED

解説

指定したタグを含むエントリが SFXConfig インスタンス中に存在する場合は、 そのエントリの値に SFXBuffer 型のデータを書き込みます。

また、SFXConfig インスタンス中に指定したタグを含むエントリが存在しない場合は、 新規にエントリを作成し、そのエントリの値に SFXBuffer 型のデータを書き込みます。

エントリの値に書き込んだ SFXBuffer 型のデータを読み込む場合は、 SFXConfig::ReadSFXBuffer 関数を使います。

参照

SFXConfig::ReadSFXBuffer


SFXConfig::WriteSFXWideString
指定したタグを含むエントリの値に、WChar 型の文字列を書き込みます。
[ public ]
SFCError WriteSFXWideString(
    UInt16 tag                    // タグ
    SFXWideStringConstRef value   // 文字列
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が不正であるとき、または文字列のサイズが UINT16_MAXIMUM より大きいとき : SFERR_INVALID_PARAM
  • メモリ不足のとき : SFERR_NO_MEMORY
  • 失敗したとき : SFERR_FAILED

解説

指定したタグを含むエントリが SFXConfig インスタンス中に存在する場合は、 そのエントリの値に WChar 型の文字列を書き込みます。

また、指定したタグを含むエントリが SFXConfig インスタンス中に存在しない場合は、 新規にエントリを作成し、そのエントリの値に WChar 型の文字列を書き込みます。

value が空文字列 (ヌル文字列) の場合は、ヌル文字をエントリの値に書き込みます。

エントリの値に書き込んだ WChar 型の文字列を読み込む場合は、 SFXConfig::ReadSFXWideString 関数を使います。

使用例

SFXConfig   config;

// 設定ファイルをロードする
config.Load("config.cfg");

// WChar* 型の文字列を書き込む
config.WriteWideString(100, "Config");
config.WriteWideString(101, "Sample");
config.WriteWideString(102, "SophiaFramework");

参照

SFXConfig::ReadSFXWideString


SFXConfig::WriteSInt08
指定したタグを含むエントリの値に、SInt08 型の値を書き込みます。
[ public ]
SFCError WriteSInt08(
    UInt16 tag     // タグ
    SInt08 value   // 値
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が不正であるとき : SFERR_INVALID_PARAM
  • メモリ不足のとき : SFERR_NO_MEMORY
  • 失敗したとき : SFERR_FAILED

解説

指定したタグを含むエントリが SFXConfig インスタンス中に存在する場合は、 そのエントリの値に SInt08 型の値を書き込みます。

また、指定したタグを含むエントリが SFXConfig インスタンス中に存在しない場合は、 新規にエントリを作成し、そのエントリの値に SInt08 型の値を書き込みます。

エントリの値に書き込んだ SInt08 型の値を読み込む場合は、 SFXConfig::ReadSInt08 関数を使います。

参照

SFXConfig::ReadSInt08


SFXConfig::WriteSInt16
指定したタグを含むエントリの値に、SInt16 型の値を書き込みます。
[ public ]
SFCError WriteSInt16(
    UInt16 tag     // タグ
    SInt16 value   // 値
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が不正であるとき : SFERR_INVALID_PARAM
  • メモリ不足のとき : SFERR_NO_MEMORY
  • 失敗したとき : SFERR_FAILED

解説

指定したタグを含むエントリが SFXConfig インスタンス中に存在する場合は、 そのエントリの値に SInt16 型の値を書き込みます。

また、指定したタグを含むエントリが SFXConfig インスタンス中に存在しない場合は、 新規にエントリを作成し、そのエントリの値に SInt16 型の値を書き込みます。

エントリの値に書き込んだ SInt16 型の値を読み込む場合は、 SFXConfig::ReadSInt16 関数を使います。

参照

SFXConfig::ReadSInt16


SFXConfig::WriteSInt32
指定したタグを含むエントリの値に、SInt32 型の値を書き込みます。
[ public ]
SFCError WriteSInt32(
    UInt16 tag     // タグ
    SInt32 value   // 値
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が不正であるとき : SFERR_INVALID_PARAM
  • メモリ不足のとき : SFERR_NO_MEMORY
  • 失敗したとき : SFERR_FAILED

解説

指定したタグを含むエントリが SFXConfig インスタンス中に存在する場合は、 そのエントリの値に SInt32 型の値を書き込みます。

また、指定したタグを含むエントリが SFXConfig インスタンス中に存在しない場合は、 新規にエントリを作成し、そのエントリの値に SInt32 型の値を書き込みます。

エントリの値に書き込んだ SInt32 型の値を読み込む場合は、 SFXConfig::ReadSInt32 関数を使います。

使用例

SFXConfig   config;

// 設定ファイルをロードする
config.Load("config.cfg");

// SInt32 型の値を書き込む
config.WriteSInt32(100, 0x00000000);
config.WriteSInt32(101, 0x00005678);
config.WriteSInt32(102, 0xffffffff);

参照

SFXConfig::ReadSInt32


SFXConfig::WriteSInt64
指定したタグを含むエントリの値に、SInt64 型の値を書き込みます。
[ public ]
SFCError WriteSInt64(
    UInt16 tag     // タグ
    SInt64 value   // 値
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が不正であるとき : SFERR_INVALID_PARAM
  • メモリ不足のとき : SFERR_NO_MEMORY
  • 失敗したとき : SFERR_FAILED

解説

指定したタグを含むエントリが SFXConfig インスタンス中に存在する場合は、 そのエントリの値に SInt64 型の値を書き込みます。

また、指定したタグを含むエントリが SFXConfig インスタンス中に存在しない場合は、 新規にエントリを作成し、そのエントリの値に SInt64 型の値を書き込みます。

エントリの値に書き込んだ SInt64 型の値を読み込む場合は、 SFXConfig::ReadSInt64 関数を使います。

参照

SFXConfig::ReadSInt64


SFXConfig::WriteUInt08
指定したタグを含むエントリの値に、UInt08 型の値を書き込みます。
[ public ]
SFCError WriteUInt08(
    UInt16 tag     // タグ
    UInt08 value   // 値
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が不正であるとき : SFERR_INVALID_PARAM
  • メモリ不足のとき : SFERR_NO_MEMORY
  • 失敗したとき : SFERR_FAILED

解説

指定したタグを含むエントリが SFXConfig インスタンス中に存在する場合は、 そのエントリの値に UInt08 型の値を書き込みます。

また、指定したタグを含むエントリが SFXConfig インスタンス中に存在しない場合は、 新規にエントリを作成し、そのエントリの値に UInt08 型の値を書き込みます。

エントリの値に書き込んだ UInt08 型の値を読み込む場合は、 SFXConfig::ReadUInt08 関数を使います。

参照

SFXConfig::ReadUInt08


SFXConfig::WriteUInt16
指定したタグを含むエントリの値に、UInt16 型の値を書き込みます。
[ public ]
SFCError WriteUInt16(
    UInt16 tag     // タグ
    UInt16 value   // 値
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が不正であるとき : SFERR_INVALID_PARAM
  • メモリ不足のとき : SFERR_NO_MEMORY
  • 失敗したとき : SFERR_FAILED

解説

指定したタグを含むエントリが SFXConfig インスタンス中に存在する場合は、 そのエントリの値に UInt16 型の値を書き込みます。

また、指定したタグを含むエントリが SFXConfig インスタンス中に存在しない場合は、 新規にエントリを作成し、そのエントリの値に UInt16 型の値を書き込みます。

エントリの値に書き込んだ UInt16 型の値を読み込む場合は、 SFXConfig::ReadUInt16 関数を使います。

参照

SFXConfig::ReadUInt16


SFXConfig::WriteUInt32
指定したタグを含むエントリの値に、UInt32 型の値を書き込みます。
[ public ]
SFCError WriteUInt32(
    UInt16 tag     // タグ
    UInt32 value   // 値
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が不正であるとき : SFERR_INVALID_PARAM
  • メモリ不足のとき : SFERR_NO_MEMORY
  • 失敗したとき : SFERR_FAILED

解説

指定したタグを含むエントリが SFXConfig インスタンス中に存在する場合は、 そのエントリの値に UInt32 型の値を書き込みます。

また、指定したタグを含むエントリが SFXConfig インスタンス中に存在しない場合は、 新規にエントリを作成し、そのエントリの値に UInt32 型の値を書き込みます。

エントリの値に書き込んだ UInt32 型の値を読み込む場合は、 SFXConfig::ReadUInt32 関数を使います。

参照

SFXConfig::ReadUInt32


SFXConfig::WriteUInt64
指定したタグを含むエントリの値に、UInt64 型の値を書き込みます。
[ public ]
SFCError WriteUInt64(
    UInt16 tag     // タグ
    UInt64 value   // 値
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が不正であるとき : SFERR_INVALID_PARAM
  • メモリ不足のとき : SFERR_NO_MEMORY
  • 失敗したとき : SFERR_FAILED

解説

指定したタグを含むエントリが SFXConfig インスタンス中に存在する場合は、 そのエントリの値に UInt64 型の値を書き込みます。

また、指定したタグを含むエントリが SFXConfig インスタンス中に存在しない場合は、 新規にエントリを作成し、そのエントリの値に UInt64 型の値を書き込みます。

エントリの値に書き込んだ UInt64 型の値を読み込む場合は、 SFXConfig::ReadUInt64 関数を使います。

参照

SFXConfig::ReadUInt64