PPL6-Icon Patrick's Programming Library Version 6.4.21 - Dokumentation
ppl6::CAssocArray Klassenreferenz

Komplexes mehrdimensionales Array mit Strings als Schlüssel. Mehr ...

Öffentliche Typen

enum  PPLDataType {
  UNKNOWN =0, CINT =2, CSTRING =4, CASSOCARRAY =5,
  CBINARY =6, CWSTRING =8, CARRAY =9, CBOOL =10,
  CDATETIME =11
}
 Enumeration der verschiedenen Datenobjekte, die in der Library verwendet werden. Mehr ...
 

Öffentliche Methoden

int DataType () const
 Liefert den Datentyp des Objekts zurück. Mehr ...
 
int IsType (int type) const
 
Konstruktoren und Destruktoren
 CAssocArray ()
 Konstruktor des Assoziativen Arrays. Mehr ...
 
 CAssocArray (const CAssocArray &a)
 Konstruktor des Assoziativen Arrays. Mehr ...
 
 CAssocArray (const CArray &a)
 Konstruktor des Assoziativen Arrays. Mehr ...
 
 CAssocArray (const CAssocArray *a)
 Konstruktor des Assoziativen Arrays. Mehr ...
 
 ~CAssocArray ()
 Destruktor der Klasse. Mehr ...
 
Informationen ausgeben/auslesen
void List (const char *prefix=NULL) const
 Inhalt des Arrays ausgeben. Mehr ...
 
int Count (bool recursive=false) const
 Anzahl Schlüssel zählen. Mehr ...
 
int Count (const char *key, bool recursive=false) const
 Anzahl Schlüssel für ein bestimmtes Element zählen. Mehr ...
 
int Validate (const char *prefix=NULL)
 Array überprüfen. Mehr ...
 
Werte setzen
int Add (const char *key, const char *value, int size=-1)
 String hinzufügen. Mehr ...
 
int Add (const char *key, ppldds value)
 Integer hinzufügen. Mehr ...
 
int Set (const char *key, const char *value, int size=-1)
 String hinzufügen. Mehr ...
 
int Set (const char *key, const CString &value, int size=-1)
 CString hinzufügen. Mehr ...
 
int Set (const char *key, const CWString &value, int size=-1)
 Unicode CWString hinzufügen. Mehr ...
 
int Setf (const char *key, const char *fmt,...)
 Formatierten String hinzufügen. Mehr ...
 
int Set (const char *key, const CAssocArray &array)
 
int Set (const char *key, CAssocArray *array, bool copy=true)
 Assoziatives Array hinzufügen. Mehr ...
 
int Set (const char *key, const CArray &array)
 Einfaches CArray hinzufügen. Mehr ...
 
int Set (const char *key, const CDirEntry &d)
 Verzeichnis-Eintrag in das Array kopieren. Mehr ...
 
int Set (const char *key, const CBinary &bin)
 
int Set (const char *key, CBinary *bin, bool copy=true)
 CBinary hinzufügen. Mehr ...
 
int Set (const char *key, const CDateTime &date)
 
int SetPointer (const char *key, const void *ptr)
 Pointer hinzufügen. Mehr ...
 
int Copy (const CAssocArray *a)
 CAssocArray kopieren. Mehr ...
 
int Copy (const CAssocArray &a)
 CAssocArray kopieren. Mehr ...
 
int Copy (const CDirEntry &d)
 Verzeichnis-Eintrag in das Array kopieren. Mehr ...
 
int Copy (const CArray &a)
 CArray kopieren. Mehr ...
 
int Copy (const char *key, const CAssocArray &a, const char *sourcekey=NULL)
 Einzelnen Schlüssel eines CAssocArray kopieren. Mehr ...
 
int Merge (const char *key, const CAssocArray &a)
 CAssocArray kopieren. Mehr ...
 
Werte erweitern (nur Strings)
int Concat (const char *key, const char *value, const char *concat="\n", int size=-1)
 String-Wert eines Schlüssels erweitern. Mehr ...
 
int Concatf (const char *key, const char *concat, const char *fmt,...)
 String-Wert eines Schlüssels um einen formatierten String erweitern. Mehr ...
 
Werte löschen
void Clear ()
 Inhalt des Arrays löschen. Mehr ...
 
int Delete (const char *key)
 Einzelnen Schlüssel löschen. Mehr ...
 
int Deletef (const char *fmt,...)
 Einzelnen Schlüssel löschen. Mehr ...
 
Import und Export von Daten
int Size ()
 Liefert Anzahl Bytes, die für ExportBinary erforderlich sind. Mehr ...
 
int CreateFromTemplate (const char *templ, const char *linedelimiter="\n", const char *splitchar="=", const char *concat="\n", bool dotrim=false)
 Wandelt ein Key-Value Template in ein Assoziatives Array um. Mehr ...
 
int CreateFromConfig (const char *content, const char *splitchar=":", const char *concat="\n", bool dotrim=false)
 Wandelt eine Konfigurationsdatei in ein Assoziatives Array um. Mehr ...
 
void ToTemplate (CString &s, const char *prefix=NULL, const char *linedelimiter="\n", const char *splitchar="=")
 Inhalt des Arrays in ein Template exportieren. Mehr ...
 
int ExportBinary (void *buffer, int buffersize, int *realsize)
 Inhalt des Arrays in einem plattform-unabhängigen Binären-Format exportieren. Mehr ...
 
CBinaryExportBinary ()
 
int ImportBinary (const void *buffer, int buffersize)
 Daten aus einem vorherigen Export wieder importieren. Mehr ...
 
int ImportBinary (const CBinary &bin)
 Daten aus einem vorherigen Export wieder importieren. Mehr ...
 
Werte direkt auslesen
ARRAY_RESULT GetValue (const char *key) const
 Liefert einen Pointer auf das Element zum angegebenen Schlüssel zurück. Mehr ...
 
const char * GetChar (const char *key) const
 Liefert den Wert zum angegebenen Schlüssel zurück. Mehr ...
 
const char * Get (const char *key) const
 Liefert den Wert zum angegebenen Schlüssel zurück. Mehr ...
 
const char * Getf (const char *fmt,...) const
 Liefert den Wert zum angegebenen Schlüssel zurück. Mehr ...
 
CStringGetString (const char *key) const
 Liefert den Wert zum angegebenen Schlüssel zurück. Mehr ...
 
CDateTime GetDateTime (const char *key) const
 
CStringGetStringf (const char *fmt,...) const
 Liefert den Wert zum angegebenen Schlüssel zurück. Mehr ...
 
CStringGetCString (const char *key) const
 Liefert den Wert zum angegebenen Schlüssel zurück. Mehr ...
 
CStringGetCStringf (const char *fmt,...) const
 Liefert den Wert zum angegebenen Schlüssel zurück. Mehr ...
 
CWStringGetCWString (const char *key) const
 Liefert den Wert zum angegebenen Schlüssel zurück. Mehr ...
 
CWStringGetCWStringf (const char *fmt,...) const
 Liefert den Wert zum angegebenen Schlüssel zurück. Mehr ...
 
int GetCArray (CArray &a, const char *key=NULL) const
 
CAssocArrayGetArray (const char *key) const
 Liefert das Assoziative Array zum angegebenen Schlüssel zurück. Mehr ...
 
CAssocArrayGetArrayf (const char *fmt,...) const
 Liefert das Assoziative Array zum angegebenen Schlüssel zurück. Mehr ...
 
CBinaryGetBinary (const char *key) const
 Liefert das Binary-Object zum angegebenen Schlüssel zurück. Mehr ...
 
CBinaryGetBinaryf (const char *fmt,...) const
 Liefert das Binary-Object zum angegebenen Schlüssel zurück. Mehr ...
 
int ToInt (const char *key) const
 
long ToLong (const char *key) const
 
long long ToLongLong (const char *key) const
 
bool ToBool (const char *key) const
 
CString ToCString (const char *key) const
 
CWString ToCWString (const char *key) const
 
CAssocArray ToCAssocArray (const char *key) const
 
CArray ToCArray (const char *key) const
 
CBinary ToCBinary (const char *key) const
 
bool HaveKey (const char *key) const
 
void * GetPointer (const char *key) const
 Liefert den Void-Pointer zum angegebenen Schlüssel zurück. Mehr ...
 
void * GetPointerf (const char *fmt,...) const
 Liefert den Void-Pointer zum angegebenen Schlüssel zurück. Mehr ...
 
int GetKey (CString &key, const char *value, bool recursive=false)
 Liefert den ersten passenden Key, auf den value matched. Mehr ...
 
Werte prüfen
int IsTrue (const char *key) const
 Prüft, ob der Schlüssel vorhanden und "wahr" ist. Mehr ...
 
int IsFalse (const char *key) const
 Prüft, ob der Schlüssel vorhanden und "falsch" ist. Mehr ...
 
int IsString (ARRAY_RESULT res) const
 Prüft, ob es sich bei dem Ergebnis um einen CString handelt. Mehr ...
 
int IsCString (ARRAY_RESULT res) const
 Prüft, ob es sich bei dem Ergebnis um einen CString handelt. Mehr ...
 
int IsCWString (ARRAY_RESULT res) const
 Prüft, ob es sich bei dem Ergebnis um einen CWString handelt. Mehr ...
 
int IsArray (ARRAY_RESULT res) const
 Prüft, ob es sich bei dem Ergebnis um einen CAssocArray handelt. Mehr ...
 
int IsPointer (ARRAY_RESULT res) const
 Prüft, ob es sich bei dem Ergebnis um einen Pointer handelt. Mehr ...
 
int IsBinary (ARRAY_RESULT res) const
 Prüft, ob es sich bei dem Ergebnis um ein CBinary handelt. Mehr ...
 
int GetDatatype (ARRAY_RESULT res) const
 Datentyp eines Elements zurückliefern. Mehr ...
 
Array durchwandern
void Reset ()
 Zeiger für das Durchwandern des Arrays zurücksetzen. Mehr ...
 
ARRAY_RESULT GetFirst ()
 Erstes Element aus dem Array holen. Mehr ...
 
ARRAY_RESULT GetNext ()
 Nächstes Element aus dem Array holen. Mehr ...
 
ARRAY_RESULT GetLast ()
 Letztes Element aus dem Array holen. Mehr ...
 
ARRAY_RESULT GetPrevious ()
 Vorhergehendes Element aus dem Array holen. Mehr ...
 
void Reset (CTreeWalker &walk) const
 
ARRAY_RESULT GetFirst (CTreeWalker &walk) const
 
ARRAY_RESULT GetNext (CTreeWalker &walk) const
 
CAssocArrayGetFirstArray ()
 Erstes CAssocArray innerhalb dieses Arrays finden. Mehr ...
 
CAssocArrayGetNextArray ()
 Nächstes CAssocArray innerhalb dieses Arrays finden. Mehr ...
 
CAssocArrayGetLastArray ()
 Letztes CAssocArray innerhalb dieses Arrays finden. Mehr ...
 
CAssocArrayGetPreviousArray ()
 Vorheriges CAssocArray innerhalb dieses Arrays finden. Mehr ...
 
CAssocArrayGetFirstArray (CTreeWalker &walk) const
 Erstes CAssocArray innerhalb dieses Arrays finden. Mehr ...
 
CAssocArrayGetNextArray (CTreeWalker &walk) const
 Nächstes CAssocArray innerhalb dieses Arrays finden. Mehr ...
 
CAssocArrayGetLastArray (CTreeWalker &walk) const
 Letztes CAssocArray innerhalb dieses Arrays finden. Mehr ...
 
