setSubstr()

Die Systemfunktion vgLib.setSubstr() ersetzt jedes Zeichen in einer Unterzeichenfolge durch ein angegebenes Zeichen.

vgLib.setSubstr() ist eine von vielen Funktionen, die für die Kompatibilität mit früheren Versionen beibehalten werden. Neuer Code kann Standard-EGL-Operatoren für diese Zwecke einsetzen.

Syntax

  vgLib.setSubstr(
    target CharType inOut,
    targetSubstringIndex INT in,
    targetSubstringLength INT in,
    source CharType inOut)
target
Die zu ändernde Variable.
targetSubstringIndex
Gibt das Anfangsbyte der Unterzeichenfolge in target an, vorausgesetzt, dass der Indexwert 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. Die Länge kann ein ganzzahliges Literal oder eine Variable sein (INT oder BIN(9)).
source
Wenn die Zielvariable CHAR, MBCHAR oder HEX ist, muss die Quellenvariable eine aus einem Byte bestehende CHAR-, MBCHAR- oder HEX-Variable oder ein CHAR-Literal sein. Wenn das Ziel eine DBCHAR- oder UNICODE-Variable ist, muss die Quelle eine aus einem einzelnen Zeichen bestehende DBCHAR- oder UNICODE-Variable 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änge in Bytes für eine DBCHAR- oder UNICODE-Zeichenfolge ist ungerade. (Doppelbytelängen müssen jedoch immer gerade sein.)

Beispiel

Das folgende Beispiel stellt die Funktion vgLib.setSubstr() dar:

target Char(15) = "abcdefghijklm"; // target is "abcdefghijklm  "
vgLib.setSubstr(target,2,5," "); // target is now "a     ghijklm  "

Feedback