concatenateBytes()

Die Systemfunktion vgLib.concatenateBytes() verknüpft zwei Variablen, ohne auf den Inhalt zu achten. Wenn zwei Werte verknüpft werden, tritt Folgendes ein:
  1. Alle nachgestellten Leerzeichen oder Nullen werden aus dem Zielwert gelöscht.
  2. Der Quellenwert wird an den Wert angehängt, der während Schritt 1 produziert wird.
  3. Wenn die verknüpfte Ausgabe aus Schritt 2 länger ist als der Zielparameter, wird die Ausgabe abgeschnitten. Wenn die Ausgabe kürzer ist als der Zielparameter, wird sie mit Leerzeichen gefüllt, selbst wenn die Ausgabe eine Zahl ist.

vgLib.concatenateBytes() 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.concatenateBytes(
    target HEX inOut,
    source HEX inOut)
  returns (result INT)
target
Ein beliebiger Wert, der verweiskompatibel mit HEX ist, mit dem die Inhalte von source verknüpft werden.
source
Ein beliebiger Wert, der verweiskompatibel mit HEX ist, das EGL target hinzufügt.
result
Einer der folgenden ganzzahligen Werte:
-1
Die verknüpfte Zeichenfolge ist zu lang, um in das Zielfeld zu passen, und andere Zeichen als Nullwerte oder Leerzeichen werden vom Ergebnis abgeschnitten.
0
Die verknüpfte Zeichenfolge passt in das Zielfeld.

Beispiel

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

phrase, ormeme CHAR(7);
result INT;
phrase = "and/  ";
ormeme     = "or";
result = vgLib.concatenateBytes(phrase,ormeme);
if (result == 0)
    SysLib.writeStdout("***"+phrase+"***"); // phrase = "and/or "
end

Feedback