CAssocArrayGetPreviousArray (CTreeWalker &walk) const
 Vorheriges CAssocArray innerhalb dieses Arrays finden. Mehr ...
 
int GetFirstArray (CAssocArray &res)
 
int GetNextArray (CAssocArray &res)
 
int GetLastArray (CAssocArray &res)
 
int GetPreviousArray (CAssocArray &res)
 
int GetFirst (char **key, char **value)
 Ersten String im Array finden und Key und Value zurückgeben. Mehr ...
 
int GetFirst (CString *key, CString *value)
 Ersten String im Array finden und Key und Value in CStrings speichern. Mehr ...
 
int GetFirst (CString &key, CString &value)
 Ersten String im Array finden und Key und Value in CStrings speichern. Mehr ...
 
int GetNext (char **key, char **value)
 Nächsten String im Array finden und Key und Value zurückgeben. Mehr ...
 
int GetNext (CString &key, CString &value)
 Ersten String im Array finden und Key und Value in CStrings speichern. Mehr ...
 
int GetNext (CString *key, CString *value)
 Ersten String im Array finden und Key und Value in CStrings speichern. Mehr ...
 
int GetLast (char **key, char **value)
 Letzten String im Array finden und Key und Value zurückgeben. Mehr ...
 
int GetLast (CString &key, CString &value)
 Letzten String im Array finden und Key und Value in CStrings speichern. Mehr ...
 
int GetLast (CString *key, CString *value)
 Letzten String im Array finden und Key und Value in CStrings speichern. Mehr ...
 
int GetPrevious (char **key, char **value)
 Vorherigen String im Array finden und Key und Value zurückgeben. Mehr ...
 
int GetPrevious (CString &key, CString &value)
 Vorherigen String im Array finden und Key und Value in CStrings speichern. Mehr ...
 
int GetPrevious (CString *key, CString *value)
 Vorherigen String im Array finden und Key und Value in CStrings speichern. Mehr ...
 
CStringGetString (ARRAY_RESULT res) const
 CString eines Ergebnisses zurückgeben. Mehr ...
 
CStringGetCString (ARRAY_RESULT res) const
 CString eines Ergebnisses zurückgeben. Mehr ...
 
CWStringGetCWString (ARRAY_RESULT res) const
 CWString eines Ergebnisses zurückgeben. Mehr ...
 
const char * GetChar (ARRAY_RESULT res) const
 String eines Ergebnisses zurückgeben. Mehr ...
 
CAssocArrayGetArray (ARRAY_RESULT res) const
 CAssocArray eines Ergebnisses zurückgeben. Mehr ...
 
void * GetPointer (ARRAY_RESULT res) const
 Void-Pointer eines Ergebnisses zurückgeben. Mehr ...
 
CBinaryGetBinary (ARRAY_RESULT res) const
 CBinary eines Ergebnisses zurückgeben. Mehr ...
 
const char * GetKey (ARRAY_RESULT res, CString *str=NULL) const
 Liefert den Schlüsselnamen eines Ergebnisses zurück. Mehr ...
 
const char * GetKey (ARRAY_RESULT res, CString &key) const
 Liefert den Schlüsselnamen eines Ergebnisses zurück. Mehr ...
 
const char * GetCurrentKey (CString *str=NULL) const
 Liefert den Namen des aktuellen Schlüssels zurück. Mehr ...
 
const char * GetCurrentKey (CString &key) const
 Liefert den Namen des aktuellen Schlüssels zurück. Mehr ...
 
Operatoren
const char * operator[] (const char *key) const
 String zu einem Key auslesen. Mehr ...
 
CAssocArrayoperator= (const CAssocArray &a)
 CAssocArray kopieren. Mehr ...
 
CAssocArrayoperator= (const CArray &a)
 CArray kopieren. Mehr ...
 
CAssocArrayoperator= (const CAssocArray *a)
 CAssocArray kopieren. Mehr ...
 
CAssocArrayoperator= (CDirEntry &d)
 CDirEntry oder CDir kopieren. Mehr ...
 
CAssocArrayoperator= (CDirEntry *d)
 CDirEntry oder CDir kopieren. Mehr ...
 

Geschützte Attribute

ppluint8 type
 

Private Methoden

ARRAY_RESULT CreateTree (const char *key)
 Interne Funktion, die ein Element im Baum sucht oder anlegt. Mehr ...
 
ARRAY_RESULT FindInternal (const char *key) const
 Interne Funktion zum Suchen eines Elements. Mehr ...
 

Private Attribute

ppluint64 maxint
 Enthält die höchste bisher als Schlüssel verwendete Ziffer. Mehr ...
 
int num
 Anzahl Elemente in diesem Array. Mehr ...
 
CTree Tree
 Der Baum, in dem die Elemente abgelegt werden. Mehr ...
 

Ausführliche Beschreibung

Beschreibung:
Die Klasse CAssocArray dient als Container für beliebige Key-Value-Paare. Ein Schlüssel (Key) besteht aus einem String, der aus beliebigen Zeichen bestehen kann. Ein Value kann veschiedene Datentypen enthalten. Gegenwärtig werden neben Strings auch Arrays, Binaries und Pointer unterstützt.
Die Schlüssel werden sortiert in einem AVL-Baum verwaltet (siehe CTree, CTreeItem, CArrayItem), so dass auch bei sehr großen Arrays eine schnelle Verarbeitung gewährleistet ist. Gross-/Kleinschreibung wird dabei ignoriert, der Schlüssel "TEST" wäre also identisch mit "test" oder "Test".
Mehrdimensionale Arrays sind möglich, indem einem Schlüssel als Wert einfach ein anderes Array zugeordnet wird. In einem solchen Array kann jedes Element direkt angesprochen werden, indem man die einzelnen Schlüssel durch Slash (/) getrennt zu einem einzigen Schlüssel zusammenfasst.
Mehrdimensionale Arrays werden automatisch generiert. Gibt man bei einem leeren Array dem Schlüssel "ebene1/ebene2/key" einen Wert, werden automatisch folgende Aktionen ausgeführt:
  • Es wird ein neues Array generiert und mit dem Schlüssel "ebene1" in das Array eingefügt
  • In das Array "ebene1" wird ein weiteres neues Array mit dem Schlüssel "ebene2" eingefügt
  • In das Array "ebene2" wird der eigentliche Wert unter dem Schlüssel "key" eingefügt
Beispiel:
// Wert setzen
a.Set("ebene1/ebene2/key","Ein Wert");
// Wert auslesen
const char *wert=a.Get("ebene1/ebene2/key");

Dokumentation der Aufzählungstypen

enum ppl6::CVar::PPLDataType
inherited

Enumeration der verschiedenen Datenobjekte, die in der Library verwendet werden

Seit
Wurde mit Version 6.3.0 eingeführt.
Aufzählungswerte
UNKNOWN 

Unbekannter Datentyp.

CINT 

Klasse vom Typ CInt.

CSTRING 

Klasse vom Typ CString.

CASSOCARRAY 

Klasse vom Typ CAssocArray.

CBINARY 

Klasse vom Typ CBinary.

CWSTRING 

Klasse vom Typ CWString.

CARRAY 

Klasse vom Typ CArray.

CBOOL 

Klasse vom Typ CBool.

CDATETIME 

Klasse vom Typ CDateTime.

Beschreibung der Konstruktoren und Destruktoren

ppl6::CAssocArray::CAssocArray ( )
Beschreibung:
Der Konstruktor prüft zuerst, ob das interne globale Initialisierungsflag für die Klasse schon gesetzt ist. Ist dies nicht der Fall, wird die Funktion PPLInit aufgerufen, die zum einen sicherstellt, dass die Funktion nicht parallel durch mehrere Threads aufgerufen wird und zum andern dafür sorgt, dass der Heap-Speicher für die Arrays initialisiert wird.
ppl6::CAssocArray::CAssocArray ( const CAssocArray a)
Beschreibung:
Der Konstruktor prüft zuerst, ob das interne globale Initialisierungsflag für die Klasse schon gesetzt ist. Ist dies nicht der Fall, wird die Funktion PPLInit aufgerufen, die zum einen sicherstellt, dass die Funktion nicht parallel durch mehrere Threads aufgerufen wird und zum andern dafür sorgt, dass der Heap-Speicher für die Arrays initialisiert wird.
Parameter
[in]aEin anderes CAssocArray, dessen Inhalt kopiert werden soll
ppl6::CAssocArray::CAssocArray ( const CArray a)
Beschreibung:
Der Konstruktor prüft zuerst, ob das interne globale Initialisierungsflag für die Klasse schon gesetzt ist. Ist dies nicht der Fall, wird die Funktion PPLInit aufgerufen, die zum einen sicherstellt, dass die Funktion nicht parallel durch mehrere Threads aufgerufen wird und zum andern dafür sorgt, dass der Heap-Speicher für die Arrays initialisiert wird.
Parameter
[in]aEin CArray, dessen Inhalt kopiert werden soll
ppl6::CAssocArray::CAssocArray ( const CAssocArray a)
Beschreibung:
Der Konstruktor prüft zuerst, ob das interne globale Initialisierungsflag für die Klasse schon gesetzt ist. Ist dies nicht der Fall, wird die Funktion PPLInit aufgerufen, die zum einen sicherstellt, dass die Funktion nicht parallel durch mehrere Threads aufgerufen wird und zum andern dafür sorgt, dass der Heap-Speicher für die Arrays initialisiert wird.
Parameter
[in]aEin anderes CAssocArray, dessen Inhalt kopiert werden soll
ppl6::CAssocArray::~CAssocArray ( )
Beschreibung:
Der Destruktor ruft die Funktion CAssocArray::Clear auf, um alle vorhandenen Elemente zu löschen. Ein eventuell vorher gesetzter Fehlercode bleibt dabei erhalten.

Dokumentation der Elementfunktionen

