[前へ]
[目次へ]
[次へ]
PIniEx (ネイティブクラス)
このクラスはテキストデータベースを扱うクラスです。
このクラスの内容は
ini
ファイルを拡張した形式の
テキストファイルとして保存したり、読み出したりすることができます。
●継承
このクラスは継承をしていません。
●インターフェイスとインターフェイスメソッド
このクラスはインターフェイスの実装宣言をしていません。
●クラスメソッド
このクラスはクラスメソッドを持っていません。
●クラスメンバメソッド
名前
概要
GetActiveSection
アクティブセクションを取得します
SetActiveSection
アクティブセクションを設定します
CreateSection
サブセクションを作成します
DeleteSection
サブセクションを削除します
RenameSection
サブセクションの名前を変更します
Clear
全てのセクションと要素を削除します
IniRead
ファイルからデータベース全体を読み込みます
IniReadStr
文字列からデータベース全体を読み込みます
JSONReadStr
文字列からデータベース全体を読み込みます
IniWrite
ファイルにデータベース全体を保存します
IniWriteStr
文字列にデータベース全体を保存します
Exists
指定した要素が存在するか判定します
Delete
指定した要素を削除します
GetStr
指定した要素を文字列として取得します
SetStr
指定した要素に文字列を保存します
GetInt
指定した要素を整数として取得します
SetInt
指定した要素に整数を保存します
GetFloat
指定した要素を小数として取得します
SetFloat
指定した要素に小数を保存します
GetBool
指定した要素を真偽値として取得します
SetBool
指定した要素に真偽値を保存します
GetArray
指定した要素群を文字列配列として取得します
SetArray
指定した要素群に文字列配列を保存します
GetBinary
指定した要素をバイナリデータとして取得します
SetBinary
指定した要素にバイナリデータを保存します
GetKeyValues
アクティブセクションの要素名と値を一括取得します
SetKeyValues
アクティブセクションの要素名と値を一括保存します
GetActiveDataList
アクティブセクションの要素名リストを取得します
GetActiveSectionList
アクティブセクションのサブセクションリストを取得します
●クラス共有変数
このクラスはクラス共有変数を持っていません。
●インスタンス変数
このクラスはインスタンス変数を持っていません。
●C++レベル追加情報
クラスID:
FGES_CLASSID_PINIEX
クラス名:
FGESPIniEx
PIniEx::GetActiveSection
public
String
GetActiveSection()const
現在のアクティブセクションのパスを返します。
戻り値:現在のアクティブセクションのパス
先頭へ
PIniEx::SetActiveSection
public
Bool
SetActiveSection(
IString
sectionname)
アクティブセクションを設定します。
セクション名は
/
区切りでパス指定でき、先頭が
/
の場合はルートセクションから、
それ以外の場合は現在のアクティブセクションを基点とします。
また、
..
をセクション名として使用することで一段遡ることができます。
このメソッドは最初に
sectionname
から
INativeString
による取得を試みます。
これに失敗した場合、
sectionname.Get
を呼び出します。
戻り値:設定できた場合、真を返します。
IString
sectionname
:設定するセクションパス
先頭へ
PIniEx::CreateSection
public
Bool
CreateSection(
IString
sectionname)
アクティブセクションに指定した名前のサブセクションを作ります。
セクション名には
/.
の文字は使えません。
指定した名前のサブセクションが既に存在する場合は何もせず真を返します。
このメソッドは最初に
sectionname
から
INativeString
による取得を試みます。
これに失敗した場合、
sectionname.Get
を呼び出します。
戻り値:処理後、指定したサブセクションが利用可能である場合、真を返します。
IString
sectionname
:作成するセクション名
先頭へ
PIniEx::DeleteSection
public
Bool
DeleteSection(
IString
sectionname)
アクティブセクションの指定した名前のサブセクションを削除します。
指定した名前のサブセクションがさらにサブセクションを持つ場合同時に削除されます。
指定した名前のサブセクションが存在しない場合は何もせず偽を返します。
このメソッドは最初に
sectionname
から
INativeString
による取得を試みます。
これに失敗した場合、
sectionname.Get
を呼び出します。
戻り値:この呼び出しでセクションを削除した場合、真を返します。
IString
sectionname
:削除するセクション名
先頭へ
PIniEx::RenameSection
public
Bool
RenameSection(
IString
oldsectionname,
IString
newsectionname)
アクティブセクションの指定した名前のサブセクションの名前を変更します。
新しい名前が既に存在する場合は失敗します。
このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
これに失敗した場合、各インターフェイスの
Get
を呼び出します。
戻り値:この呼び出しでサブセクションの名前を変更した場合、真を返します。
IString
oldsectionname
:名前変更するセクション名
IString
newsectionname
:新しいセクション名
先頭へ
PIniEx::Clear
public void Clear()
このデータベース内の全てのセクションと要素を削除します。
その後、ルートセクションが再生成され、アクティブセクションがルートセクションに設定されます。
先頭へ
PIniEx::IniRead
public
Bool
IniRead(
IString
filename)
このデータベースに
filename
で指定したファイルをロードします。
このメソッドを呼び出すと既存のデータベースは破棄され、新しく作り直されます。
このメソッドが失敗した場合、データベースの内容は失われます。
このメソッドは最初に
filename
から
INativeString
による取得を試みます。
これに失敗した場合、
filename.Get
を呼び出します。
FGES VM
が
Protected Mode
で動作している場合、ファイル名にパスは使用できません。
戻り値:ファイルからのロードに成功した場合、真を返します。
IString
filename
:ロードするファイル名
先頭へ
PIniEx::IniReadStr
public
Bool
IniReadStr(
IString
data)
このデータベースに
data
で指定したデータベース文字列をロードします。
このメソッドを呼び出すと既存のデータベースは破棄され、新しく作り直されます。
このメソッドが失敗した場合、データベースの内容は失われます。
データベース文字列は
IniWriteStr
で得られるもので、ファイルに保存する形式と同じです。
このメソッドは最初に
data
から
INativeString
による取得を試みます。
これに失敗した場合、
data.Get
を呼び出します。
戻り値:データベース文字列からのロードに成功した場合、真を返します。
IString
data
:ロードするデータベース文字列
先頭へ
PIniEx::JSONReadStr
public
Bool
JSONReadStr(
IString
data)
このデータベースに
data
で指定したデータベース文字列をロードします。
このメソッドを呼び出すと既存のデータベースは破棄され、新しく作り直されます。
このメソッドが失敗した場合、データベースの内容は失われます。
このメソッドはデータベース文字列がJSON形式で記述されているものとして、
このテキストデータベースで扱える形式に変換した上でロードします。
この時、JSONの記述に存在する型情報は失われ、全て文字列化されます。
また、このテキストデータベースが取り扱うことのできない名前を含む場合、失敗します。
以上の理由により、JSON形式への可逆の書き出しを行うことはできません。
このメソッドは最初に
data
から
INativeString
による取得を試みます。
これに失敗した場合、
data.Get
を呼び出します。
戻り値:データベース文字列からのロードに成功した場合、真を返します。
IString
data
:ロードするデータベース文字列
先頭へ
PIniEx::IniWrite
public
Bool
IniWrite(
IString
filename)const
このデータベースを
filename
で指定したファイルに保存します。
指定したファイルが既に存在する場合上書きされます。
このメソッドは最初に
filename
から
INativeString
による取得を試みます。
これに失敗した場合、
filename.Get
を呼び出します。
FGES VM
が
Protected Mode
で動作している場合、ファイル名にパスは使用できません。
戻り値:ファイルへの保存に成功した場合、真を返します。
IString
filename
:保存するファイル名
先頭へ
PIniEx::IniWriteStr
public
Bool
IniWriteStr(editable
INativeString
out,
INativeBool
? minimize=NULL)const
このデータベースを
out
にデータベース文字列をして出力します。
データベース文字列はデータベース全体の情報をまとめた文字列データで、
ファイルに保存するのと同じ形式です。
戻り値:データベース文字列の生成に成功した場合、真を返します。
editable
INativeString
out
:[出力]データベース文字列を出力するオブジェクト
INativeBool
? minimize=NULL
:真を指定すると読みやすさのための整形を省略します。
空参照を指定した場合は真を指定したものとして扱います。
先頭へ
PIniEx::Exists
public
Bool
Exists(
IString
key)const
このデータベースに
key
で指定した要素があるか判定します。
このメソッドは最初に
key
から
INativeString
による取得を試みます。
これに失敗した場合、
key.Get
を呼び出します。
要素名は
/
区切りでパス指定でき、先頭が
/
の場合はルートセクションから、
それ以外の場合は現在のアクティブセクションを基点とします。
また、
..
をセクション名として使用することで一段遡ることができます。
戻り値:指定した要素がある場合、真を返します。
IString
key
:判定する要素のパス
先頭へ
PIniEx::Delete
public
Bool
Delete(
IString
key)
このデータベースにある
key
で指定した要素を削除します。
このメソッドは最初に
key
から
INativeString
による取得を試みます。
これに失敗した場合、
key.Get
を呼び出します。
要素名は
/
区切りでパス指定でき、先頭が
/
の場合はルートセクションから、
それ以外の場合は現在のアクティブセクションを基点とします。
また、
..
をセクション名として使用することで一段遡ることができます。
戻り値:指定した要素を削除した場合、真を返します。
IString
key
:削除する要素のパス
先頭へ
PIniEx::GetStr
public
String
GetStr(
IString
key,
INativeString
? def=NULL)const
このデータベースの
key
で指定した要素を返します。
このメソッドは最初に
key
から
INativeString
による取得を試みます。
これに失敗した場合、
key.Get
を呼び出します。
要素名は
/
区切りでパス指定でき、先頭が
/
の場合はルートセクションから、
それ以外の場合は現在のアクティブセクションを基点とします。
また、
..
をセクション名として使用することで一段遡ることができます。
このメソッドは指定した要素が存在しない場合、
def
の文字列を返します。
この時、
def
が空参照の場合、空文字列が指定されているものとみなします。
ただし、存在しないセクションを指定した場合は例外となります。
指定するセクションが存在する保証がない場合、事前に
CreateSection
で作成するべきです。
戻り値:指定した要素か、
def
のコピーを返します。
IString
key
:取得する要素のパス
INativeString
? def=NULL
:指定した要素が存在しない場合のデフォルト
先頭へ
PIniEx::SetStr
public void SetStr(
IString
key,
IString
val,
INativeString
? deletevalue=NULL)
このデータベースの
key
で指定した要素に
val
を設定します。
このメソッドは最初に各引数から
INativeString
による取得を試みます。
これに失敗した場合、
IString@@Get
を呼び出します。
要素名は
/
区切りでパス指定でき、先頭が
/
の場合はルートセクションから、
それ以外の場合は現在のアクティブセクションを基点とします。
また、
..
をセクション名として使用することで一段遡ることができます。
このメソッドは指定した要素が存在しない場合、要素を追加してから設定します。
ただし、存在しないセクションを指定した場合は例外となります。
指定するセクションが存在する保証がない場合、事前に
CreateSection
で作成するべきです。
deletevalue
が空参照ではない場合で、
val==deletevalue
の場合は要素を削除します。
IString
key
:設定する要素のパス
IString
val
:設定する文字列
INativeString
? deletevalue=NULL
:要素を削除する条件文字列。
空参照を指定した場合は無視します。
先頭へ
PIniEx::GetInt
public
Integer
GetInt(
IString
key,
INativeInteger
? def=NULL)const
このデータベースの
key
で指定した要素を整数化して返します。
このメソッドは最初に
key
から
INativeString
による取得を試みます。
これに失敗した場合、
key.Get
を呼び出します。
要素名は
/
区切りでパス指定でき、先頭が
/
の場合はルートセクションから、
それ以外の場合は現在のアクティブセクションを基点とします。
また、
..
をセクション名として使用することで一段遡ることができます。
このメソッドは指定した要素が存在しない場合、
def
の値を返します。
この時、
def
が空参照の場合、0が指定されているものとみなします。
ただし、存在しないセクションを指定した場合は例外となります。
指定するセクションが存在する保証がない場合、事前に
CreateSection
で作成するべきです。
戻り値:指定した要素を整数化したものか、
def
のコピーを返します。
IString
key
:取得する要素のパス
INativeInteger
? def=NULL
:指定した要素が存在しない場合のデフォルト
先頭へ
PIniEx::SetInt
public void SetInt(
IString
key,
IInteger
val,
INativeInteger
? deletevalue=NULL)
このデータベースの
key
で指定した要素に
val
を文字列化して設定します。
このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
これに失敗した場合、各インターフェイスの
Get
を呼び出します。
要素名は
/
区切りでパス指定でき、先頭が
/
の場合はルートセクションから、
それ以外の場合は現在のアクティブセクションを基点とします。
また、
..
をセクション名として使用することで一段遡ることができます。
このメソッドは指定した要素が存在しない場合、要素を追加してから設定します。
ただし、存在しないセクションを指定した場合は例外となります。
指定するセクションが存在する保証がない場合、事前に
CreateSection
で作成するべきです。
deletevalue
が空参照ではない場合で、
val==deletevalue
の場合は要素を削除します。
IString
key
:設定する要素のパス
IInteger
val
:設定する値
INativeInteger
? deletevalue=NULL
:要素を削除する条件値。
空参照を指定した場合は無視します。
先頭へ
PIniEx::GetFloat
public
Float
GetFloat(
IString
key,
INativeFloat
? def=NULL)const
このデータベースの
key
で指定した要素を浮動小数化して返します。
このメソッドは最初に
key
から
INativeString
による取得を試みます。
これに失敗した場合、
key.Get
を呼び出します。
要素名は
/
区切りでパス指定でき、先頭が
/
の場合はルートセクションから、
それ以外の場合は現在のアクティブセクションを基点とします。
また、
..
をセクション名として使用することで一段遡ることができます。
このメソッドは指定した要素が存在しない場合、
def
の値を返します。
この時、
def
が空参照の場合、0.0が指定されているものとみなします。
ただし、存在しないセクションを指定した場合は例外となります。
指定するセクションが存在する保証がない場合、事前に
CreateSection
で作成するべきです。
戻り値:指定した要素を浮動小数化したものか、
def
のコピーを返します。
IString
key
:取得する要素のパス
INativeFloat
? def=NULL
:指定した要素が存在しない場合のデフォルト
先頭へ
PIniEx::SetFloat
public void SetFloat(
IString
key,
IFloat
val,
INativeFloat
? deletevalue=NULL)
このデータベースの
key
で指定した要素に
val
を文字列化して設定します。
このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
これに失敗した場合、各インターフェイスの
Get
を呼び出します。
要素名は
/
区切りでパス指定でき、先頭が
/
の場合はルートセクションから、
それ以外の場合は現在のアクティブセクションを基点とします。
また、
..
をセクション名として使用することで一段遡ることができます。
このメソッドは指定した要素が存在しない場合、要素を追加してから設定します。
ただし、存在しないセクションを指定した場合は例外となります。
指定するセクションが存在する保証がない場合、事前に
CreateSection
で作成するべきです。
deletevalue
が空参照ではない場合で、
val==deletevalue
の場合は要素を削除します。
IString
key
:設定する要素のパス
IFloat
val
:設定する値
INativeFloat
? deletevalue=NULL
:要素を削除する条件値。
空参照を指定した場合は無視します。
先頭へ
PIniEx::GetBool
public
Bool
GetBool(
IString
key,
INativeBool
? def=NULL)const
このデータベースの
key
で指定した要素を真偽値化して返します。
このメソッドは最初に
key
から
INativeString
による取得を試みます。
これに失敗した場合、
key.Get
を呼び出します。
要素名は
/
区切りでパス指定でき、先頭が
/
の場合はルートセクションから、
それ以外の場合は現在のアクティブセクションを基点とします。
また、
..
をセクション名として使用することで一段遡ることができます。
このメソッドは指定した要素が存在しない場合、
def
の値を返します。
この時、
def
が空参照の場合、
false
が指定されているものとみなします。
ただし、存在しないセクションを指定した場合は例外となります。
指定するセクションが存在する保証がない場合、事前に
CreateSection
で作成するべきです。
戻り値:指定した要素を真偽値化したものか、
def
のコピーを返します。
IString
key
:取得する要素のパス
INativeBool
? def=NULL
:指定した要素が存在しない場合のデフォルト
先頭へ
PIniEx::SetBool
public void SetBool(
IString
key,
IBool
val,
INativeBool
? deletevalue=NULL)
このデータベースの
key
で指定した要素に
val
を文字列化して設定します。
このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
これに失敗した場合、各インターフェイスの
Get
を呼び出します。
要素名は
/
区切りでパス指定でき、先頭が
/
の場合はルートセクションから、
それ以外の場合は現在のアクティブセクションを基点とします。
また、
..
をセクション名として使用することで一段遡ることができます。
このメソッドは指定した要素が存在しない場合、要素を追加してから設定します。
ただし、存在しないセクションを指定した場合は例外となります。
指定するセクションが存在する保証がない場合、事前に
CreateSection
で作成するべきです。
deletevalue
が空参照ではない場合で、
val==deletevalue
の場合は要素を削除します。
IString
key
:設定する要素のパス
IBool
val
:設定する値
INativeBool
? deletevalue=NULL
:要素を削除する条件値。
空参照を指定した場合は無視します。
先頭へ
PIniEx::GetArray
public void GetArray(
IString
key,editable
PStringArray
out)const
このデータベース内で
key
の文字列の後に
[数値]
を付与した要素群を一つの配列として一斉に取得します。
このメソッドは最初に
key
から
INativeString
による取得を試みます。
これに失敗した場合、
key.Get
を呼び出します。
要素名は
/
区切りでパス指定でき、先頭が
/
の場合はルートセクションから、
それ以外の場合は現在のアクティブセクションを基点とします。
また、
..
をセクション名として使用することで一段遡ることができます。
存在しないセクションを指定した場合は例外となります。
指定するセクションが存在する保証がない場合、事前に
CreateSection
で作成するべきです。
IString
key
:取得する要素のパス
editable
PStringArray
out
:[出力]指定した要素群を出力するオブジェクト
先頭へ
PIniEx::SetArray
public void SetArray(
IString
key,
PStringArray
val)
このデータベース内で
key
の文字列の後に
[数値]
を付与した要素群として配列を一斉に設定します。
このメソッドは最初に
key
から
INativeString
による取得を試みます。
これに失敗した場合、
key.Get
を呼び出します。
要素名は
/
区切りでパス指定でき、先頭が
/
の場合はルートセクションから、
それ以外の場合は現在のアクティブセクションを基点とします。
また、
..
をセクション名として使用することで一段遡ることができます。
このメソッドは指定した要素が存在しない場合、要素を追加してから設定します。
ただし、存在しないセクションを指定した場合は例外となります。
指定するセクションが存在する保証がない場合、事前に
CreateSection
で作成するべきです。
IString
key
:設定する要素のパス
PStringArray
val
:設定する配列
先頭へ
PIniEx::GetBinary
public
Bool
GetBinary(
IString
key,editable
Binary
out)const
このデータベースの
key
で指定した要素をバイナリデータ化して返します。
このメソッドは最初に
key
から
INativeString
による取得を試みます。
これに失敗した場合、
key.Get
を呼び出します。
要素名は
/
区切りでパス指定でき、先頭が
/
の場合はルートセクションから、
それ以外の場合は現在のアクティブセクションを基点とします。
また、
..
をセクション名として使用することで一段遡ることができます。
このメソッドは指定した要素が存在しない場合、偽を返します。
ただし、存在しないセクションを指定した場合は例外となります。
指定するセクションが存在する保証がない場合、事前に
CreateSection
で作成するべきです。
また、指定した要素を
BinTxt
エンコード文字列として解釈できない場合も例外となります。
戻り値:処理に成功した場合、真を返します。
IString
key
:取得する要素のパス
editable
Binary
out
:[出力]指定した要素を出力するオブジェクト
先頭へ
PIniEx::SetBinary
public void SetBinary(
IString
key,
Binary
val)
このデータベースの
key
で指定した要素に
val
を
BinTxt
エンコード文字列化して設定します。
このメソッドは最初に
key
から
INativeString
による取得を試みます。
これに失敗した場合、
key.Get
を呼び出します。
要素名は
/
区切りでパス指定でき、先頭が
/
の場合はルートセクションから、
それ以外の場合は現在のアクティブセクションを基点とします。
また、
..
をセクション名として使用することで一段遡ることができます。
このメソッドは指定した要素が存在しない場合、要素を追加してから設定します。
ただし、存在しないセクションを指定した場合は例外となります。
指定するセクションが存在する保証がない場合、事前に
CreateSection
で作成するべきです。
IString
key
:設定する要素のパス
Binary
val
:設定するオブジェクト
先頭へ
PIniEx::GetKeyValues
public
Bool
GetKeyValues(editable
PStringMap
out)const
このデータベースのアクティブセクションの全要素を一括して文字列マップに取得します。
戻り値:処理に成功した場合、真を返します。
editable
PStringMap
out
:[出力]要素を出力するマップオブジェクト
先頭へ
PIniEx::SetKeyValues
public
Bool
SetKeyValues(
PStringMap
map)
このデータベースのアクティブセクションを指定した文字列マップで上書きします。
戻り値:処理に成功した場合、真を返します。
PStringMap
map
:設定するマップオブジェクト
先頭へ
PIniEx::GetActiveDataList
public
Bool
GetActiveDataList(editable
PStringArray
out)const
このデータベースのアクティブセクションに存在する要素名のリストを取得します。
取得される要素名のリストは内部格納順です。必要な場合はソートしてください。
戻り値:取得に成功した場合、真を返します。
editable
PStringArray
out
:[出力]要素名リストを出力するオブジェクト
先頭へ
PIniEx::GetActiveSectionList
public
Bool
GetActiveSectionList(editable
PStringArray
out)const
このデータベースのアクティブセクションに存在するサブセクションのリストを取得します。
取得されるサブセクションのリストは内部格納順です。必要な場合はソートしてください。
このメソッドはサブセクションがさらにサブセクションを持っていても列挙しません。
階層構造を読み取るためにはサブセクションに対して再帰的にこのメソッドを使用する必要があります。
戻り値:取得に成功した場合、真を返します。
editable
PStringArray
out
:[出力]サブセクションリストを出力するオブジェクト
先頭へ
[前へ]
[目次へ]
[次へ]
最終更新 2022/05/28