copyStr()

Die Systemfunktion vgLib.copyStr() kopiert Zeichen aus einer Unterzeichenfolge in eine andere. Trotz des Namens können Sie keine Zeichenfolgen mit dieser Funktion verwenden.

vgLib.copyStr() ist eine von vielen Funktionen, die zum Zweck der Kompatibilität mit früheren Versionen beibehalten wird. Neuer Code sollte Standard-EGL-Operatoren für diese Zwecke einsetzen.

Wenn die Quellenunterzeichenfolge länger ist als die Zielunterzeichenfolge, wird die Quellenunterzeichenfolge abgeschnitten. Wenn die Quellenunterzeichenfolge kürzer ist als die Zielunterzeichenfolge, wird die Quellenunterzeichenfolge auf der rechten Seite mit Leerzeichen gefüllt.

Syntax

  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
Eine Zeichenvariable (außer STRING), von der die Unterzeichenfolge abgeleitet wird.
targetSubstringIndex
Gibt das Anfangsbyte der Unterzeichenfolge in target an, vorausgesetzt, dass der Wert des ersten Bytes '1' ist. Bei diesem Index kann es sich um ein ganzzahliges Literal oder eine Variable (INT oder BIN(9)) handeln.
targetSubstringLength
Gibt die Anzahl von Bytes in der Unterzeichenfolge an, die aus target abgeleitet wird. Diese Längenangabe kann ein ganzzahliges Literal oder eine Variable (INT oder BIN(9)) sein.
source
Zeichenvariable, von der eine Quellenunterzeichenfolge abgeleitet wird. Dabei kann es sich um eine Variable oder ein Literal handeln.
sourceSubstringIndex
Gibt das Anfangsbyte der Unterzeichenfolge in source an, vorausgesetzt, dass der Wert des ersten Bytes '1' ist. Bei diesem Index kann es sich um ein ganzzahliges Literal oder eine Variable (INT oder BIN(9)) handeln.
sourceSubstringLength
Gibt die Anzahl von Bytes in der Unterzeichenfolge an, die von source abgeleitet wird. Diese Längenangabe kann ein ganzzahliges Literal oder eine Variable (INT oder BIN(9)) sein.

Hinweise zu Fehlern

Wenn Sie V6-Ausnahmekompatibilität verwenden (siehe V6-Ausnahmebedingungskompatibilität verwenden), werden die folgenden Werte in sysVar.errorCode zurückgegeben:
8
Der Index ist kleiner als 1 oder größer als die Länge der Zeichenfolge.
12
Die Länge ist kleiner als 1.
20
Der Index für eine DBCHAR- oder UNICODE-Zeichenfolge zeigt auf die Mitte eines Doppelbytezeichens.
24
Die Längenangabe in Bytes für eine BCHS- oder UNICODE-Zeichenfolge ist ungerade. (Doppelbytelängen müssen jedoch immer gerade sein.)

Beispiel

Im folgenden Beispiel werden die Zeichen in source in die Mitte der Zeichen in target kopiert:

target, source CHAR (6); // index must be multiple of 2
target = "120056";
source = "34";
vgLib.copyStr(target,3,2,source,1,2); // target = "123456"

Feedback