int ppl6::CAssocArray::Add ( const char *  key,
const char *  value,
int  size = -1 
)
Beschreibung:
Diese Funktion fügt den Inhalt eines Strings dem Array hinzu.
Parameter
[in]keyName des Schlüssels
[in]valuePointer auf den Wert für den Schlüssel
[in]sizeOptionaler Parameter, der die Anzahl Bytes angibt, die aus dem value Wert übernommen werden sollen
Rückgabe
Konnte der Wert dem Array hinzugefügt werden, liefert die Funktion true (1) zurück, im Fehlerfall false (0).
Bemerkungen
Diese Funktion ist identisch mit CAssocArray::Set(const char *key, const char *value, int size)
int ppl6::CAssocArray::Add ( const char *  key,
ppldds  value 
)
Beschreibung:
Diese Funktion fügt den Wert einer Integer-Variable dem Array hinzu.
Parameter
[in]keyName des Schlüssels
[in]valueInteger-Wert
Rückgabe
Konnte der Wert dem Array hinzugefügt werden, liefert die Funktion true (1) zurück, im Fehlerfall false (0).
Bemerkungen
Da das Assoziative Array keine Integer verwalten kann wird der Wert zuerst in einen CString gewandelt und dieser eingefügt.
void ppl6::CAssocArray::Clear ( )
Beschreibung:
Mit dieser Funktion wird der komplette Inhalt des Arrays gelöscht. Dabei der Destruktor für jedes vorhandene Element aufgerufen, der wiederum sicherstellt, dass die darin enthaltenen Daten ordnungsgemäß gelöscht werden.
int ppl6::CAssocArray::Concat ( const char *  key,
const char *  value,
const char *  concat = "\n",
int  size = -1 
)
Beschreibung:
Mit dieser Funktion kann der String-Wert eines Schlüssels erweitert werden.
Parameter
[in]keyName des Schlüssels
[in]valueString, der an den vorhandenen Wert angefügt werden soll
[in]concatOptionales Trennzeichen. Wurde es angegeben und enthält der Schlüssel bereits einen Wert, wird zunächst das Trennzeichen concat angefügt und danach erst der neue String value.
[in]sizeOptionaler Parameter, der die Anzahl anzufügender Bytes angibt. Wird er nicht angegeben, wird der komplette String aus value übernommen
Rückgabe
Konnte der Wert dem Array hinzugefügt werden, liefert die Funktion true (1) zurück, im Fehlerfall false (0).
int ppl6::CAssocArray::Concatf ( const char *  key,
const char *  concat,
const char *  fmt,
  ... 
)
Beschreibung:
Mit dieser Funktion kann der String-Wert eines Schlüssels um einen formatierten String erweitert werden.
Parameter
[in]keyName des Schlüssels
[in]concatOptionales Trennzeichen. Wurde es angegeben und enthält der Schlüssel bereits einen Wert, wird zunächst das Trennzeichen concat angefügt und danach erst der neue String value.
[in]fmtFormat-String, der an den vorhandenen Wert angefügt werden soll
[in]...Beliebig viele Werte für den Format-String fmt
Rückgabe
Konnte der Wert dem Array hinzugefügt werden, liefert die Funktion true (1) zurück, im Fehlerfall false (0).
int ppl6::CAssocArray::Copy ( const CAssocArray a)
Beschreibung:
Mit dieser Funktion wird der komplette Inhalt eines CAssocArray in dieses hineinkopiert. Das Array wird vorher nicht gelöscht, so dass vorhandene Schlüssel erhalten bleiben, jedoch können diese überschrieben werden, wenn das hinzuzufügende Array gleichnamige Schlüssel enthält.
Parameter
[in]aPointer auf das zu kopierende CAssocArray
Rückgabe
Bei Erfolg liefert die die Funktion true (1) zurück, im Fehlerfall false (0).
int ppl6::CAssocArray::Copy ( const CAssocArray a)
Beschreibung:
Mit dieser Funktion wird der komplette Inhalt eines CAssocArray in dieses hineinkopiert. Das Array wird vorher nicht gelöscht, so dass vorhandene Schlüssel erhalten bleiben, jedoch können diese überschrieben werden, wenn das hinzuzufügende Array gleichnamige Schlüssel enthält.
Parameter
[in]aDas zu kopierende CAssocArray
Rückgabe
Bei Erfolg liefert die die Funktion true (1) zurück, im Fehlerfall false (0).
int ppl6::CAssocArray::Copy ( const CDirEntry d)
Beschreibung:
Mit dieser Funktion wird ein Vezeichnis-Eintrag aus der CDirEntry bzw. CDir Klasse in die oberste Ebene der Array-Klasse kopiert. Dazu wird die Funktion CDirEntry::ToArray verwendet.
Parameter
[in]dPointer auf eine CDirEntry oder CDir-Klasse
Rückgabe
Konnte der Verzeichnis-Eintrag dem Array hinzugefügt werden, liefert die Funktion true (1) zurück, im Fehlerfall false (0).
int ppl6::CAssocArray::Copy ( const CArray a)
Beschreibung:
Mit dieser Funktion wird der komplette Inhalt eines CArray in dieses hineinkopiert. Das CAssocArray wird vorher nicht gelöscht, so dass vorhandene Schlüssel erhalten bleiben, jedoch können diese überschrieben werden, wenn das hinzuzufügende Array gleichnamige Schlüssel enthält.

Da CAssocArray als Datentyp kein CArray unterstützt, wird dieses automatisch in ein CAssocArray umgewandelt.

