[前へ] [目次へ] [次へ]

PIniEx (ネイティブクラス)


このクラスはテキストデータベースを扱うクラスです。

このクラスの内容は ini ファイルを拡張した形式の
テキストファイルとして保存したり、読み出したりすることができます。

●継承

   このクラスは継承をしていません。

●インターフェイスとインターフェイスメソッド

   このクラスはインターフェイスの実装宣言をしていません。

●クラスメソッド

   このクラスはクラスメソッドを持っていません。

●クラスメンバメソッド

名前概要
public取得メソッドconst GetActiveSectionアクティブセクションを取得します
public設定メソッド SetActiveSectionアクティブセクションを設定します
public操作メソッド CreateSectionサブセクションを作成します
public操作メソッド DeleteSectionサブセクションを削除します
public操作メソッド RenameSectionサブセクションの名前を変更します
public操作メソッド Clear全てのセクションと要素を削除します
public操作メソッド IniReadファイルからデータベース全体を読み込みます
public操作メソッド IniReadStr文字列からデータベース全体を読み込みます
public操作メソッド JSONReadStr文字列からデータベース全体を読み込みます
public操作メソッドconst IniWriteファイルにデータベース全体を保存します
public操作メソッドconst IniWriteStr文字列にデータベース全体を保存します
public比較・判定メソッドconst Exists指定した要素が存在するか判定します
public操作メソッド Delete指定した要素を削除します
public取得メソッドconst GetStr指定した要素を文字列として取得します
public設定メソッド SetStr指定した要素に文字列を保存します
public取得メソッドconst GetInt指定した要素を整数として取得します
public設定メソッド SetInt指定した要素に整数を保存します
public取得メソッドconst GetFloat指定した要素を小数として取得します
public設定メソッド SetFloat指定した要素に小数を保存します
public取得メソッドconst GetBool指定した要素を真偽値として取得します
public設定メソッド SetBool指定した要素に真偽値を保存します
public取得メソッドconst GetArray指定した要素群を文字列配列として取得します
public設定メソッド SetArray指定した要素群に文字列配列を保存します
public取得メソッドconst GetBinary指定した要素をバイナリデータとして取得します
public設定メソッド SetBinary指定した要素にバイナリデータを保存します
public取得メソッドconst GetKeyValuesアクティブセクションの要素名と値を一括取得します
public設定メソッド SetKeyValuesアクティブセクションの要素名と値を一括保存します
public取得メソッドconst GetActiveDataListアクティブセクションの要素名リストを取得します
public取得メソッドconst 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