concatenateWithSeparator()

vgLib.concatenateWithSeparator() システム関数は、2 つのストリングの間にセパレーター・ストリングを挿入して連結します。 ターゲット・ストリングの最初の長さがゼロ (末尾のブランクや NULL は数えない) である場合、区切り文字は省略され、ソース・ストリングがターゲット・ストリングにコピーされます。以下が行われます。
  1. ターゲット値の末尾のスペースや NULL がすべて削除されます。
  2. セパレーター値が、ステップ 1 で作成された値に追加されます。
  3. ソース値が、前ステップで作成された値に追加されます。
  4. 連結された出力がターゲット・パラメーターより長い場合は、出力が切り捨てられます。出力がターゲット・パラメーターより短い場合は、出力がブランクで埋められます (出力が数値の場合でも)。

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

構文

  vgLib.concatenateWithSeparator(
    target CHAR | DBCHAR | MBCHAR | UNICODE | STRING | HEX inOut,
    source CHAR | DBCHAR | MBCHAR | UNICODE | STRING | HEX in,
    separator CHAR | DBCHAR | MBCHAR | UNICODE | STRING | HEX in)
  returns (result INT)
target
source の内容が連結される先の文字型の変数。
source
EGL により target に連結される、STRING と代入互換性がある任意の値。
separator
EGL により targetsource の間に挿入される、STRING と代入互換性がある任意の値。
result
次のいずれかの整数値。
-1
連結されたストリングが長すぎるため、ターゲット・フィールドと適合しません。NULL とスペース以外の文字は結果から切り捨てられました。
0
連結されたストリングがターゲット・フィールドに適合しました。

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

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

フィードバック