BufGetAlpha

式エディタ > 関数ディレクトリ

 

バッファから文字データを取得

BLOBバッファの指定された位置の値を文字列に変換します。

構文:

BufGetAlpha(参照項目、位置、記憶形式、長さ、ポインタ値)

パラメータ:

参照項目…バッファとなる BLOB項目。VARリテラルが必要です。

位置 …変換を開始する位置(Byte単位)を表す数値。バッファの先頭は1です。

記憶形式…Magic での記憶形式を表す数値。

長さ …記憶長を表す数値。(単位は、直前に実行したSetBufCnvParam関数によって設定されたエンコード指定に依存します。)

ポインタ値…文字データ値が、直接バッファ書き込まれるか、ポインタとして書かれるべきであるかどうかを示す論理値。「True」 の場合は、ポインタとして文字値を書き込みます。

戻り値:

変換が成功した時は文字列が返ります。失敗した場合は空白が返ります。

以下の場合は失敗します。

  • 位置パラメータに負数が指定された場合

  • 位置や長さパラメータが、 バッファの内容の範囲外を指定している場合

  • 記憶形式パラメータが正しくない場合

  • 長さパラメータが正しくない場合

注意事項:

記憶形式タイプとして「LString」または「ZString」を使用する場合、取得する文字長と位置の関係に注意してください。文字の末尾のNULLを考慮する必要があります。

例えば、半角5桁(5バイト)の文字が格納されている次の領域の位置は、6バイト分が加算され「7」になります。

BufGetAlpha('A'VAR,1,2,5,'TRUE'LOG)……'ABCDE'

BufGetAlpha('A'VAR,7,2,5,'TRUE'LOG)……'FGHIJ'

関連項目:

SetBufCnvParam