CXI-Basis-Programmierreferenz / Version 2 / Datenspeicherung / CxiNode / Zeichenketten /
CxiError CxiNode :: DeleteItem (CxiName pname, int index, CxiLong options = 0)
CxiError cxiDeleteItem ...P (CxiHandle self, CxiName pname, int index, CxiLong options)
Löscht ein Element aus einer String-Liste
pname:
Name einer cxiTypeLst-Variablen oder Pfadangabe und Variablenname
index:
Index innerhalb der Stringliste
options:
cxiOptDeleteSmart (=0, Vorgabe): Liste automatisch anlegen;
cxiOptDeleteFail: Variable weder anlegen noch ersetzen;
cxiOptDeleteForce: Bestehende Variable ersetzen
return:
0 ok, sonst Fehler
DeleteItem löscht das angegebene Element aus der Liste.
Die folgenden Abschnitte beschreiben das Verhalten im Fehlerfall:
cxiOptDeleteSmart (Vorgabe): Existiert keine Variable mit dem Namen pname, so wird sie erzeugt. Wurde eine Variable pname mit einem anderen Typ als cxiTypeLst gefunden, so wird der Fehler cxiErrorTypeMismatch gemeldet.
cxiOptDeleteFail: Existiert keine Variable mit dem Namen pname, so wird der Fehler cxiErrorVarNotFound zurückgegeben. Existiert eine Variable mit dem Namen pname, die nicht vom Typ cxiTypeLst ist, so wird der Fehler cxiErrorTypeMismatch gemeldet.
cxiOptDeleteForce: Existiert keine Variable mit dem Namen pname, so wird sie erzeugt. Existiert eine String-Variable mit dem Namen pname, wird sie automatisch in eine einelementige Liste konvertiert. Wurde eine Variable pname mit einem anderen Typ als cxiTypeLst oder cxiTypeStr gefunden, so wird sie durch eine leere Liste ersetzt.
Wird ein Index angegeben, der außerhalb der aktuellen Liste liegt, liefert DeleteItem in jedem Fall den Fehlercode cxiErrorIndexOutOfRange.
Die Elemente einer Variable vom Typ cxiTypeLst sind beginnend mit 0 durchnummeriert. Der Parameter index gibt entweder direkt die Nummer des gewünschten Elements an (Werte größer oder gleich 0), oder er ist eine relative Position vom Ende der Liste ausgehend (negativer Wert). Der Wert 0 kennzeichnet also das erste, -1 das letzte Element der Liste.
Portabilität:
Diese Funktion ist in allen unterstützten Systemen verfügbar.
Siehe auch:
InsertItem
AppendItem
SetLst
GetLst
GetAsNum
GetItem
GetItemStr
GetItemTest
QueryItemCount
FindInList
IsInList
IsEqual...