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

Binary (ネイティブクラス)


このクラスはメモリ領域をバイナリデータとして扱うクラスです。

解説中のLEはリトルエンディアン、BEはビッグエンディアンを意味します。

●継承

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

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

   values IBinary
          Get
          Set


   implements INativeBinary
          (ネイティブインターフェイス)IFGESObject::GetBinary
          (ネイティブインターフェイス)IFGESObject::SetBinary


●クラスメソッド

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

●クラスメンバメソッド

名前概要
public設定メソッド #Value値化メソッド
public操作メソッド Allocメモリ領域を確保します
public操作メソッド Freeメモリ領域を解放します
public操作メソッド Expandメモリ領域を拡張します
public取得メソッドconst GetSize確保しているメモリ領域のサイズを取得します
public取得メソッドconst GetByte符号なし1バイトデータを取得します
public設定メソッド SetByte符号なし1バイトデータを設定します
public取得メソッドconst GetWORD符号なしLE2バイトデータを取得します
public設定メソッド SetWORD符号なしLE2バイトデータを設定します
public取得メソッドconst GetDWORD符号なしLE4バイトデータを取得します
public設定メソッド SetDWORD符号なしLE4バイトデータを設定します
public取得メソッドconst GetQWORD符号なしLE8バイトデータを取得します
public設定メソッド SetQWORD符号なしLE8バイトデータを設定します
public取得メソッドconst GetIntLE16符号ありLE2バイトデータを取得します
public設定メソッド SetIntLE16符号ありLE2バイトデータを設定します
public取得メソッドconst GetIntLE32符号ありLE4バイトデータを取得します
public設定メソッド SetIntLE32符号ありLE4バイトデータを設定します
public取得メソッドconst GetIntLE64符号ありLE8バイトデータを取得します
public設定メソッド SetIntLE64符号ありLE8バイトデータを設定します
public取得メソッドconst GetIntBE16符号ありBE2バイトデータを取得します
public設定メソッド SetIntBE16符号ありBE2バイトデータを設定します
public取得メソッドconst GetIntBE32符号ありBE4バイトデータを取得します
public設定メソッド SetIntBE32符号ありBE4バイトデータを設定します
public取得メソッドconst GetIntBE64符号ありBE8バイトデータを取得します
public設定メソッド SetIntBE64符号ありBE8バイトデータを設定します
public取得メソッドconst GetFloat浮動小数データを取得します
public設定メソッド SetFloat浮動小数データを設定します
public取得メソッドconst GetString文字列データを取得します
public設定メソッド SetString文字列データを設定します
public取得メソッドconst GetByteArray符号なし1バイトデータ配列を取得します
public設定メソッド SetByteArray符号なし1バイトデータ配列を設定します
public取得メソッドconst GetWORDArray符号なしLE2バイトデータ配列を取得します
public設定メソッド SetWORDArray符号なしLE2バイトデータ配列を設定します
public取得メソッドconst GetDWORDArray符号なしLE4バイトデータ配列を取得します
public設定メソッド SetDWORDArray符号なしLE4バイトデータ配列を設定します
public取得メソッドconst GetQWORDArray符号なしLE8バイトデータ配列を取得します
public設定メソッド SetQWORDArray符号なしLE8バイトデータ配列を設定します
public取得メソッドconst GetIntLE16Array符号ありLE2バイトデータ配列を取得します
public設定メソッド SetIntLE16Array符号ありLE2バイトデータ配列を設定します
public取得メソッドconst GetIntLE32Array符号ありLE4バイトデータ配列を取得します
public設定メソッド SetIntLE32Array符号ありLE4バイトデータ配列を設定します
public取得メソッドconst GetIntLE64Array符号ありLE8バイトデータ配列を取得します
public設定メソッド SetIntLE64Array符号ありLE8バイトデータ配列を設定します
public取得メソッドconst GetFloatArray浮動小数データ配列を取得します
public設定メソッド SetFloatArray浮動小数データ配列を設定します
public取得メソッドconst ExtractDataメモリブロックを取得します
public設定メソッド CopyDataメモリブロックを設定します
public操作メソッドconst GetHexStringメモリブロックを16進文字列化して取得します
public操作メソッド SetHexString16進文字列をバイナリ化して設定します
public操作メソッドconst ToFileこのオブジェクトをファイルとして保存します
public操作メソッド FromFileファイルをこのオブジェクトにコピーします
public操作メソッド FromFileWithSelectユーザ指定のファイルをこのオブジェクトにコピーします

●クラス共有変数

   このクラスはクラス共有変数を持っていません。

●インスタンス変数

   このクラスはインスタンス変数を持っていません。


●C++レベル追加情報

クラスID: FGES_CLASSID_BINARY
クラス名: FGESBinary



Binary::IBinary@@Get

void IBinary@@Get(editable IBinary v)const

   このオブジェクトが持つ値をバイナリ化して v に設定します。

   このメソッドは最初に v に対して INativeBinary による設定を試みます。
   これに失敗した場合、 v.Set を呼び出します。

editable IBinary v :値を受け取るオブジェクト

先頭へ


Binary::IBinary@@Set

void IBinary@@Set( IBinary v)

   このオブジェクトに v を設定します。

   このメソッドは最初に v から INativeBinary による取得を試みます。
   これに失敗した場合、 v.Get を呼び出します。

IBinary v :設定する値を持つオブジェクト

先頭へ


Binary::#Value

public #Value( IBinary v)

   このオブジェクトに v を設定します。

   このメソッドは最初に v から INativeBinary による取得を試みます。
   これに失敗した場合、 v.Get を呼び出します。

IBinary v :設定する値を持つオブジェクト

先頭へ


Binary::Alloc

public SelfType@ Alloc( IInteger size)

   このオブジェクトで使用するメモリを割り当てます。
   割り当てたメモリはこのオブジェクトが消滅する時に解放されます。
   また、既にメモリを割り当て済みの場合例外が発生します。
   
   このメソッドは最初に size から INativeInteger による取得を試みます。
   これに失敗した場合、 size.Get を呼び出します。

   メモリを再割り当てするには Free で解放してから呼び出します。
   割り当て済みのメモリ領域を拡張するには Expand を使います。

   メモリの確保に失敗した場合、例外が発生します。

戻り値: this を返します。

IInteger size :確保するバイト数。1GB未満である必要があります。

先頭へ


Binary::Free

public SelfType@ Free()

   このオブジェクトに割り当てているメモリを解放します。
   このオブジェクトにメモリを割り当てていない場合何も起こりません。

戻り値: this を返します。

先頭へ


Binary::Expand

public SelfType@ Expand( IInteger size)

   このオブジェクトで使用するメモリを拡張します。
   既にこのオブジェクトに割り当てられているメモリサイズよりも size が小さい場合、何も起こりません。
   このオブジェクトにメモリを割り当てていない場合、 Alloc と同じ動作をします。

   このメソッドは最初に size から INativeInteger による取得を試みます。
   これに失敗した場合、 size.Get を呼び出します。

   メモリの確保に失敗した場合、例外が発生します。

戻り値: this を返します。

IInteger size :確保するバイト数。1GB未満である必要があります。

先頭へ


Binary::GetSize

public Integer GetSize()const

   このオブジェクトに割り当てているメモリサイズを返します。

戻り値:現在このオブジェクトに割り当てられているメモリのバイト数を返します。

先頭へ


Binary::GetByte

public Integer GetByte( IInteger index)const

   このオブジェクトに割り当てられているメモリ領域から
   符号なし1バイトデータを取得します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。

   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

戻り値:取得した値を返します。値域は0〜255です。

IInteger index :取得する位置。

先頭へ


Binary::SetByte

public SelfType@ SetByte( IInteger index, IInteger val)

   このオブジェクトに割り当てられているメモリ領域に
   符号なし1バイトデータを保存します。
   index は0起算のバイト単位インデックスです。
   また、 val が値域外の場合や、領域外へのアクセスは例外を発生します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :設定する位置。
IInteger val :設定する値。値域は0〜255です。

先頭へ


Binary::GetWORD

public Integer GetWORD( IInteger index)const

   このオブジェクトに割り当てられているメモリ領域から
   符号なしLE2バイトデータを取得します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。

   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

戻り値:取得した値を返します。値域は0〜65535です。

IInteger index :取得する位置。

先頭へ


Binary::SetWORD

public SelfType@ SetWORD( IInteger index, IInteger val)

   このオブジェクトに割り当てられているメモリ領域に
   符号なしLE2バイトデータを保存します。
   index は0起算のバイト単位インデックスです。
   また、 val が値域外の場合や、領域外へのアクセスは例外を発生します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :設定する位置。
IInteger val :設定する値。値域は0〜65535です。

先頭へ


Binary::GetDWORD

public Integer GetDWORD( IInteger index)const

   このオブジェクトに割り当てられているメモリ領域から
   符号なしLE4バイトデータを取得します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。

   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

戻り値:取得した値を返します。値域は0〜4294967295です。

IInteger index :取得する位置。

先頭へ


Binary::SetDWORD

public SelfType@ SetDWORD( IInteger index, IInteger val)

   このオブジェクトに割り当てられているメモリ領域に
   符号なしLE4バイトデータを保存します。
   index は0起算のバイト単位インデックスです。
   また、 val が値域外の場合や、領域外へのアクセスは例外を発生します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :設定する位置。
IInteger val :設定する値。値域は0〜4294967295です。

先頭へ


Binary::GetQWORD

public Integer GetQWORD( IInteger index)const

   このオブジェクトに割り当てられているメモリ領域から
   符号なしLE8バイトデータを取得します。
   ただし、0x8000000000000000以上の値は Integer 型が扱えないため、負数化します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。

   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

戻り値:取得した値を返します。値域は-9223372036854775808〜9223372036854775807です。

IInteger index :取得する位置。

先頭へ


Binary::SetQWORD

public SelfType@ SetQWORD( IInteger index, IInteger val)

   このオブジェクトに割り当てられているメモリ領域に
   符号なしLE8バイトデータを保存します。
   ただし、0x8000000000000000以上の値は Integer 型が扱えないため、値域外となります。
   index は0起算のバイト単位インデックスです。
   また、 val が値域外の場合や、領域外へのアクセスは例外を発生します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :設定する位置。
IInteger val :設定する値。値域は0〜9223372036854775807です。

先頭へ


Binary::GetIntLE16

public Integer GetIntLE16( IInteger index)const

   このオブジェクトに割り当てられているメモリ領域から
   符号ありLE2バイトデータを取得します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。

   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

戻り値:取得した値を返します。値域は-32768〜32767です。

IInteger index :取得する位置。

先頭へ


Binary::SetIntLE16

public SelfType@ SetIntLE16( IInteger index, IInteger val)

   このオブジェクトに割り当てられているメモリ領域に
   符号ありLE2バイトデータを保存します。
   index は0起算のバイト単位インデックスです。
   また、 val が値域外の場合や、領域外へのアクセスは例外を発生します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :設定する位置。
IInteger val :設定する値。値域は-32768〜32767です。

先頭へ


Binary::GetIntLE32

public Integer GetIntLE32( IInteger index)const

   このオブジェクトに割り当てられているメモリ領域から
   符号ありLE4バイトデータを取得します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。

   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

戻り値:取得した値を返します。値域は-2147483648〜2147483647です。

IInteger index :取得する位置。

先頭へ


Binary::SetIntLE32

public SelfType@ SetIntLE32( IInteger index, IInteger val)

   このオブジェクトに割り当てられているメモリ領域に
   符号ありLE4バイトデータを保存します。
   index は0起算のバイト単位インデックスです。
   また、 val が値域外の場合や、領域外へのアクセスは例外を発生します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :設定する位置。
IInteger val :設定する値。値域は-2147483648〜2147483647です。

先頭へ


Binary::GetIntLE64

public Integer GetIntLE64( IInteger index)const

   このオブジェクトに割り当てられているメモリ領域から
   符号ありLE8バイトデータを取得します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。

   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

戻り値:取得した値を返します。値域は-9223372036854775808〜9223372036854775807です。

IInteger index :取得する位置。

先頭へ


Binary::SetIntLE64

public SelfType@ SetIntLE64( IInteger index, IInteger val)

   このオブジェクトに割り当てられているメモリ領域に
   符号ありLE8バイトデータを保存します。
   index は0起算のバイト単位インデックスです。
   また、 val が値域外の場合や、領域外へのアクセスは例外を発生します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :設定する位置。
IInteger val :設定する値。値域は-9223372036854775808〜9223372036854775807です。

先頭へ


Binary::GetIntBE16

public Integer GetIntBE16( IInteger index)const

   このオブジェクトに割り当てられているメモリ領域から
   符号ありBE2バイトデータを取得します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。

   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

戻り値:取得した値を返します。値域は-32768〜32767です。

IInteger index :取得する位置。

先頭へ


Binary::SetIntBE16

public SelfType@ SetIntBE16( IInteger index, IInteger val)

   このオブジェクトに割り当てられているメモリ領域に
   符号ありBE2バイトデータを保存します。
   index は0起算のバイト単位インデックスです。
   また、 val が値域外の場合や、領域外へのアクセスは例外を発生します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :設定する位置。
IInteger val :設定する値。値域は-32768〜32767です。

先頭へ


Binary::GetIntBE32

public Integer GetIntBE32( IInteger index)const

   このオブジェクトに割り当てられているメモリ領域から
   符号ありBE4バイトデータを取得します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。

   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

戻り値:取得した値を返します。値域は-2147483648〜2147483647です。

IInteger index :取得する位置。

先頭へ


Binary::SetIntBE32

public SelfType@ SetIntBE32( IInteger index, IInteger val)

   このオブジェクトに割り当てられているメモリ領域に
   符号ありBE4バイトデータを保存します。
   index は0起算のバイト単位インデックスです。
   また、 val が値域外の場合や、領域外へのアクセスは例外を発生します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :設定する位置。
IInteger val :設定する値。値域は-2147483648〜2147483647です。

先頭へ


Binary::GetIntBE64

public Integer GetIntBE64( IInteger index)const

   このオブジェクトに割り当てられているメモリ領域から
   符号ありBE8バイトデータを取得します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。

   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

戻り値:取得した値を返します。値域は-9223372036854775808〜9223372036854775807です。

IInteger index :取得する位置。

先頭へ


Binary::SetIntBE64

public SelfType@ SetIntBE64( IInteger index, IInteger val)

   このオブジェクトに割り当てられているメモリ領域に
   符号ありBE8バイトデータを保存します。
   index は0起算のバイト単位インデックスです。
   また、 val が値域外の場合や、領域外へのアクセスは例外を発生します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :設定する位置。
IInteger val :設定する値。値域は-9223372036854775808〜9223372036854775807です。

先頭へ


Binary::GetFloat

public Float GetFloat( IInteger index)const

   このオブジェクトに割り当てられているメモリ領域から浮動小数データを取得します。
   浮動小数データのサイズやデータ形式はFGES VM自体をコンパイルした環境の double 型に依存します。
   異なるFGES VMではデータの互換性がない可能性があります。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。

   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

戻り値:取得した値を返します。

IInteger index :取得する位置。

先頭へ


Binary::SetFloat

public SelfType@ SetFloat( IInteger index, IFloat val)

   このオブジェクトに割り当てられているメモリ領域に浮動小数データを保存します。
   浮動小数データのサイズやデータ形式はFGES VM自体をコンパイルした環境の double 型に依存します。
   異なるFGES VMではデータの互換性がない可能性があります。
   index は0起算のバイト単位インデックスです。
   また、 val が値域外の場合や、領域外へのアクセスは例外を発生します。

   このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
   これに失敗した場合、各インターフェイスの Get を呼び出します。

戻り値: this を返します。

IInteger index :設定する位置。
IFloat val :設定する値。

先頭へ


Binary::GetString

public String GetString( IInteger index, IInteger size)const

   このオブジェクトに割り当てられているメモリ領域から文字列データを取得します。
   文字コードはShiftJISとして扱います。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値:取得した文字列を返します。

IInteger index :取得する位置。
IInteger size :アクセスする最大バイト数。

先頭へ


Binary::SetString

public SelfType@ SetString( IInteger index, IString val, IInteger size)

   このオブジェクトに割り当てられているメモリ領域に文字列データを保存します。
   文字コードはShiftJISで、 val が size に収まらない場合は入る範囲に打ち切られます。
   打ち切られると困る場合は事前に String::GetLength で収まることを確認してください。
   文字列の設定後、 size が余っている場合は00で埋められます。
   
   このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
   これに失敗した場合、各インターフェイスの Get を呼び出します。

   index は0起算のバイト単位インデックスです。
   また、 val が値域外の場合や、領域外へのアクセスは例外を発生します。

戻り値: this を返します。

IInteger index :設定する位置。
IString val :設定する文字列。
IInteger size :設定するバイト数。

先頭へ


Binary::GetByteArray

public SelfType@ GetByteArray( IInteger index, IInteger count,
             editable PIntArray out_array, IInteger? out_index=NULL)const


   このオブジェクトに割り当てられているメモリ領域から
   符号なし1バイトデータ配列を取得します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。
   
   このメソッドは out_array の指定した領域に取得したデータを書き込みます。
   書き込み先の領域はこのメソッドを呼び出す前に確保済みでなければいけません。
   確保されていない領域へ書き込みを試行した場合は例外を発生します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :取得する位置。
IInteger count :取得する要素数。
editable PIntArray out_array :[出力]取得したデータを格納する配列オブジェクト。
IInteger? out_index=NULL : out_array の書き込み開始要素番号。
      取得したデータは out_index 〜 out_index+count-1 番の要素に格納されます。
      空参照を指定した場合は0を指定したものとして扱います。

先頭へ


Binary::SetByteArray

public SelfType@ SetByteArray( IInteger index, IInteger count,
             PIntArray src_array, IInteger? src_index=NULL)


   このオブジェクトに割り当てられているメモリ領域に
   符号なし1バイトデータ配列を保存します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。
   
   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :設定する位置。
IInteger count :設定する要素数。
PIntArray src_array :設定するデータを読み取る配列オブジェクト。
IInteger? src_index=NULL : src_array の読み取り開始要素番号。
      設定するデータは src_index 〜 src_index+count-1 番の要素から読み取られます。
      空参照を指定した場合は0を指定したものとして扱います。

先頭へ


Binary::GetWORDArray

public SelfType@ GetWORDArray( IInteger index, IInteger count,
             editable PIntArray out_array, IInteger? out_index=NULL)const


   このオブジェクトに割り当てられているメモリ領域から
   符号なし2バイトデータ配列を取得します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。
   
   このメソッドは out_array の指定した領域に取得したデータを書き込みます。
   書き込み先の領域はこのメソッドを呼び出す前に確保済みでなければいけません。
   確保されていない領域へ書き込みを試行した場合は例外を発生します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :取得する位置。
IInteger count :取得する要素数。
editable PIntArray out_array :[出力]取得したデータを格納する配列オブジェクト。
IInteger? out_index=NULL : out_array の書き込み開始要素番号。
      取得したデータは out_index 〜 out_index+count-1 番の要素に格納されます。
      空参照を指定した場合は0を指定したものとして扱います。

先頭へ


Binary::SetWORDArray

public SelfType@ SetWORDArray( IInteger index, IInteger count,
             PIntArray src_array, IInteger? src_index=NULL)


   このオブジェクトに割り当てられているメモリ領域に
   符号なし2バイトデータ配列を保存します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。
   
   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :設定する位置。
IInteger count :設定する要素数。
PIntArray src_array :設定するデータを読み取る配列オブジェクト。
IInteger? src_index=NULL : src_array の読み取り開始要素番号。
      設定するデータは src_index 〜 src_index+count-1 番の要素から読み取られます。
      空参照を指定した場合は0を指定したものとして扱います。

先頭へ


Binary::GetDWORDArray

public SelfType@ GetDWORDArray( IInteger index, IInteger count,
             editable PIntArray out_array, IInteger? out_index=NULL)const


   このオブジェクトに割り当てられているメモリ領域から
   符号なし4バイトデータ配列を取得します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。
   
   このメソッドは out_array の指定した領域に取得したデータを書き込みます。
   書き込み先の領域はこのメソッドを呼び出す前に確保済みでなければいけません。
   確保されていない領域へ書き込みを試行した場合は例外を発生します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :取得する位置。
IInteger count :取得する要素数。
editable PIntArray out_array :[出力]取得したデータを格納する配列オブジェクト。
IInteger? out_index=NULL : out_array の書き込み開始要素番号。
      取得したデータは out_index 〜 out_index+count-1 番の要素に格納されます。
      空参照を指定した場合は0を指定したものとして扱います。

先頭へ


Binary::SetDWORDArray

public SelfType@ SetDWORDArray( IInteger index, IInteger count,
             PIntArray src_array, IInteger? src_index=NULL)


   このオブジェクトに割り当てられているメモリ領域に
   符号なし4バイトデータ配列を保存します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。
   
   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :設定する位置。
IInteger count :設定する要素数。
PIntArray src_array :設定するデータを読み取る配列オブジェクト。
IInteger? src_index=NULL : src_array の読み取り開始要素番号。
      設定するデータは src_index 〜 src_index+count-1 番の要素から読み取られます。
      空参照を指定した場合は0を指定したものとして扱います。

先頭へ


Binary::GetQWORDArray

public SelfType@ GetQWORDArray( IInteger index, IInteger count,
             editable PIntArray out_array, IInteger? out_index=NULL)const


   このオブジェクトに割り当てられているメモリ領域から
   符号なし8バイトデータ配列を取得します。
   ただし、0x8000000000000000以上の値は Integer 型が扱えないため、負数化します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。
   
   このメソッドは out_array の指定した領域に取得したデータを書き込みます。
   書き込み先の領域はこのメソッドを呼び出す前に確保済みでなければいけません。
   確保されていない領域へ書き込みを試行した場合は例外を発生します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :取得する位置。
IInteger count :取得する要素数。
editable PIntArray out_array :[出力]取得したデータを格納する配列オブジェクト。
IInteger? out_index=NULL : out_array の書き込み開始要素番号。
      取得したデータは out_index 〜 out_index+count-1 番の要素に格納されます。
      空参照を指定した場合は0を指定したものとして扱います。

先頭へ


Binary::SetQWORDArray

public SelfType@ SetQWORDArray( IInteger index, IInteger count,
             PIntArray src_array, IInteger? src_index=NULL)


   このオブジェクトに割り当てられているメモリ領域に
   符号なし8バイトデータ配列を保存します。
   ただし、0x8000000000000000以上の値は Integer 型が扱えないため、値域外となります。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。
   
   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :設定する位置。
IInteger count :設定する要素数。
PIntArray src_array :設定するデータを読み取る配列オブジェクト。
IInteger? src_index=NULL : src_array の読み取り開始要素番号。
      設定するデータは src_index 〜 src_index+count-1 番の要素から読み取られます。
      空参照を指定した場合は0を指定したものとして扱います。

先頭へ


Binary::GetIntLE16Array

public SelfType@ GetIntLE16Array( IInteger index, IInteger count,
             editable PIntArray out_array, IInteger? out_index=NULL)const


   このオブジェクトに割り当てられているメモリ領域から
   符号あり2バイトデータ配列を取得します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。
   
   このメソッドは out_array の指定した領域に取得したデータを書き込みます。
   書き込み先の領域はこのメソッドを呼び出す前に確保済みでなければいけません。
   確保されていない領域へ書き込みを試行した場合は例外を発生します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :取得する位置。
IInteger count :取得する要素数。
editable PIntArray out_array :[出力]取得したデータを格納する配列オブジェクト。
IInteger? out_index=NULL : out_array の書き込み開始要素番号。
      取得したデータは out_index 〜 out_index+count-1 番の要素に格納されます。
      空参照を指定した場合は0を指定したものとして扱います。

先頭へ


Binary::SetIntLE16Array

public SelfType@ SetIntLE16Array( IInteger index, IInteger count,
             PIntArray src_array, IInteger? src_index=NULL)


   このオブジェクトに割り当てられているメモリ領域に
   符号あり2バイトデータ配列を保存します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。
   
   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :設定する位置。
IInteger count :設定する要素数。
PIntArray src_array :設定するデータを読み取る配列オブジェクト。
IInteger? src_index=NULL : src_array の読み取り開始要素番号。
      設定するデータは src_index 〜 src_index+count-1 番の要素から読み取られます。
      空参照を指定した場合は0を指定したものとして扱います。

先頭へ


Binary::GetIntLE32Array

public SelfType@ GetIntLE32Array( IInteger index, IInteger count,
             editable PIntArray out_array, IInteger? out_index=NULL)const


   このオブジェクトに割り当てられているメモリ領域から
   符号あり4バイトデータ配列を取得します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。
   
   このメソッドは out_array の指定した領域に取得したデータを書き込みます。
   書き込み先の領域はこのメソッドを呼び出す前に確保済みでなければいけません。
   確保されていない領域へ書き込みを試行した場合は例外を発生します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :取得する位置。
IInteger count :取得する要素数。
editable PIntArray out_array :[出力]取得したデータを格納する配列オブジェクト。
IInteger? out_index=NULL : out_array の書き込み開始要素番号。
      取得したデータは out_index 〜 out_index+count-1 番の要素に格納されます。
      空参照を指定した場合は0を指定したものとして扱います。

先頭へ


Binary::SetIntLE32Array

public SelfType@ SetIntLE32Array( IInteger index, IInteger count,
             PIntArray src_array, IInteger? src_index=NULL)


   このオブジェクトに割り当てられているメモリ領域に
   符号あり4バイトデータ配列を保存します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。
   
   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :設定する位置。
IInteger count :設定する要素数。
PIntArray src_array :設定するデータを読み取る配列オブジェクト。
IInteger? src_index=NULL : src_array の読み取り開始要素番号。
      設定するデータは src_index 〜 src_index+count-1 番の要素から読み取られます。
      空参照を指定した場合は0を指定したものとして扱います。

先頭へ


Binary::GetIntLE64Array

public SelfType@ GetIntLE64Array( IInteger index, IInteger count,
             editable PIntArray out_array, IInteger? out_index=NULL)const


   このオブジェクトに割り当てられているメモリ領域から
   符号あり8バイトデータ配列を取得します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。
   
   このメソッドは out_array の指定した領域に取得したデータを書き込みます。
   書き込み先の領域はこのメソッドを呼び出す前に確保済みでなければいけません。
   確保されていない領域へ書き込みを試行した場合は例外を発生します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :取得する位置。
IInteger count :取得する要素数。
editable PIntArray out_array :[出力]取得したデータを格納する配列オブジェクト。
IInteger? out_index=NULL : out_array の書き込み開始要素番号。
      取得したデータは out_index 〜 out_index+count-1 番の要素に格納されます。
      空参照を指定した場合は0を指定したものとして扱います。

先頭へ


Binary::SetIntLE64Array

public SelfType@ SetIntLE64Array( IInteger index, IInteger count,
             PIntArray src_array, IInteger? src_index=NULL)


   このオブジェクトに割り当てられているメモリ領域に
   符号あり8バイトデータ配列を保存します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。
   
   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :設定する位置。
IInteger count :設定する要素数。
PIntArray src_array :設定するデータを読み取る配列オブジェクト。
IInteger? src_index=NULL : src_array の読み取り開始要素番号。
      設定するデータは src_index 〜 src_index+count-1 番の要素から読み取られます。
      空参照を指定した場合は0を指定したものとして扱います。

先頭へ


Binary::GetFloatArray

public SelfType@ GetFloatArray( IInteger index, IInteger count,
             editable PFloatArray out_array, IInteger? out_index=NULL)const


   このオブジェクトに割り当てられているメモリ領域から浮動小数データを取得します。
   浮動小数データのサイズやデータ形式はFGES VM自体をコンパイルした環境の double 型に依存します。
   異なるFGES VMではデータの互換性がない可能性があります。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。
   
   このメソッドは out_array の指定した領域に取得したデータを書き込みます。
   書き込み先の領域はこのメソッドを呼び出す前に確保済みでなければいけません。
   確保されていない領域へ書き込みを試行した場合は例外を発生します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :取得する位置。
IInteger count :取得する要素数。
editable PFloatArray out_array :[出力]取得したデータを格納する配列オブジェクト。
IInteger? out_index=NULL : out_array の書き込み開始要素番号。
      取得したデータは out_index 〜 out_index+count-1 番の要素に格納されます。
      空参照を指定した場合は0を指定したものとして扱います。

先頭へ


Binary::SetFloatArray

public SelfType@ SetFloatArray( IInteger index, IInteger count,
             PFloatArray src_array, IInteger? src_index=NULL)


   このオブジェクトに割り当てられているメモリ領域に浮動小数データを保存します。
   浮動小数データのサイズやデータ形式はFGES VM自体をコンパイルした環境の double 型に依存します。
   異なるFGES VMではデータの互換性がない可能性があります。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。
   
   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値: this を返します。

IInteger index :設定する位置。
IInteger count :設定する要素数。
PFloatArray src_array :設定するデータを読み取る配列オブジェクト。
IInteger? src_index=NULL : src_array の読み取り開始要素番号。
      設定するデータは src_index 〜 src_index+count-1 番の要素から読み取られます。
      空参照を指定した場合は0を指定したものとして扱います。

先頭へ


Binary::ExtractData

public Bool ExtractData( IInteger index,editable INativeBinary dst, IInteger size)const

   このオブジェクトに割り当てられているメモリ領域の一部をダンプコピーします。
   dst のメモリ領域は再割り当てされ、データは上書きされます。

   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。

   このメソッドは引数に this と同じオブジェクトを使用すると例外が発生します。

戻り値:処理に成功すると真を返します。

IInteger index :抽出する位置。
editable INativeBinary dst :抽出したデータを保存するオブジェクト。
IInteger size :抽出するバイト数。

先頭へ


Binary::CopyData

public Bool CopyData( IInteger index, IBinary src, IInteger src_index, IInteger size)

   このオブジェクトに割り当てられているメモリ領域に、
   src のメモリ領域の指定した範囲をダンプコピーします。

   このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
   これに失敗した場合、各インターフェイスの Get を呼び出します。

   index src_index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。

戻り値:処理に成功すると真を返します。

IInteger index :書き込む位置。
IBinary src :コピー元のオブジェクト。
IInteger src_index : src 上の読み取り位置。
IInteger size :コピーするバイト数。

先頭へ


Binary::GetHexString

public String GetHexString( IInteger index, IInteger size)const

   このオブジェクトに割り当てられているメモリ領域を16進文字列化して取得します。
   index は0起算のバイト単位インデックスです。
   また、領域外へのアクセスは例外を発生します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

戻り値:16進文字列化した文字列を返します。

IInteger index :取得する位置。
IInteger size :取得するバイト数。

先頭へ


Binary::SetHexString

public Integer SetHexString( IInteger index, IString val, IInteger size)

   このオブジェクトに割り当てられているメモリ領域に16進文字列をバイナリ化して保存します。
   16進文字列は半角の文字列で、2桁1バイト単位で処理されます。
   バイト単位で切れている場所で16進文字列として解釈できない文字がある場合は読み飛ばします。
   
   このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
   これに失敗した場合、各インターフェイスの Get を呼び出します。

   index は0起算のバイト単位インデックスです。
   また、 val が値域外の場合や、領域外へのアクセスは例外を発生します。

戻り値:変換されオブジェクトに設定されたバイト数を返します。

IInteger index :設定する位置。
IString val :設定する16進文字列。
IInteger size :設定する最大バイト数。

先頭へ


Binary::ToFile

public Integer ToFile( IString fname, IInteger size)const

   このオブジェクトの内容をバイナリファイルとして保存します。
   FGES VM が Protected Mode で動作している場合、ファイル名にパスは使用できません。
   
   このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
   これに失敗した場合、各インターフェイスの Get を呼び出します。

   ファイルの書き込みに成功した場合、書き込めたバイト数を返します。
   ファイルを書き込みモードで開けない場合、-1を返します。
   それ以外のエラーが発生した場合、例外が発生します。

戻り値:書き込めたバイト数を返します。ファイルを開けない場合、-1を返します。

IString fname :保存するファイル名。
IInteger size :保存する上限バイト数。

先頭へ


Binary::FromFile

public Integer FromFile( IString fname)

   指定したファイルの内容をこのオブジェクトにダンプコピーします。
   FGES VM が Protected Mode で動作している場合、ファイル名にパスは使用できません。
   
   ファイルの読み取りに成功した場合、読み込めたバイト数を返します。
   ファイルを読み取りモードで開けない場合、-1を返します。
   それ以外のエラーが発生した場合、例外が発生します。

   このメソッドは最初に fname から INativeString による取得を試みます。
   これに失敗した場合、 fname.Get を呼び出します。

戻り値:読み込めたバイト数を返します。ファイルを開けない場合、-1を返します。

IString fname :読み取るファイル名。

先頭へ


Binary::FromFileWithSelect

public Integer FromFileWithSelect( INativeString typelabel, INativeString typeext,
             INativeString? title=NULL)


   ファイル選択ダイアログを表示し、ユーザーが選択したファイルの内容をこのオブジェクトにダンプコピーします。
   このメソッドは FGES VM が Protected Mode で動作している場合でも、任意の場所のファイルを読み込めます。
   
   ファイルの読み取りに成功した場合、読み込めたバイト数を返します。
   ファイルを読み取りモードで開けない場合、-1を返します。
   ファイル選択がキャンセルされた場合、-2を返します。
   それ以外のエラーが発生した場合、例外が発生します。

   このメソッドはFGSPlayerおよびFGSEditorで追加されているメソッドです。
   標準のFGES With FGLには含まれていません。
   
戻り値:読み込めたバイト数を返します。
   ファイルを開けない場合、-1を返します。
   ファイル選択がキャンセルされた場合、-2を返します。

INativeString typelabel :読み込むファイルの種類として表示するラベル。
INativeString typeext :読み込むファイルの拡張子。
INativeString? title=NULL :ファイル選択ダイアログのタイトル。
      空参照を指定した場合は '開く' が指定されたものとして扱います。

先頭へ


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

最終更新 2023/09/17