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