Parameter
[in]aPointer auf das zu kopierende CArray
Rückgabe
Bei Erfolg liefert die die Funktion true (1) zurück, im Fehlerfall false (0).
int ppl6::CAssocArray::Copy ( const char *  key,
const CAssocArray a,
const char *  sourcekey = NULL 
)
Beschreibung:
Mit dieser Funktion wird ein einzelner Schlüssel eines CAssocArray in den angegebenen Schlüssel hineinkopiert.
Parameter
[in]keyName des Ziel-Schlüssels in diesem Array
[in]aPointer auf das zu kopierende CAssocArray
[in]sourcekeyOptionaler Name des Schlüssels im angegebenen Array, der kopiert werden soll. Wird er nicht angegeben wird als Quell-Schlüssel der Wert von key übernommen.
Rückgabe
Bei Erfolg liefert die die Funktion true (1) zurück, im Fehlerfall false (0).
int ppl6::CAssocArray::Count ( bool  recursive = false) const
Beschreibung:
Diese Funktion liefert die Anzahl Schlüssel auf dieser Ebene des Array zurück.
Parameter
[in]recursiveFalls recursive auf true gesetzt wird die Funktion rekusriv für jeden Schlüssel aufgerufen, dessen Wert ebenfalls ein Array ist.
Rückgabe
Anzahl Schlüssel
int ppl6::CAssocArray::Count ( const char *  key,
bool  recursive = false 
) const
Beschreibung:
Diese Funktion liefert die Anzahl Schlüssel zurück, die in dem angegebenen Key enthalten sind.
Parameter
[in]keySchlüssel-Name eines Assoziativen Arrays innerhalb dieses Arrays
[in]recursiveFalls recursive auf true gesetzt wird die Funktion rekusriv für jeden Schlüssel aufgerufen, dessen Wert ebenfalls ein Array ist.
Rückgabe
Anzahl Schlüssel
int ppl6::CAssocArray::CreateFromConfig ( const char *  content,
const char *  splitchar = ":",
const char *  concat = "\n",
bool  dotrim = false 
)
Beschreibung:
Die Member-Funktion CreateFromConfig wandelt einen Konfigurations-Text mit mehreren Abschnitten im Key-Value-Format in ein Assoziatives Array um. Ein Abschnitt beginnt immer mit einem Keywort in Eckigen klammern und enthält Key-Value-Paare. Zeilen mit Raute (#) am Anfang werden als Kommentarzeilen interpretiert und ignoriert.
Beispiel einer Konfigurationsdatei
[Abschnitt_1]
# Kommentarzeile, die überlesen wird
key1: value1
key2: value2
[Abschnitt_2]
key1: value1
key2: value2
Parameter
[in]contentEin Char-Pointer auf einen Null-Terminierten String, der die Konfiguration enthält.
[in]splitcharDas Zeichen, was als Trennzeichen zwischen Schlüssel (Key) und Wert (Value) interpretiert werden soll. Der Default ist der Doppelpunkt (:)
[in]concatIst concat gesetzt und kommen im Text mehrere identische Schlüssel vor, werden die Werte zu einem String zusammengeführt, wobei als Trennzeichen concat verwendet wird. Ist concat NULL, wird ein vorhandener Schlüssel überschrieben. Der Default ist, dass gleiche Schlüssel mit Newline aneinander gehangen werden.
[in]dotrimIst dotrim=true, werden einzelnen Werte vor dem Einfügen ins Array mit der Funktion ppl6::trim getrimmt, also Leerzeilen, Tabs und Zeilenumbrüche am Anfang und Ende gelöscht. Der Default ist false.
Rückgabe
Die Funktion gibt die Anzahl gelesener Key-Value-Paare zurück, oder 0, wenn der Text keine verwertbaren Zeilen enthielt.
Zu beachten
Falls das Array vor dem Aufruf dieser Funktion bereits Datensätze enthielt, werden diese nicht gelöscht. Die Funktion kann also benutzt werden, um Werte aus verschiedenen Templates in ein einziges Array einzulesen. Soll das Array geleert werden, muß vorher die Funktion CAssocArray::Clear aufgerufen werden.
Siehe auch
Alternativ kann auch die identisch arbeitende Funktion ppl6::Ini2Array verwendet werden. Enthält der Text keine Abschnitte, kann auch die Member-Funktion CAssocArray::CreateFromTemplate verwendet werden, bei der neben dem Trennzeichen der Key-Value-Paare auch das Zeichen für Zeilenende angegeben werden kann.
int ppl6::CAssocArray::CreateFromTemplate ( const char *  templ,
const char *  linedelimiter = "\n",
const char *  splitchar = "=",
const char *  concat = "\n",
bool  dotrim = false 
)
Beschreibung:
Die Member-Funktion CreateFromTemplate wandelt einen Text im Key-Value-Format in ein Assoziatives Array um. Leere Zeilen oder Zeilen mit Raute (#) am Anfang (Kommentarzeilen) werden ignoriert.
Parameter
[in]templEntweder ein char-Pointer auf einen Null-Terminierten String oder ein Pointer auf die String-Klasse CString
[in]linedelimiterDas Zeichen, was als Zeilenende interpretiert werden soll. Default ist Newline
[in]splitcharDas Zeichen, was als Trennzeichen zwischen Schlüssel (Key) und Wert (Value) interpretiert werden soll. Der Default ist das Gleichheitszeichen (=)
[in]concatIst concat gesetzt und kommen im Text mehrere identische Schlüssel vor, werden die Werte zu einem String zusammengeführt, wobei als Trennzeichen concat verwendet wird. Ist concat NULL, wird ein vorhandener Schlüssel überschrieben. Der Default ist, dass gleiche Schlüssel mit Newline aneinander gehangen werden.
[in]dotrimIst dotrim=true, werden einzelnen Werte vor dem Einfügen ins Array mit der Funktion ppl6::trim getrimmt, also Leerzeilen, Tabs und Zeilenumbrüche am Anfang und Ende gelöscht. Der Default ist false.
Rückgabe
Die Funktion gibt die Anzahl gelesener Key-Value-Paare zurück, oder 0, wenn der Text keine verwertbaren Zeilen enthielt.
Zu beachten
Falls das Array vor dem Aufruf dieser Funktion bereits Datensätze enthielt, werden diese nicht gelöscht. Die Funktion kann also benutzt werden, um Werte aus verschiedenen Templates in ein einziges Array einzulesen. Soll das Array geleert werden, muß vorher die Funktion CAssocArray::Clear aufgerufen werden.
Siehe auch
Um Konfigurationsdateien mit verschiedenen Abschnitten (z.B. .ini-Dateien) in ein Assoziatives Array einzulesen, gibt es die Funktion ppl6::Ini2Array und die Member-Funktion CAssocArray::CreateFromConfig
ARRAY_RESULT ppl6::CAssocArray::CreateTree ( const char *  key)
private
Beschreibung:
Diese Funktion durchsucht den Baum nach dem gewünschten Element. Ist es vorhanden, wird dessen Pointer zurückgeliefert, wenn nicht, wird es angelegt, jedoch ohne Daten. Bei verschachtelten Schlüsseln wird die Funktion rekursiv aufgerufen, bis das letzte Element erreicht ist. Die Funktion wird intern von allen Funktionen verwendet, die Daten in das Array speichern.
Parameter
[in]keyPointer auf den Namen des Schlüssels
Rückgabe
Bei Erfolg liefert die Funktion einen Pointer auf das gewünschte Element zurück. Im Fehlerfall wird ein Fehlercode gesetzt und NULL zurückgegeben.
Bemerkungen
Bei der Angabe eines verschachtelten Schlüssels kann es vorkommen, dass bereits vorhandene Elemente überschrieben werden. Beispiel:

Das Element ebene1/schlüssel1 ist im Baum bereits vorhanden und beinhaltet einen String. Nun wird das neue Element ebene1/schlüssel1/unterschlüssel1 angelegt. Da Schlüssel eindeutig sein müssen, wird der String ebene1/schlüssel1 gelöscht und in ein Array umgewandelt.

int CVar::DataType ( ) const
inherited

Diese Funktion liefert den Datentyp des Objekts zurück.

Rückgabe
ID aus der Enumeration CVar::PPLDataType
Seit
Wurde mit Version 6.3.0 eingeführt.
int ppl6::CAssocArray::Delete ( const char *  key)
Beschreibung:
Mit dieser Funktion wird ein einzelner Schlüssel aus dem Array gelöscht.
Parameter
[in]keyPointer auf den Namen des zu löschenden Schlüssels
Rückgabe
Bei Erfolg liefert die die Funktion true (1) zurück, im Fehlerfall false (0).*
int ppl6::CAssocArray::Deletef ( const char *  fmt,
  ... 
)
Beschreibung:
Mit dieser Funktion wird ein einzelner Schlüssel aus dem Array gelöscht.
Parameter
[in]fmtPointer auf einen Formatstring, den den Namen des zu löschenden Schlüssels enthält.
[in]...Beliebig viele Parameter für den Formatstring
Rückgabe
Bei Erfolg liefert die die Funktion true (1) zurück, im Fehlerfall false (0).*
int ppl6::CAssocArray::ExportBinary ( void *  buffer,
int  buffersize,
int *  realsize 
)
Beschreibung:
Mit dieser Funktion kann der komplette Inhalt des Arrays in einem plattform-unabhängigem binären Format abgelegt werden, das sich zum Speichern in einer Datei oder zum Übertragen über das Internet eignet.
Parameter
[in]bufferPointer auf einen ausreichend großen Puffer. Die Größe des benötigten Puffers kann zuvor mit der Funktion CAssocArray::Size ermittelt werden. Wird als Buffer NULL übergeben, wird in der Variable realsize ebenfalls die Anzahl Bytes zurückgegeben
[in]buffersizeDie Größe des Puffers in Bytes
[out]realsizeIn dieser Variable wird gespeichert, wieviele Bytes tatsächlich für den Export verwendet wurden
Rückgabe
Bei Erfolg liefert die Funktion true (1) zurück, im Fehlerfall false (0).
Achtung
Es muss daran gedacht werden, dass nicht alle Datentypen exportiert werden können. Gegenwärtig werden folgende Typen unterstützt:
Siehe auch
CBinary * ppl6::CAssocArray::ExportBinary ( )
ARRAY_RESULT ppl6::CAssocArray::FindInternal ( const char *  key) const
private
Beschreibung:
Diese Funktion zerlegt den angegebenen Schlüssel (key) in seine einzelnen Elemente. Als Trennzeichen wird wie bei einer Unix-Pfadangabe das Slash (/) verwendet. Die Funktion sucht zunächst auf das erste Element im eigenen Baum. Ist dies vorhanden und handelt es sich bei dessen Datentyp wieder um ein CAssocArray, wird deren FindInternal-Funktion mit dem restlichen Schlüssel rekursiv aufgerufen. Dies geschieht solange, bis das letzte Element des Keys gefunden wurde.
Parameter
[in]keyPointer auf den String mit dem gesuchten Schlüssel
Rückgabe
Konnte der Schlüssel gefunden werden, wir der Pointer auf das Element (CArrayItem) zurückgegeben. Wurde der Schlüssel nicht gefunden, wird ein Fehlercode gesetzt und NULL zurückgeliefert.

Die Funktion wird von allen Get...- und Concat-Funktionen verwendet.

const char * ppl6::CAssocArray::Get ( const char *  key) const
Beschreibung:
Diese Funktion liefert einen Char-Pointer auf den Wert des angegebenen Schlüssels zurück. Der Datentyp im Array kann sowohl CString als auch CWString sein, der Rückgabewert zeigt jedoch immer auf einen UTF-8-String.
Parameter
[in]keyPointer auf den Namen des gewünschten Schlüssels
Rückgabe
Liefert einen char-Pointer auf den Wert des Schlüssels zurück, oder NULL, wenn der Schlüssel nicht vorhanden, leer oder ein anderer Datentyp ist.
CAssocArray * ppl6::CAssocArray::GetArray ( const char *  key) const
Beschreibung:
Diese Funktion liefert den Pointer auf das CAssocArray des angegebenen Schlüssels zurück, sofern der Schlüssel vorhanden ist und diesem Datentyp entspricht.
Parameter
[in]keyPointer auf den Namen des Schlüssels
Rückgabe
Liefert einen CAssocArray-Pointer auf den Wert des Schlüssels zurück, oder NULL, wenn der Schlüssel nicht vorhanden, leer oder ein anderer Datentyp ist.
CAssocArray * ppl6::CAssocArray::GetArray ( ARRAY_RESULT  res) const
Beschreibung:
Diese Funktion prüft, ob es sich bei dem angegeben Ergebnis um ein CAssocArray handelt und gibt dessen Pointer zurück.
Parameter
[in]resErgebnis aus einer vorhergehenden GetFirst*, GetNext*, etc. Funktion, die zum Durchwandern des Arrays verwendet wurde.
Rückgabe
Falls es sich bei dem Ergebnis um ein CAssocArray gehandelt hat, wird dessen Pointer zurückgegeben. Ist das nicht der Fall, wird NULL zurückgegeben und ein Fehlercode gesetzt.
CAssocArray * ppl6::CAssocArray::GetArrayf ( const char *  fmt,
  ... 
) const
Beschreibung:
Diese Funktion liefert den Pointer auf das CAssocArray des angegebenen Schlüssels zurück, sofern der Schlüssel vorhanden ist und diesem Datentyp entspricht.
Parameter
[in]fmtPointer auf einen Formatstring, der den Namen des gewünschten Schlüssels ergibt
[in]...Beliebig viele weitere Parameter, die im Formatstring benötigt werden.
Rückgabe
Liefert einen CAssocArray-Pointer auf den Wert des Schlüssels zurück, oder NULL, wenn der Schlüssel nicht vorhanden, leer oder ein anderer Datentyp ist.
CBinary * ppl6::CAssocArray::GetBinary ( const char *  key) const
Beschreibung:
Diese Funktion liefert den Pointer auf das CBinary-Objekt des angegebenen Schlüssels zurück, sofern der Schlüssel vorhanden ist und diesem Datentyp entspricht.
Parameter
[in]keyPointer auf den Namen des Schlüssels
Rückgabe
Liefert einen CBinary-Pointer auf den Wert des Schlüssels zurück, oder NULL, wenn der Schlüssel nicht vorhanden, leer oder ein anderer Datentyp ist.
CBinary * ppl6::CAssocArray::GetBinary ( ARRAY_RESULT  res) const
Beschreibung:
Diese Funktion prüft, ob es sich bei dem angegeben Ergebnis um ein CBinary handelt und gibt dessen Pointer zurück.
Parameter
[in]resErgebnis aus einer vorhergehenden GetFirst*, GetNext*, etc. Funktion, die zum Durchwandern des Arrays verwendet wurde.
Rückgabe
Falls es sich bei dem Ergebnis um ein CBinary gehandelt hat, wird dessen Pointer zurückgegeben. Ist das nicht der Fall, wird NULL zurückgegeben und ein Fehlercode gesetzt.
CBinary * ppl6::CAssocArray::GetBinaryf ( const char *  fmt,
  ... 
) const
Beschreibung:
Diese Funktion liefert den Pointer auf das CBinary-Objekt des angegebenen Schlüssels zurück, sofern der Schlüssel vorhanden ist und diesem Datentyp entspricht.
Parameter
[in]fmtPointer auf einen Formatstring, der den Namen des gewünschten Schlüssels ergibt
[in]...Beliebig viele weitere Parameter, die im Formatstring benötigt werden.
Rückgabe
Liefert einen CBinary-Pointer auf den Wert des Schlüssels zurück, oder NULL, wenn der Schlüssel nicht vorhanden, leer oder ein anderer Datentyp ist.
int ppl6::CAssocArray::GetCArray ( CArray a,
const char *  key = NULL 
) const
const char * ppl6::CAssocArray::GetChar ( const char *  key) const
Beschreibung:
Diese Funktion liefert einen Char-Pointer auf den Wert des angegebenen Schlüssels zurück. Der Datentyp im Array kann sowohl CString als auch CWString sein, der Rückgabewert zeigt jedoch immer auf einen UTF-8-String.
Parameter
[in]keyPointer auf den Namen des gewünschten Schlüssels
Rückgabe
Liefert einen char-Pointer auf den Wert des Schlüssels zurück, oder NULL, wenn der Schlüssel nicht vorhanden, leer oder ein anderer Datentyp ist.
const char * ppl6::CAssocArray::GetChar ( ARRAY_RESULT  res) const
Beschreibung:
Diese Funktion prüft, ob es sich bei dem angegeben Ergebnis um einen String handelt und gibt dessen Char-Pointer Pointer zurück. Dabei kann es sich um einen direkten Char-Pointer, einen CString oder CWString handeln.
Parameter
[in]resErgebnis aus einer vorhergehenden GetFirst*, GetNext*, etc. Funktion, die zum Durchwandern des Arrays verwendet wurde.
Rückgabe
Falls es sich bei dem Ergebnis um einen String gehandelt hat, wird dessen Char-Pointer zurückgegeben. Ist das nicht der Fall, wird NULL zurückgegeben und ein Fehlercode gesetzt.
CString * ppl6::CAssocArray::GetCString ( const char *  key) const

Liefert den Wert zum angegebenen Schlüssel zurück.

Beschreibung:
Diese Funktion liefert den Pointer auf den CString des angegebenen Schlüssels zurück, sofern der Schlüssel vorhanden ist und diesem Datentyp entspricht.
Parameter
[in]keyPointer auf den Namen des Schlüssels
Rückgabe
Liefert einen CString-Pointer auf den Wert des Schlüssels zurück, oder NULL, wenn der Schlüssel nicht vorhanden, leer oder ein anderer Datentyp ist.
CString * ppl6::CAssocArray::GetCString ( ARRAY_RESULT  res) const
Beschreibung:
Diese Funktion prüft, ob es sich bei dem angegeben Ergebnis um einen CString handelt und gibt dessen Pointer zurück.
Parameter
[in]resErgebnis aus einer vorhergehenden GetFirst*, GetNext*, etc. Funktion, die zum Durchwandern des Arrays verwendet wurde.
Rückgabe
Falls es sich bei dem Ergebnis um einen CString gehandelt hat, wird dessen Pointer zurückgegeben. Ist das nicht der Fall, wird NULL zurückgegeben und ein Fehlercode gesetzt.
CString * ppl6::CAssocArray::GetCStringf ( const char *  fmt,
  ... 
) const
const char * ppl6::CAssocArray::GetCurrentKey ( CString str = NULL) const
Beschreibung:
Die Funktion liefert den Namen des aktuellen Schlüssels zurück.
Parameter
[in]strOptionaler Pointer auf einen CString, in dem der Schlüssel gespeichert werden soll. Wird er nicht angegeben, wird nur der Pointer auf den Schlüsselnamen zurückgegeben.
Rückgabe
Gibt einen Pointer auf den Namen des Schlüssels zurück.
const char * ppl6::CAssocArray::GetCurrentKey ( CString key) const
Beschreibung:
Die Funktion liefert den Namen des aktuellen Schlüssels zurück.
Parameter
[in]keyEin CString, in dem der Schlüssel gespeichert werden soll.
Rückgabe
Gibt einen Pointer auf den Namen des Schlüssels zurück.
CWString * ppl6::CAssocArray::GetCWString ( const char *  key) const
Beschreibung:
Diese Funktion liefert den Pointer auf den CWString des angegebenen Schlüssels zurück, sofern der Schlüssel vorhanden ist und diesem Datentyp entspricht.
Parameter
[in]keyPointer auf den Namen des Schlüssels
Rückgabe
Liefert einen CString-Pointer auf den Wert des Schlüssels zurück, oder NULL, wenn der Schlüssel nicht vorhanden, leer oder ein anderer Datentyp ist.
CWString * ppl6::CAssocArray::GetCWString ( ARRAY_RESULT  res) const
Beschreibung:
Diese Funktion prüft, ob es sich bei dem angegeben Ergebnis um einen CWString handelt und gibt dessen Pointer zurück.
Parameter
[in]resErgebnis aus einer vorhergehenden GetFirst*, GetNext*, etc. Funktion, die zum Durchwandern des Arrays verwendet wurde.
Rückgabe
Falls es sich bei dem Ergebnis um einen CWString gehandelt hat, wird dessen Pointer zurückgegeben. Ist das nicht der Fall, wird NULL zurückgegeben und ein Fehlercode gesetzt.
CWString * ppl6::CAssocArray::GetCWStringf ( const char *  fmt,
  ... 
) const
Beschreibung:
Diese Funktion liefert den Pointer auf den CWString des angegebenen Schlüssels zurück, sofern der Schlüssel vorhanden ist und diesem Datentyp entspricht.
Parameter
[in]fmtPointer auf einen Formatstring, der den Namen des gewünschten Schlüssels ergibt
[in]...Beliebig viele weitere Parameter, die im Formatstring benötigt werden.
Rückgabe
Liefert einen CWString-Pointer auf den Wert des Schlüssels zurück, oder NULL, wenn der Schlüssel nicht vorhanden, leer oder ein anderer Datentyp ist.
int ppl6::CAssocArray::GetDatatype ( ARRAY_RESULT  res) const
Beschreibung:
Diese Funktion liefert den Datentyps eines Elements zurück, dass zuvor über die Auslesefunktionen GetFirst, GetNext ausgelesen wurde.
Parameter
[in]resErgebnis einer vorherigen Abfrage mit GetFirst, GetNext, GetLast oder GetPrevious
Rückgabe
Datentyp ppl6::datatype
CDateTime ppl6::CAssocArray::GetDateTime ( const char *  key) const
const char * ppl6::CAssocArray::Getf ( const char *  fmt,
  ... 
) const
Beschreibung:
Diese Funktion liefert einen Char-Pointer auf den Wert des angegebenen Schlüssels zurück. Der Datentyp im Array kann sowohl CString als auch CWString sein, der Rückgabewert zeigt jedoch immer auf einen UTF-8-String.
Parameter
[in]fmtPointer auf einen Formatstring, der den Namen des gewünschten Schlüssels ergibt
[in]...Beliebig viele weitere Parameter, die im Formatstring benötigt werden.
Rückgabe
Liefert einen char-Pointer auf den Wert des Schlüssels zurück, oder NULL, wenn der Schlüssel nicht vorhanden, leer oder ein anderer Datentyp ist.
ARRAY_RESULT ppl6::CAssocArray::GetFirst ( )
Beschreibung:
Diese Funktion liefert das erste Element aus dem Array zurück. Mit folgenden Funktion kann der Datentyp ermittelt werden:

Mit folgenden Funktionen kann der Inhalt des Wertes ausgelesen werden:

Rückgabe
Pointer auf das erste Element des Arrays oder NULL, wenn das Array leer ist.
Siehe auch
ARRAY_RESULT ppl6::CAssocArray::GetFirst ( CTreeWalker walk) const
int ppl6::CAssocArray::GetFirst ( char **  key,
char **  value 
)
Beschreibung:
Diese Funktion sucht den ersten String im Array und speichert Pointer auf dessen Key und Value an den angegebenen Adressen.
Parameter
[in]keyPointer auf einen Charpointer, in dem der Pointer auf den Schlüsselname abgelegt werden soll
[in]valuePointer auf einen Charpointer, in dem der Pointer auf den Wert abgelegt werden soll
Rückgabe
Bei Erfolg liefert die Funktion true (1) zurück, im Fehlerfall false (0).
Bemerkungen
Die Funktion findet alle CStrings und CWStrings im Array. Der Rückgabewert value wird jedoch bei CWString-Werten von Unicode nach UTF-8 konvertiert. Die Rückgabewerte sind aufsteigen sortiert nach Schlüssel.
Siehe auch
int ppl6::CAssocArray::GetFirst ( CString key,
CString value 
)
Beschreibung:
Diese Funktion sucht den ersten String im Array und speichert dessen Key und Value in den übergebenen CStrings.
Parameter
[in]keyPointer auf einen CString in dem der Schlüsselname abgelegt werden soll
[in]valuePointer auf einen CString in dem der Wert abgelegt werden soll
Rückgabe
Bei Erfolg liefert die Funktion true (1) zurück, im Fehlerfall false (0).
Bemerkungen
Die Funktion findet alle CStrings und CWStrings im Array. Der Rückgabewert value wird jedoch bei CWString-Werten von Unicode nach UTF-8 konvertiert. Die Rückgabewerte sind aufsteigen sortiert nach Schlüssel.
Siehe auch
int ppl6::CAssocArray::GetFirst ( CString key,
CString value 
)
Beschreibung:
Diese Funktion sucht den ersten String im Array und speichert dessen Key und Value in den übergebenen CStrings.
Parameter
[in]keyPointer auf einen CString in dem der Schlüsselname abgelegt werden soll
[in]valuePointer auf einen CString in dem der Wert abgelegt werden soll
Rückgabe
Bei Erfolg liefert die Funktion true (1) zurück, im Fehlerfall false (0).
Bemerkungen
Die Funktion findet alle CStrings und CWStrings im Array. Der Rückgabewert value wird jedoch bei CWString-Werten von Unicode nach UTF-8 konvertiert. Die Rückgabewerte sind aufsteigen sortiert nach Schlüssel.
Siehe auch
CAssocArray * ppl6::CAssocArray::GetFirstArray ( )
Beschreibung:
Diese Funktion liefert das erste Element aus dem Array zurück, das vom Datentyp CAssocArray ist.
Rückgabe
Pointer auf das erste Array oder NULL, wenn das Array leer ist oder kein CAssocArray enthält.
Siehe auch
CAssocArray * ppl6::CAssocArray::GetFirstArray ( CTreeWalker walk) const
Beschreibung:
Diese Funktion liefert das erste Element aus dem Array zurück, das vom Datentyp CAssocArray ist.
Rückgabe
Pointer auf das erste Array oder NULL, wenn das Array leer ist oder kein CAssocArray enthält.
Siehe auch
int ppl6::CAssocArray::GetFirstArray ( CAssocArray res)
int ppl6::CAssocArray::GetKey ( CString key,
const char *  value,
bool  recursive = false 
)
Beschreibung:
Diese Funktion durchsucht alle Strings im Array und prüft, ob dessen Wert mit dem gewünschten value übereinstimmt. Der Schlüssel-Name des ersten passenden Elements wird zurückgegeben.
Parameter
[out]keyIn diesem String wird der gefundene Schlüssel gespeichert
[in]valueDer gesuchte Wert
[in]recursiveOptionaler Parameter. Wenn gesetzt, werden alle Ebenen des Arrays rekursiv durchsucht. Wenn nicht (=default), wird nur die erste Ebene durchsucht.
Rückgabe
Wurde der Wert gefunden, gibt die Funktion true (1) zurück und der Name des Schlüssels wird in key gespeichert. Konnte der Wert nicht gefunden werden, gibt die Funktion false (0) zurück und key bleibt unverändert.
const char * ppl6::CAssocArray::GetKey ( ARRAY_RESULT  res,
CString str = NULL 
) const
Beschreibung:
Diese Funktion liefert den Schlüsselnamen des angegebenen Ergebnisses zurück.
Parameter
[in]resErgebnis aus einer vorhergehenden GetFirst*, GetNext*, etc. Funktion, die zum Durchwandern des Arrays verwendet wurde.
[in]strOptionaler Pointer auf einen CString, in dem der Schlüssel gespeichert werden soll. Wird er nicht angegeben, wird nur der Pointer auf den Schlüsselnamen zurückgegeben.
Rückgabe
Gibt einen Pointer auf den Namen des Schlüssels zurück.
const char * ppl6::CAssocArray::GetKey ( ARRAY_RESULT  res,
CString key 
) const
Beschreibung:
Diese Funktion liefert den Schlüsselnamen des angegebenen Ergebnisses zurück.
Parameter
[in]resErgebnis aus einer vorhergehenden GetFirst*, GetNext*, etc. Funktion, die zum Durchwandern des Arrays verwendet wurde.
[in]keyEin CString, in dem der Schlüssel gespeichert werden soll.
Rückgabe
Gibt einen Pointer auf den Namen des Schlüssels zurück.
ARRAY_RESULT ppl6::CAssocArray::GetLast ( )
Beschreibung:
Diese Funktion liefert das letzte Element aus dem Array zurück.
Rückgabe
Pointer auf das letzte Element des Arrays oder NULL, wenn das Array leer ist.
Siehe auch
int ppl6::CAssocArray::GetLast ( char **  key,
char **  value 
)
Beschreibung:
Diese Funktion sucht den letzten String im Array und speichert Pointer auf dessen Key und Value an den angegebenen Adressen.
Parameter
[in]keyPointer auf einen Charpointer, in dem der Pointer auf den Schlüsselname abgelegt werden soll
[in]valuePointer auf einen Charpointer, in dem der Pointer auf den Wert abgelegt werden soll
Rückgabe
Bei Erfolg liefert die Funktion true (1) zurück, im Fehlerfall false (0).
Bemerkungen
Die Funktion findet alle CStrings und CWStrings im Array. Der Rückgabewert value wird jedoch bei CWString-Werten von Unicode nach UTF-8 konvertiert. Die Rückgabewerte sind absteigend sortiert nach Schlüssel.
Siehe auch
int ppl6::CAssocArray::GetLast ( CString key,
CString value 
)
Beschreibung:
Diese Funktion sucht den letzten String im Array und speichert dessen Key und Value in den übergebenen CStrings.
Parameter
[in]keyReferenz auf einen CString in dem der Schlüsselname abgelegt werden soll
[in]valueReferenz auf einen CString in dem der Wert abgelegt werden soll
Rückgabe
Bei Erfolg liefert die Funktion true (1) zurück, im Fehlerfall false (0).
Bemerkungen
Die Funktion findet alle CStrings und CWStrings im Array. Der Rückgabewert value wird jedoch bei CWString-Werten von Unicode nach UTF-8 konvertiert. Die Rückgabewerte sind absteigend sortiert nach Schlüssel.
Siehe auch
int ppl6::CAssocArray::GetLast ( CString key,
CString value 
)
Beschreibung:
Diese Funktion sucht den letzten String im Array und speichert dessen Key und Value in den übergebenen CStrings.
Parameter
[in]keyPointer auf einen CString in dem der Schlüsselname abgelegt werden soll
[in]valuePointer auf einen CString in dem der Wert abgelegt werden soll
Rückgabe
Bei Erfolg liefert die Funktion true (1) zurück, im Fehlerfall false (0).
Bemerkungen
Die Funktion findet alle CStrings und CWStrings im Array. Der Rückgabewert value wird jedoch bei CWString-Werten von Unicode nach UTF-8 konvertiert. Die Rückgabewerte sind absteigend sortiert nach Schlüssel.
Siehe auch
CAssocArray * ppl6::CAssocArray::GetLastArray ( )
Beschreibung:
Diese Funktion liefert das letzte Element aus dem Array zurück, das vom Datentyp CAssocArray ist.
Rückgabe
Pointer auf das letzte Array oder NULL, wenn das Array leer ist oder kein CAssocArray enthält.
Siehe auch
CAssocArray * ppl6::CAssocArray::GetLastArray ( CTreeWalker walk) const
Beschreibung:
Diese Funktion liefert das letzte Element aus dem Array zurück, das vom Datentyp CAssocArray ist.
Rückgabe
Pointer auf das letzte Array oder NULL, wenn das Array leer ist oder kein CAssocArray enthält.
Siehe auch
int ppl6::CAssocArray::GetLastArray ( CAssocArray res)
ARRAY_RESULT ppl6::CAssocArray::GetNext ( )
Beschreibung:
Diese Funktion liefert das nächste Element aus dem Array zurück.
Rückgabe
Pointer auf das letzte Element des Arrays oder NULL, wenn kein weiteres Element vorhanden ist.
Siehe auch
ARRAY_RESULT ppl6::CAssocArray::GetNext ( CTreeWalker walk) const
int ppl6::CAssocArray::GetNext ( char **  key,
char **  value 
)
Beschreibung:
Diese Funktion sucht den nächsten String im Array und speichert Pointer auf dessen Key und Value an den angegebenen Adressen.
Parameter
[in]keyPointer auf einen Charpointer, in dem der Pointer auf den Schlüsselname abgelegt werden soll
[in]valuePointer auf einen Charpointer, in dem der Pointer auf den Wert abgelegt werden soll
Rückgabe
Bei Erfolg liefert die Funktion true (1) zurück, im Fehlerfall false (0).
Bemerkungen
Die Funktion findet alle CStrings und CWStrings im Array. Der Rückgabewert value wird jedoch bei CWString-Werten von Unicode nach UTF-8 konvertiert. Die Rückgabewerte sind aufsteigen sortiert nach Schlüssel.
Siehe auch
int ppl6::CAssocArray::GetNext ( CString key,
CString value 
)
Beschreibung:
Diese Funktion sucht den ersten String im Array und speichert dessen Key und Value in den übergebenen CStrings.
Parameter
[in]keyPointer auf einen CString in dem der Schlüsselname abgelegt werden soll
[in]valuePointer auf einen CString in dem der Wert abgelegt werden soll
Rückgabe
Bei Erfolg liefert die Funktion true (1) zurück, im Fehlerfall false (0).
Bemerkungen
Die Funktion findet alle CStrings und CWStrings im Array. Der Rückgabewert value wird jedoch bei CWString-Werten von Unicode nach UTF-8 konvertiert. Die Rückgabewerte sind aufsteigen sortiert nach Schlüssel.
Siehe auch
int ppl6::CAssocArray::GetNext ( CString key,
CString value 
)
Beschreibung:
Diese Funktion sucht den ersten String im Array und speichert dessen Key und Value in den übergebenen CStrings.
Parameter
[in]keyPointer auf einen CString in dem der Schlüsselname abgelegt werden soll
[in]valuePointer auf einen CString in dem der Wert abgelegt werden soll
Rückgabe
Bei Erfolg liefert die Funktion true (1) zurück, im Fehlerfall false (0).
Bemerkungen
Die Funktion findet alle CStrings und CWStrings im Array. Der Rückgabewert value wird jedoch bei CWString-Werten von Unicode nach UTF-8 konvertiert. Die Rückgabewerte sind aufsteigen sortiert nach Schlüssel.
Siehe auch
CAssocArray * ppl6::CAssocArray::GetNextArray ( )
Beschreibung:
Diese Funktion liefert das nächste Element aus dem Array zurück, das vom Datentyp CAssocArray ist.
Rückgabe
Pointer auf das nächste Array oder NULL, wenn kein weiteres Array vorhanden ist.
Siehe auch
CAssocArray * ppl6::CAssocArray::GetNextArray ( CTreeWalker walk) const
Beschreibung:
Diese Funktion liefert das nächste Element aus dem Array zurück, das vom Datentyp CAssocArray ist.
Rückgabe
Pointer auf das nächste Array oder NULL, wenn kein weiteres Array vorhanden ist.
Siehe auch
int ppl6::CAssocArray::GetNextArray ( CAssocArray res)
void * ppl6::CAssocArray::GetPointer ( const char *  key) const
Beschreibung:
Diese Funktion liefert den Void-Pointer des angegebenen Schlüssels zurück, sofern der Schlüssel vorhanden ist und diesem Datentyp entspricht.
Parameter
[in]keyPointer auf den Namen des Schlüssels
Rückgabe
Liefert einen Void-Pointer auf den Wert des Schlüssels zurück, oder NULL, wenn der Schlüssel nicht vorhanden, leer oder ein anderer Datentyp ist.
void * ppl6::CAssocArray::GetPointer ( ARRAY_RESULT  res) const
Beschreibung:
Diese Funktion prüft, ob es sich bei dem angegeben Ergebnis um einen Void-Pointer handelt und gibt diesen zurück.
Parameter
[in]resErgebnis aus einer vorhergehenden GetFirst*, GetNext*, etc. Funktion, die zum Durchwandern des Arrays verwendet wurde.
Rückgabe
Falls es sich bei dem Ergebnis um einen Void-Pointer gehandelt hat, wird dessen Pointer zurückgegeben. Ist das nicht der Fall, wird NULL zurückgegeben und ein Fehlercode gesetzt.
void * ppl6::CAssocArray::GetPointerf ( const char *  fmt,
  ... 
) const
Beschreibung:
Diese Funktion liefert den Void-Pointer des angegebenen Schlüssels zurück, sofern der Schlüssel vorhanden ist und diesem Datentyp entspricht.
Parameter
[in]fmtPointer auf einen Formatstring, der den Namen des gewünschten Schlüssels ergibt
[in]...Beliebig viele weitere Parameter, die im Formatstring benötigt werden.
Rückgabe
Liefert einen Void-Pointer auf den Wert des Schlüssels zurück, oder NULL, wenn der Schlüssel nicht vorhanden, leer oder ein anderer Datentyp ist.
ARRAY_RESULT ppl6::CAssocArray::GetPrevious ( )
Beschreibung:
Diese Funktion liefert das vorhergehende Element aus dem Array zurück.
Rückgabe
Pointer auf das vorhergehende Element des Arrays oder NULL, wenn kein weiteres Element vorhanden ist.
Siehe auch
int ppl6::CAssocArray::GetPrevious ( char **  key,
char **  value 
)
Beschreibung:
Diese Funktion sucht den vorherigen String im Array und speichert Pointer auf dessen Key und Value an den angegebenen Adressen.
Parameter
[in]keyPointer auf einen Charpointer, in dem der Pointer auf den Schlüsselname abgelegt werden soll
[in]valuePointer auf einen Charpointer, in dem der Pointer auf den Wert abgelegt werden soll
Rückgabe
Bei Erfolg liefert die Funktion true (1) zurück, im Fehlerfall false (0).
Bemerkungen
Die Funktion findet alle CStrings und CWStrings im Array. Der Rückgabewert value wird jedoch bei CWString-Werten von Unicode nach UTF-8 konvertiert. Die Rückgabewerte sind absteigend sortiert nach Schlüssel.
Siehe auch
int ppl6::CAssocArray::GetPrevious ( CString key,
CString value 
)
Beschreibung:
Diese Funktion sucht den vorherigen String im Array und speichert dessen Key und Value in den übergebenen CStrings.
Parameter
[in]keyReferenz auf einen CString in dem der Schlüsselname abgelegt werden soll
[in]valueReferenz auf einen CString in dem der Wert abgelegt werden soll
Rückgabe
Bei Erfolg liefert die Funktion true (1) zurück, im Fehlerfall false (0).
Bemerkungen
Die Funktion findet alle CStrings und CWStrings im Array. Der Rückgabewert value wird jedoch bei CWString-Werten von Unicode nach UTF-8 konvertiert. Die Rückgabewerte sind absteigend sortiert nach Schlüssel.
Siehe auch
int ppl6::CAssocArray::GetPrevious ( CString key,
CString value 
)
Beschreibung:
Diese Funktion sucht den vorherigen String im Array und speichert dessen Key und Value in den übergebenen CStrings.
Parameter
[in]keyPointer auf einen CString in dem der Schlüsselname abgelegt werden soll
[in]valuePointer auf einen CString in dem der Wert abgelegt werden soll
Rückgabe
Bei Erfolg liefert die Funktion true (1) zurück, im Fehlerfall false (0).
Bemerkungen
Die Funktion findet alle CStrings und CWStrings im Array. Der Rückgabewert value wird jedoch bei CWString-Werten von Unicode nach UTF-8 konvertiert. Die Rückgabewerte sind absteigend sortiert nach Schlüssel.
Siehe auch
CAssocArray * ppl6::CAssocArray::GetPreviousArray ( )
Beschreibung:
Diese Funktion liefert das vorhergehende Element aus dem Array zurück, das vom Datentyp CAssocArray ist.
Rückgabe
Pointer auf das vorhergehende Array oder NULL, wenn kein weiteres Array vorhanden ist.
Siehe auch
CAssocArray * ppl6::CAssocArray::GetPreviousArray ( CTreeWalker walk) const
Beschreibung:
Diese Funktion liefert das vorhergehende Element aus dem Array zurück, das vom Datentyp CAssocArray ist.
Rückgabe
Pointer auf das vorhergehende Array oder NULL, wenn kein weiteres Array vorhanden ist.
Siehe auch
int ppl6::CAssocArray::GetPreviousArray ( CAssocArray res)
CString * ppl6::CAssocArray::GetString ( const char *  key) const
Beschreibung:
Diese Funktion liefert den Pointer auf den CString des angegebenen Schlüssels zurück, sofern der Schlüssel vorhanden ist und diesem Datentyp entspricht.
Parameter
[in]keyPointer auf den Namen des Schlüssels
Rückgabe
Liefert einen CString-Pointer auf den Wert des Schlüssels zurück, oder NULL, wenn der Schlüssel nicht vorhanden, leer oder ein anderer Datentyp ist.
CString * ppl6::CAssocArray::GetString ( ARRAY_RESULT  res) const
Beschreibung:
Diese Funktion prüft, ob es sich bei dem angegeben Ergebnis um einen CString handelt und gibt dessen Pointer zurück.
Parameter
[in]resErgebnis aus einer vorhergehenden GetFirst*, GetNext*, etc. Funktion, die zum Durchwandern des Arrays verwendet wurde.
Rückgabe
Falls es sich bei dem Ergebnis um einen CString gehandelt hat, wird dessen Pointer zurückgegeben. Ist das nicht der Fall, wird NULL zurückgegeben und ein Fehlercode gesetzt.
CString * ppl6::CAssocArray::GetStringf ( const char *  fmt,
  ... 
) const
Beschreibung:
Diese Funktion liefert den Pointer auf den CString des angegebenen Schlüssels zurück, sofern der Schlüssel vorhanden ist und diesem Datentyp entspricht.
Parameter
[in]fmtPointer auf einen Formatstring, der den Namen des gewünschten Schlüssels ergibt
[in]...Beliebig viele weitere Parameter, die im Formatstring benötigt werden.
Rückgabe
Liefert einen CString-Pointer auf den Wert des Schlüssels zurück, oder NULL, wenn der Schlüssel nicht vorhanden, leer oder ein anderer Datentyp ist.
ARRAY_RESULT ppl6::CAssocArray::GetValue ( const char *  key) const
Beschreibung:
Diese Funktion liefert den Pointer auf Element zum angegebenen Schlüssels zurück, sofern der Schlüssel vorhanden ist. Der Inhalt des Elements kann mit den verschiedenen Is...-Funktionen geprüft (z.B. IsString) und mit Get... ausgelesen werden (z.B. GetString).
Parameter
[in]keyPointer auf den Namen des Schlüssels
Rückgabe
Liefert einen Pointer von Typ ARRAY_RESULT auf den Schlüssels zurück, oder NULL, wenn der Schlüssel nicht vorhanden ist.
bool ppl6::CAssocArray::HaveKey ( const char *  key) const
int ppl6::CAssocArray::ImportBinary ( const void *  buffer,
int  buffersize 
)
Beschreibung:
Mit dieser Funktion kann ein zuvor mit CAssocArray::ExportBinary exportiertes Assoziatives Array wieder importiert werden. Falls im Array bereits Daten vorhanden sind, werden diese nicht gelöscht, können aber überschrieben werden, wenn es im Export gleichnamige Schlüssel gibt.
Parameter
[in]bufferPointer auf den Puffer, der die zu importierenden Daten enthält
[in]buffersizeGröße des Puffers
Rückgabe
Wenn die Daten erfolgreich importiert werden konnten, gibt die Funktion true (1) zurück, im Fehlerfall false (0).
Siehe auch
int ppl6::CAssocArray::ImportBinary ( const CBinary bin)
Beschreibung:
Mit dieser Funktion kann ein zuvor mit CAssocArray::ExportBinary exportiertes Assoziatives Array wieder importiert werden. Falls im Array bereits Daten vorhanden sind, werden diese nicht gelöscht, können aber überschrieben werden, wenn es im Export gleichnamige Schlüssel gibt.
Parameter
[in]binPointer auf eine CBinary Klassem die die zu importierenden Daten enthält
Rückgabe
Wenn die Daten erfolgreich importiert werden konnten, gibt die Funktion true (1) zurück, im Fehlerfall false (0).
Siehe auch
int ppl6::CAssocArray::IsArray ( ARRAY_RESULT  res) const
Beschreibung:
Diese Funktion prüft, ob es sich bei dem angegebenen Erfebnis um ein CAssocArray handelt.
Parameter
[in]resErgebnis einer vorherigen Abfrage mit GetFirst, GetNext, GetLast oder GetPrevious
Rückgabe
Handelt es sich um den gewünschten Datentyp, gibt die Funktion true (1) zurück. Wenn nicht, wird false (0) zurückgegeben und ein Fehlercode gesetzt.
int ppl6::CAssocArray::IsBinary ( ARRAY_RESULT  res) const
Beschreibung:
Diese Funktion prüft, ob es sich bei dem angegebenen Erfebnis um einen CBinary handelt.
Parameter
[in]resErgebnis einer vorherigen Abfrage mit GetFirst, GetNext, GetLast oder GetPrevious
Rückgabe
Handelt es sich um den gewünschten Datentyp, gibt die Funktion true (1) zurück. Wenn nicht, wird false (0) zurückgegeben und ein Fehlercode gesetzt.
int ppl6::CAssocArray::IsCString ( ARRAY_RESULT  res) const
Beschreibung:
Diese Funktion prüft, ob es sich bei dem angegebenen Erfebnis um einen CString handelt.
Parameter
[in]resErgebnis einer vorherigen Abfrage mit GetFirst, GetNext, GetLast oder GetPrevious
Rückgabe
Handelt es sich um den gewünschten Datentyp, gibt die Funktion true (1) zurück. Wenn nicht, wird false (0) zurückgegeben und ein Fehlercode gesetzt.
int ppl6::CAssocArray::IsCWString ( ARRAY_RESULT  res) const
Beschreibung:
Diese Funktion prüft, ob es sich bei dem angegebenen Erfebnis um einen CWString handelt.
Parameter
[in]resErgebnis einer vorherigen Abfrage mit GetFirst, GetNext, GetLast oder GetPrevious
Rückgabe
Handelt es sich um den gewünschten Datentyp, gibt die Funktion true (1) zurück. Wenn nicht, wird false (0) zurückgegeben und ein Fehlercode gesetzt.
int ppl6::CAssocArray::IsFalse ( const char *  key) const
Beschreibung:
Diese Funktion prüft, ob der angegeben Schlüssel im Array vorhanden ist und dessen Wert "falsch" ist. Dies ist der Fall, wenn eine der folgenden Bedingungen erfüllt ist:
  • Der String ist leer
  • Der String enthält die Ziffer 0
  • Der String enthält kein der Worte "true", "wahr", "yes", "ja", "on", wobei Gross-/Kleingeschrieben keine Rolle spielt
Parameter
[in]keyPointer auf den gewünschten Schlüssel
Rückgabe
Liefert true (1) zurück, wenn der Schlüssel "falsch" oder nicht vorhanden ist, andernfalls false.
int ppl6::CAssocArray::IsPointer ( ARRAY_RESULT  res) const
Beschreibung:
Diese Funktion prüft, ob es sich bei dem angegebenen Erfebnis um einen Pointer handelt.
Parameter
[in]resErgebnis einer vorherigen Abfrage mit GetFirst, GetNext, GetLast oder GetPrevious
Rückgabe
Handelt es sich um den gewünschten Datentyp, gibt die Funktion true (1) zurück. Wenn nicht, wird false (0) zurückgegeben und ein Fehlercode gesetzt.
int ppl6::CAssocArray::IsString ( ARRAY_RESULT  res) const
Beschreibung:
Diese Funktion prüft, ob es sich bei dem angegebenen Erfebnis um einen CString handelt.
Parameter
[in]resErgebnis einer vorherigen Abfrage mit GetFirst, GetNext, GetLast oder GetPrevious
Rückgabe
Handelt es sich um den gewünschten Datentyp, gibt die Funktion true (1) zurück. Wenn nicht, wird false (0) zurückgegeben und ein Fehlercode gesetzt.
int ppl6::CAssocArray::IsTrue ( const char *  key) const
Beschreibung:
Diese Funktion prüft, ob der angegeben Schlüssel im Array vorhanden ist und dessen Wert "wahr" ist. Dies ist der Fall, wenn eine der folgenden Bedingungen erfüllt ist:
  • Der String enthält eine Ziffer ungleich 0
  • Der String enthält das Wort "true" (Gross- oder Kleingeschrieben)
  • Der String enthält das Wort "wahr" (Gross- oder Kleingeschrieben)
  • Der String enthält das Wort "yes" (Gross- oder Kleingeschrieben)
  • Der String enthält das Wort "ja" (Gross- oder Kleingeschrieben)
  • Der String enthält das Wort "on" (Gross- oder Kleingeschrieben)
Parameter
[in]keyPointer auf den gewünschten Schlüssel
Rückgabe
Liefert true (1) zurück, wenn der Schlüssel "wahr" ist, oder false, wenn er entweder nicht vorhanden ist, keinen Wert enthält oder nicht den oben genannten Bedingungen entspricht. Ein Fehlercode wird nicht gesetzt.
int CVar::IsType ( int  type) const
inherited
void ppl6::CAssocArray::List ( const char *  prefix = NULL) const
Beschreibung:
Diese Funktion dient Debugging-Zwecken. Der Aufruf bewirkt, dass der Inhalt des kompletten Arrays auf STDOUT ausgegeben wird.
Parameter
[in]prefixOptionaler Text, der bei der Ausgabe jedem Element vorangestellt wird
Beispiel:
bin.Load("main.cpp");
a.Set("key1","value1");
a.Set("array1/unterkey1","value2");
a.Set("array1/unterkey2","value3");
a.Set("array1/noch ein array/unterkey1","value4");
a.Set("array1/unterkey2","value5");
a.Set("key2","value6");
a.Set("dateien/main.cpp",&bin);
a.Set("array2/unterkey1","value7");
a.Set("array2/unterkey2","value8");
a.Set("array2/unterkey1","value9");
a.SetPointer("pointer1",&bin);
a.List("prefix");
Ausgabe:
prefix/array1/noch ein array/unterkey1=value4
prefix/array1/unterkey1=value2
prefix/array1/unterkey2=value5
prefix/array2/unterkey1=value9
prefix/array2/unterkey2=value8
prefix/dateien/main.cpp=CBinary, 806 Bytes
prefix/key1=value1
prefix/key2=value6
prefix/pointer1=POINTER 3217221904 (0xbfc2e910)
Bemerkungen
Die Funktion gibt nur "lesbare" Element aus. Enthält das Array Pointer oder Binaries, wird das Element zwar ausgegeben, jedoch werden als Wert nur Meta-Informationen ausgegeben (Datentyp, Pointer, Größe).
int ppl6::CAssocArray::Merge ( const char *  key,
const CAssocArray a 
)
Beschreibung:
Mit dieser Funktion wird der komplette Inhalt eines CAssocArray in den angegebenen Schlüssel hineinkopiert. Falls der Schlüssel bereits vorhanden ist, bleiben dessen Werte erhalten, können jedoch überschrieben werden, wenn das hinzuzufügende Array gleichnamige Schlüssel enthält.
Parameter
[in]keyName des Schlüssels
[in]aPointer auf das zu kopierende CAssocArray
Rückgabe
Bei Erfolg liefert die die Funktion true (1) zurück, im Fehlerfall false (0).*
CAssocArray & ppl6::CAssocArray::operator= ( const CAssocArray a)
Beschreibung:
Mit diesem Operator wird der Inhalt eines anderen CAssocArray übernommen. Die Funktion ruft zunächst CAssocArray::Clear auf, so dass ebventuell bereits vorhandene Schlüssel gelöscht werden. Anschließend wird die Funktion CAssocArray::Copy aufgerufen.
Parameter
[in]aReferenz auf das Array, das kopiert werden soll
CAssocArray & ppl6::CAssocArray::operator= ( const CArray a)
Beschreibung:
Mit diesem Operator wird der Inhalt eines CArray übernommen. Die Funktion ruft zunächst CAssocArray::Clear auf, so dass ebventuell bereits vorhandene Schlüssel gelöscht werden. Anschließend wird die Funktion CAssocArray::Copy aufgerufen.
Parameter
[in]aReferenz auf das Array, das kopiert werden soll
CAssocArray & ppl6::CAssocArray::operator= ( const CAssocArray a)
Beschreibung:
Mit diesem Operator wird der Inhalt eines anderen CAssocArray übernommen. Die Funktion ruft zunächst CAssocArray::Clear auf, so dass ebventuell bereits vorhandene Schlüssel gelöscht werden. Anschließend wird die Funktion CAssocArray::Copy aufgerufen.
Parameter
[in]aPointer auf das Array, das kopiert werden soll
CAssocArray & ppl6::CAssocArray::operator= ( CDirEntry d)
Beschreibung:
Mit diesem Operator wird der Inhalt eines CDirEntry oder CDir übernommen. Die Funktion ruft zunächst CAssocArray::Clear auf, so dass ebventuell bereits vorhandene Schlüssel gelöscht werden. Anschließend wird die Funktion CDirEntry::Copy aufgerufen, um die Daten in das Array zu kopieren.
Parameter
[in]dReferenz auf den Verzeichniseintrag CDirEntry oder CDir
CAssocArray & ppl6::CAssocArray::operator= ( CDirEntry d)
Beschreibung:
Mit diesem Operator wird der Inhalt eines CDirEntry oder CDir übernommen. Die Funktion ruft zunächst CAssocArray::Clear auf, so dass ebventuell bereits vorhandene Schlüssel gelöscht werden. Anschließend wird die Funktion CDirEntry::Copy aufgerufen, um die Daten in das Array zu kopieren.
Parameter
[in]dPointer auf den Verzeichniseintrag CDirEntry oder CDir
const char * ppl6::CAssocArray::operator[] ( const char *  key) const
Beschreibung:
Mit diesem Operator kann der String-Wert eines gewünschten Schlüssels ausgelesen werden. Er entspricht der Funktion CAssocArray::GetChar(const char *key).
Parameter
[in]keyName des gewünschten Schlüssels
Rückgabe
bei Erfolg liefert die Funktion einen Pointer auf den String-Wert des Schlüssels zurück, im Fehlerfall (Schlüssel nicht gefunden oder kein String-Element) NULL.
void ppl6::CAssocArray::Reset ( )
Beschreibung:
Mit dieser Funktion wird der interne Pointer, der zum Durchwandern des Arrays mit den Funktion GetNext, GetPrevious, usw. auf den Anfang zurückgesetzt.
void ppl6::CAssocArray::Reset ( CTreeWalker walk) const
int ppl6::CAssocArray::Set ( const char *  key,
const char *  value,
int  size = -1 
)
Beschreibung:
Diese Funktion fügt den Inhalt eines Strings dem Array hinzu.
Parameter
[in]keyName des Schlüssels
[in]valuePointer auf den Wert für den Schlüssel
[in]sizeOptionaler Parameter, der die Anzahl Bytes angibt, die aus dem value Wert übernommen werden sollen
Rückgabe
Konnte der Wert dem Array hinzugefügt werden, liefert die Funktion true (1) zurück, im Fehlerfall false (0).
Bemerkungen
int ppl6::CAssocArray::Set ( const char *  key,
const CString value,
int  size = -1 
)
Beschreibung:
Diese Funktion fügt den Inhalt eines CStrings dem Array hinzu.
Parameter
[in]keyName des Schlüssels
[in]valuePointer auf den Wert für den Schlüssel
[in]sizeOptionaler Parameter, der die Anzahl Bytes angibt, die aus dem value Wert übernommen werden sollen
Rückgabe
Konnte der Wert dem Array hinzugefügt werden, liefert die Funktion true (1) zurück, im Fehlerfall false (0).
int ppl6::CAssocArray::Set ( const char *  key,
const CWString value,
int  size = -1 
)
Beschreibung:
Diese Funktion fügt den Inhalt eines CWStrings (Unicode) dem Array hinzu.
Parameter
[in]keyName des Schlüssels
[in]valuePointer auf den Wert für den Schlüssel
[in]sizeOptionaler Parameter, der die Anzahl Zeichen angibt, die aus dem value Wert übernommen werden sollen
Rückgabe
Konnte der Wert dem Array hinzugefügt werden, liefert die Funktion true (1) zurück, im Fehlerfall false (0).
int ppl6::CAssocArray::Set ( const char *  key,
const CAssocArray array 
)
int ppl6::CAssocArray::Set ( const char *  key,
CAssocArray array,
bool  copy = true 
)
Beschreibung:
Diese Funktion fügt den Inhalt eines anderen Assoziativen Arrays hinzu.
Parameter
[in]keyName des Schlüssels
[in]arrayPointer auf das hinzuzufügende CAssocArray
[in]copyOptionaler Parameter der angibt, ob das Array kopiert werden soll (true) oder nur der Pointer auf das existierende Array übernommen werden soll (false)
Rückgabe
Konnte der Wert dem Array hinzugefügt werden, liefert die Funktion true (1) zurück, im Fehlerfall false (0).
Bemerkungen
Wird das als Parameter angegebene Array nicht kopiert, geht dessen Verwaltung dennoch in dieses Array über und darf von der Anwendung nicht selbst gelöscht werden.
int ppl6::CAssocArray::Set ( const char *  key,
const CArray array 
)
Beschreibung:
Diese Funktion fügt den Inhalt des angegebenen CArray hinzu.
Parameter
[in]keyName des Schlüssels
[in]arrayPointer auf das hinzuzufügende CArray
Rückgabe
Konnte der Wert dem Array hinzugefügt werden, liefert die Funktion true (1) zurück, im Fehlerfall false (0).
Bemerkungen
Gegenwärtig kann CAssocArray keine CArray verwalten, daher wird das CArray vor dem Einfügen in ein CAssocArray gewandelt, dessen Schlüssel durchnummeriert sind.
int ppl6::CAssocArray::Set ( const char *  key,
const CDirEntry d 
)
Beschreibung:
Mit dieser Funktion wird ein Vezeichnis-Eintrag aus der CDirEntry bzw. CDir Klasse in einen Schlüssel des CAssocArray kopiert. Dazu wird die Funktion CDirEntry::ToArray verwendet.
Parameter
[in]keyName des Schlüssels
[in]dPointer auf eine CDirEntry oder CDir-Klasse
Rückgabe
Konnte der Verzeichnis-Eintrag dem Array hinzugefügt werden, liefert die Funktion true (1) zurück, im Fehlerfall false (0).
int ppl6::CAssocArray::Set ( const char *  key,
const CBinary bin 
)
int ppl6::CAssocArray::Set ( const char *  key,
CBinary bin,
bool  copy = true 
)
Beschreibung:
Diese Funktion fügt den Inhalt des CBinary-Objekts dem Array hinzu
Parameter
[in]keyName des Schlüssels
[in]binPointer auf das hinzuzufügende CBinary
[in]copyOptionaler Parameter der angibt, ob das Binary kopiert werden soll (true) oder nur dessen Pointer übernommen werden soll (false)
Rückgabe
Konnte der Wert dem Array hinzugefügt werden, liefert die Funktion true (1) zurück, im Fehlerfall false (0).
Bemerkungen
Wird das als Parameter angegebene Binary nicht kopiert, geht dessen Verwaltung dennoch in dieses Array über und darf von der Anwendung nicht selbst gelöscht werden.
int ppl6::CAssocArray::Set ( const char *  key,
const CDateTime date 
)
int ppl6::CAssocArray::Setf ( const char *  key,
const char *  fmt,
  ... 
)
Beschreibung:
Diese Funktion fügt den Inhalt eines formatierten Strings dem Array hinzu.
Parameter
[in]keyName des Schlüssels
[in]fmtPointer auf den Format-String des Wertes
[in]...Beliebig viele Parameter, die vom Formatstring verwendet werden
Rückgabe
Konnte der Wert dem Array hinzugefügt werden, liefert die Funktion true (1) zurück, im Fehlerfall false (0).
int ppl6::CAssocArray::SetPointer ( const char *  key,
const void *  pointer 
)
Beschreibung:
Mit dieser Funktion kann ein Pointer auf eine beliebige Datenstruktur dem Array hinzugefügt werden.
Parameter
[in]keyName des Schlüssels
[in]pointerPointer auf die Daten
Rückgabe
Konnte der Wert dem Array hinzugefügt werden, liefert die Funktion true (1) zurück, im Fehlerfall false (0).
Bemerkungen
Der Pointer wid von der CAssocArray-Klasse nicht verwaltet, das heisst die Anwendung muss selbst dafür sorgen, dass ggfs. Speicher wieder freigegeben wird.
int ppl6::CAssocArray::Size ( )
Beschreibung:
Diese Funktion liefert die Anzahl Bytes zurück, die für den Buffer der Funktion CAssocArray::ExportBinary erforderlich sind. Es kann dadurch ein ausreichend großer Puffer vor Aufruf der Funktion ExportBinary angelegt werden.
Rückgabe
Anzahl Bytes oder 0 im Fehlerfall
Siehe auch
bool ppl6::CAssocArray::ToBool ( const char *  key) const
CArray ppl6::CAssocArray::ToCArray ( const char *  key) const
CAssocArray ppl6::CAssocArray::ToCAssocArray ( const char *  key) const
CBinary ppl6::CAssocArray::ToCBinary ( const char *  key) const
CString ppl6::CAssocArray::ToCString ( const char *  key) const
CWString ppl6::CAssocArray::ToCWString ( const char *  key) const
int ppl6::CAssocArray::ToInt ( const char *  key) const
long ppl6::CAssocArray::ToLong ( const char *  key) const
long long ppl6::CAssocArray::ToLongLong ( const char *  key) const
void ppl6::CAssocArray::ToTemplate ( CString s,
const char *  prefix = NULL,
const char *  linedelimiter = "\n",
const char *  splitchar = "=" 
)
Beschreibung:
Mit dieser Funktion wird der textuelle Inhalt des Arrays als Template im Key-Value-Format in einem String abgelegt. Pointer oder Binäre Daten werden ignoriert.
Parameter
[out]sString, in dem das Template gespeichert werden soll. Der String wird von der Funktion nicht gelöscht, der Inhalt des Arrays wird angehangen!
[in]prefixOptionaler Prefix, der jedem Key vorangestellt werden soll
[in]linedelimiterOptionaler Pointer auf einen String, der am Zeilenende ausgegeben werden soll. Der Default ist ein einzelnes Newline.
[in]splitcharOptionaler Pointer auf einen String, der als Trennzeichen zwischen Schlüssel und Wert verwendet werden soll. Der Default ist ein Gleichheitszeichen.
Beispiel
#include <stdio.h>
#include <string.h>
#include <ppl6.h>
int main(int argc, char **argv)
{
bin.Load("main.cpp");
a.Set("key1","Dieser Wert geht über\nmehrere Zeilen");
a.Set("array1/unterkey1","value2");
a.Set("array1/unterkey2","value3");
a.Set("array1/noch ein array/unterkey1","value4");
a.Set("array1/unterkey2","value5");
a.Set("key2","value6");
a.Set("dateien/main.cpp",&bin);
a.Set("array2/unterkey1","value7");
a.Set("array2/unterkey2","value8");
a.Set("array2/unterkey1","value9");
a.SetPointer("pointer1",&bin);
a.ToTemplate(&out,"foo");
out.Print();
}
Ergebnis:
foo/array1/noch ein array/unterkey1=value4
foo/array1/unterkey1=value2
foo/array1/unterkey2=value5
foo/array2/unterkey1=value9
foo/array2/unterkey2=value8
foo/key1=Dieser Wert geht über
foo/key1=mehrere Zeilen
foo/key2=value6
An diesem Beispiel sieht man, dass Pointer- und CBinary-Werte nicht exportiert werden und Werte, die Zeilenumbrüche enthalten, werden auf mehrere Key-Value-Paare aufgesplittet. Die Importfunktion (CAssocArray::CreateFromTemplate, CAssocArray::CreateFromConfig) fügen diese wieder zu einer einzelnen Variable mit Zeilenumbruch zusammen.
int ppl6::CAssocArray::Validate ( const char *  prefix = NULL)
Beschreibung:
Diese Funktion kann aufgerufen werden, um die Integrität der internen AVL-Bäume des Arrays zu überprüfen. Sie hangelt sich durch den sämtliche Bäume und überprüft für jeden Knoten, ob die Verbindungen (left, right, parent) sowie die Balance in Ordnung sind. Außerdem wird die tatsächliche Anzahl Knoten ermittelt, die mit dem Sollwert übereinstimmen muß.
Rückgabe
Wird ein Fehler festgestellt, wird eine Beschreibung auf STDOUT ausgegeben und die Funktion gibt false (0) zurück. Wird kein Fehler festgestellt, gibt die Funktion true (1) zurück.
Seit
Die Funktion wurde in Version 6.2.0 eingeführt.

Dokumentation der Datenelemente

ppl6::CAssocArray::maxint
private
ppl6::CAssocArray::num
private
ppl6::CAssocArray::Tree
private
ppluint8 ppl6::CVar::type
protectedinherited

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: