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"

フィードバック