concatenateBytes()

vgLib.concatenateBytes() システム関数は、内容に関係なく 2 つの変数を連結します。 2 つの値を連結すると、以下が行われます。
  1. ターゲット値の末尾のスペースや NULL がすべて削除されます。
  2. ソース値が、ステップ 1 で作成された結果の値に追加されます。
  3. ステップ 2 で連結された出力がターゲット・パラメーターよりも長い場合は、出力が切り捨てられます。出力がターゲット・パラメーターより短い場合は、出力にスペースが埋め込まれます (出力が数値の場合でも)。

vgLib.concatenateBytes() は、以前のバージョンとの互換性の目的で維持される多くの関数の 1 つです。この意図から、新規のコードでは標準の EGL 演算子を使用できます。

構文

  vgLib.concatenateBytes(
    target HEX inOut,
    source HEX inOut)
  returns (result INT)
target
source の内容が連結される先の、HEX と参照互換性のある任意の値。
source
EGL により target に付加される、HEX と参照互換性がある任意の値。
result
次のいずれかの整数値。
-1
連結されたストリングがターゲット・フィールドに対して長すぎるため、NULL とスペース以外の文字が結果から切り捨てられました。
0
連結されたストリングがターゲット・フィールドに適合しました。

以下の例は、vgLib.concatenateBytes() 関数を示しています。

phrase, ormeme CHAR(7);
result INT;
phrase = "and/  ";
ormeme     = "or";
result = vgLib.concatenateBytes(phrase,ormeme);
if (result == 0)
    SysLib.writeStdout("***"+phrase+"***"); // phrase = "and/or "
end

フィードバック