CXI-Basis-Programmierreferenz / Version 2 / Datenspeicherung / CxiTree / Zusatzfunktionen /
CxiError CopyVar (CxiTree& trgcxi, CxiName trgname, const CxiTree& srccxi, CxiName srcname = 0)
CxiError CxiTree :: CopyVarTo (CxiName srcname, CxiTree& trgcxi, CxiName trgname = 0) const
CxiError CxiTree :: CopyVarFrom (CxiName trgname, const CxiTree& srccxi, CxiName srcname = 0)
CxiError cxiCopyVar (CxiHandle trgcxi, CxiName trgname, CxiHandle srccxi, CxiName srcname)
Kopiert eine beliebige Variable
trgcxi:
CXI-Baum, der die kopierte Variable aufnehmen soll
trgname:
Name der Zielvariablen, bei 0 wird trgname==srcname angenommen
srccxi:
CXI-Baum, der die zu kopierende Variable enthält
srcname:
Name der zu kopierenden Variablen, bei 0 wird srcname==trgname angenommen, srcname und trgname dürfen nicht beide 0 sein
return:
0 ok, sonst Fehler
Operatorschreibweise:
trgcxi [trgname] = srccxi [srcname]
Das Zielobjekt wird mit dem gleichen Typ und der gleichen Größe wie das Quellobjekt automatisch angelegt. Existiert die Zielvariable bereits, wird sie vollständig ersetzt.
Diese Funktion kann alle Variablentypen kopieren, auch Unterbaum- und BOR-Variablen. Unterbaum-Variablen werden mit allen geschachtelten Unterbäumen kopiert.
Im Gegensatz zu CopyBor ersetzt CopyVar eine bestehende BOR-Zielvariable immer vollständig. Die Zielvariable wird durch eine neue ersetzt, die die gleiche Größe wie die Quellvariable hat.
Existiert die Quellvariable nicht, wird die Zielvariable gelöscht. Diese Situation wird nicht als Fehler aufgefasst.
Eine Variable kann nicht in sich selbst kopiert werden. Es ist jedoch möglich, die Quellvariable unter neuem Namen in den eigenen Block zu kopieren.
Um eine Variable von einem Knoten in einen anderen Knoten desselben CXI-Baums zu kopieren, muss mittels CxiTreeSubst ein zweites Sichtfenster erstellt werden. Zwischen diesen Objekten kann dann kopiert werden.
Die beiden Member-Funktionen benutzen den CXI-Baum, zu dem sie gehören, als Quelle (CopyVarTo) bzw. Ziel (CopyVarFrom).
Portabilität:
Diese Funktion ist in allen unterstützten Systemen verfügbar.
Siehe auch:
Merge...
MergeWild...
CopySubTree...
CopyBor