Function DE Version 2.00

@SetVarInVar

Misc System

Syntax

@SetVarInVar(VARDEST1;POSITION2;VARSOURCE2;POSITION4;LENGTH5;MODE6);

Beschreibung

Setzt in die Variable VARDEST1 an der Position FN POSITION2 von der Variablen VARSOURCE2 ab der Position FN POSITION4 FN LENGTH Byte ein und gibt das Ergebnis zurück. Mit TEXT MODE6 kann die Art des Einsetzens näherer bestimmt werden.

MODE6:
"B"=Binär *
"I"=Insert
"O"=Overwrite *

* Default

HINWEIS:
Die beiden Positionsangaben beginnen bei 0 für das jeweils erste Byte.
Weiterhin wird die Änderung in einem Zwischenpuffer durchgeführt, was zur Folge hat, daß bei TEXT – speziell im Overwrite-Modus – ein nicht mitkopiertes Stringende (1 Zeichen nach dem letzten sichtbaren) zur unbeabsichtigten Verlängerung des neuen Strings mit irgendwelchen Daten führen kann.

z.B.: @SetVarInVar("ABCD";2;"12345";2;3;"O");

besser ist hier: @SetVarInVar("ABCD";3;"1234";2;4;"O");

Beispiel: @SetVarInVar(VARDEST1;POSITION2;VARSOURCE2;POSITION4;LENGTH5;MODE6);

VARDEST1:="Hallo Welt!";
POSITION2:=6;
VARSOURCE2:="schöne runde blaue";
POSITION4:=7;
LENGTH5:=5;
MODE6:="I";
Ret:=@SetVarInVar(VARDEST1;POSITION2;VARSOURCE2;POSITION4;LENGTH5;MODE6);

ergibt in Ret "Hallo runde Welt!"

VARDEST1:="Hallo Welt!";
POSITION2:=6;
VARSOURCE2:="Erde Planet";
POSITION4:=5;
LENGTH5:=6;
MODE6:="O";
Ret:=@SetVarInVar(VARDEST1;POSITION2;VARSOURCE2;POSITION4;LENGTH5;MODE6);

ergibt in Ret "Hallo Planet"