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"

Feedback