copyBytes()
Die Systemfunktion vgLib.copyBytes() kopiert die Inhalte einer Unterzeichenfolge in eine andere, Byte für Byte, ohne auf das Format dieses Inhalts zu achten.
vgLib.copyBytes() ist eine von vielen Funktionen, die für die Kompatibilität mit früheren Versionen beibehalten werden. Neuer Code sollte Standard-EGL-Operatoren für diese Zwecke einsetzen.
Wenn die Quelle länger ist als das Ziel, wird sie abgeschnitten. Wenn die Quelle kürzer ist als das Ziel, wird der Quellenwert mit Leerzeichen gefüllt, selbst wenn es sich dabei um einen numerischen Wert handelt.
Syntax
vgLib.copyBytes(
target HEX inOut,
targetSubstrIndex INT in,
targetSubstrLength INT in,
source HEX inOut,
sourceSubstrIndex INT in,
sourcetSubstrLength INT in)
- target
- Wert, aus dem eine Zielunterzeichenfolge abgeleitet wird. Dabei kann es sich um einen beliebigen Wert handeln, der verweiskompatibel mit HEX ist.
- targetSubstrIndex
- 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.
- targetSubstrLength
- Gibt die Anzahl von Bytes in der Unterzeichenfolge an, die aus target abgeleitet wurde. Die Länge kann ein ganzzahliges Literal oder eine Variable sein (INT oder BIN(9)).
- source
- Feld oder Literal, von dem ein Quellenwert abgeleitet wird.
- sourceSubstrIndex
- Gibt das Anfangsbyte der Unterzeichenfolge in source an, vorausgesetzt, dass der Wert des ersten Bytes '1' ist. Bei dem Index kann es sich um ein ganzzahliges Literal oder eine Variable (INT oder BIN(9)) handeln.
- sourceSubstrLength
- Gibt die Anzahl von Bytes in der Unterzeichenfolge an, die aus source abgeleitet wird. Die Länge kann ein ganzzahliges Literal oder eine Variable sein (INT oder BIN(9)).
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 des Werts.
- 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 wird die Zeichenfolge source in die Mitte von target kopiert:
target HEX (8) = "1200567"; // target = "12005670"
source HEX (4)= "3478"; // index must be multiple of 2
vgLib.copyBytes(target,2,1,source,1,1); // target = "12345670"