copyStr()
vgLib.copyStr() システム関数は、あるサブストリングから別のサブストリングに文字をコピーします。 名前にかかわらず、この関数ではストリングを使用することはできません。
vgLib.copyStr() は、以前のバージョンとの互換性の目的で維持される多くの関数の 1 つです。この意図から、新規のコードでは標準の EGL 演算子を使用する必要があります。
ソース・サブストリングがターゲット・サブストリングよりも長い場合は、ソース・サブストリングが切り捨てられます。 ソース・サブストリングがターゲット・サブストリングよりも短い場合は、ソース・サブストリングの右側にスペースが埋め込まれます。
構文
vgLib.copyStr(
target CHAR | DBCHAR | MBCHAR | UNICODE | NUM inOut,
targetSubstringIndex INT in,
targetSubstringLength INT in,
source CHAR | DBCHAR | MBCHAR | UNICODE | NUM in,
sourceSubstringIndex INT in,
sourcetSubstringLength INT in)
- target
- ターゲット・サブストリングの派生元の文字変数 (STRING を除く)。
- targetSubstringIndex
- 先頭バイトの値が 1 である場合に、target のサブストリングの開始バイトを識別します。この指標には、整数リテラルまたは変数 (INT または BIN(9)) を使用できます。
- targetSubstringLength
- target から派生するサブストリングのバイト数を識別する。 この長さには、整数リテラルまたは変数 (INT または BIN(9)) を使用できます。
- source
- ソース・サブストリングの派生元の文字変数。 変数またはリテラルを使用できます。
- sourceSubstringIndex
- 先頭バイトの値が 1 である場合に、source のサブストリングの開始バイトを識別します。この指標には、整数リテラルまたは変数 (INT または BIN(9)) を使用できます。
- sourceSubstringLength
- source から派生するサブストリングのバイト数を識別する。 この長さには、整数リテラルまたは変数 (INT または BIN(9)) を使用できます。
エラーに関する考慮事項
V6 の例外互換性 (V6 の例外互換性の使用を参照) を使用している場合、以下の値が sysVar.errorCode で戻されます。
- 8
- 指標が 1 より小さいか、ストリングの長さよりも大きい。
- 12
- 長さが 1 より小さい。
- 20
- DBCHAR ストリングや UNICODE ストリングの指標が、2 バイト文字の中間を指しています。
- 24
- DBCS ストリングや UNICODE ストリングの長さを示すバイト数が、奇数になっています (2 バイト文字の長さは常に偶数になります)。
例
次の例は、source 文字を target 文字の中央にコピーしています。
target, source CHAR (6); // index must be multiple of 2
target = "120056";
source = "34";
vgLib.copyStr(target,3,2,source,1,2); // target = "123456"