SStringList

Liste von Zeichenketten. [Mehr ...]

Vererbung

Basisklassen(n)   abgeleitete Klassen
  SStringList  

Attribute

public:

Attribut Typ Beschreibung
ignoreCase BOOL Gibt an, ob in der SStringListe die Groß-/Kleinschreibung ignoriert werden soll (beim Sortieren und Vergleichen).

protected:

Attribut Typ Beschreibung
list SString** internes Array der Listenelemente
listsize int aktuelle Größe der Liste
memsize int aktuell reservierter Speicherplatz der Liste

Operationen

public:

Name Parameter Rückgabewert Beschreibung
add int Fügt ein leeres Element an die Liste an.
add const SString& element,
BOOL noDoubleEntries=false
int Fügt ein Element zur Liste hinzu.
addFromString const SString& context,
const SString& separator,
BOOL noDoubleEntries
int Fügt aus dem Übergebenen SString an die SStringList an.
find const SString& value,
int start=0
int
fromCommandline const SString& commandline int Liest die einzelnen Parameter einer Kommandozeile in einzelne Listen-Einträge.
fromString const SString& peText,
const SString& separator=",
"
int Füllt eine Liste aus einem String.
fromStringEx const SString& peText,
char separator,
const SString& blockquote="",
BOOL maskWithSlash=false
int Füllt eine Liste aus einem String.
getAt int pos SString& Liefert ein Element der Liste.
getBuffer SString** Liefert den internen Datenpuffer.
getSize int Liefert die aktuelle Listengröße.
insertAt int pos int Fügt ein leeres Element in die Liste ein.
insertAt int pos,
const SString& element
int Fügt ein Element in die Liste ein.
isEmpty BOOL Ermittelt, ob die Liste leer ist.
operator[] int pos SString& Zugriffsoperator per Index.
removeAll void Löscht alle Elemente aus der Liste.
removeAt int pos void Löscht ein Element aus der Liste.
removeValue const SString& value int Löscht alle Einträge eines Wertes aus der Liste.
setAt int pos,
const SString& value
BOOL Ändert den Wert eines Eintrages.
sort int dir = 1 void Sortiert die Liste.
toString const SString& separator const SString Erstellt einen SString, der alle Einträge der Liste enthält.

protected:

Name Parameter Rückgabewert Beschreibung
compareEntries int pos1, int pos2 int Vergleicht zwei Listeneinträge miteinander.
compareValue int pos,
const SString& value
int Vergleicht ein Listenelement mit einem übergebenen Wert.
compareValue int pos,
const SString& value
int Vergleicht ein Listenelement mit einem übergebenen Wert.
quicksort int start,
int ende,
int dir = 1
void Führt die Sortierung durch.
resize int size void Ändert die Größe des für die Liste reservierten Speichers.
swap int pos1, int pos2 void Vertauscht zwei Listeneinträge.

Detailbeschreibung SStringList

Liste von Zeichenketten.


Bei Sortierung und Vergleichen von Zeichenketten wir die Groß-/Kleinschreibung beachtet. Ist dies nicht gewünscht, muss die Member-Variable 'caseSensitive' auf False gesetzt werden.

Funktionsbeschreibungen

add() int

Fügt ein leeres Element an die Liste an.

Rückgabe:

int Position des eingefügten Elementes

add(const SString& element, BOOL noDoubleEntries=false) int

Fügt ein Element zur Liste hinzu.

Das Element wird am Ende der Liste angefügt. Ist der Parameter 'noDoubleEntries' true, wird zuerst die bestehende Liste überprüft, ob der Eintrag schon vorhanden ist. In diesem Fall wird das neue Element nicht eingefügt sondern nur die Position des ersten identischen Elements zurückgegeben.

Parameter:

element das neue Listenelement
noDoubleEntries doppelte Einträge verhindern (Standard: false)

Rückgabe:

int Position des eingefügten bzw. gefundenen Elementes

addFromString(const SString& context, const SString& separator, BOOL noDoubleEntries) int

Fügt aus dem Übergebenen SString an die SStringList an.

Parameter:

context String mit den anzufügenden Daten
separator Trennzeichen in context
noDoubleEntries verhindert doppelte Einträge

Rückgabe:

int Anzahl der hinzugefügten Listeneinträge

compareEntries(int pos1, int pos2) int

Vergleicht zwei Listeneinträge miteinander.

Parameter:

pos1 1. Eintrag für Vergleich
pos2 2. Eintrag für Vergleich

Rückgabe:

int Vergleichsergebnis
  • -1 Element an 'pos1' ist kleiner
  • 0 Elemente sind gleichgroß
  • 1 Element an 'pos2' ist kleiner

compareValue(int pos, const SString& value) int

Vergleicht ein Listenelement mit einem übergebenen Wert.

Dabei wird der Wert von 'ignoreCase' beachtet.

Parameter:

pos Listenelement für Vergleich
value Wert für Vergleich

Rückgabe:

int Vergleichsergebnis
  • -1 Listenelement ist kleiner
  • 0 Elemente sind gleichgroß
  • 1 übergebener Wert ist kleiner

compareValue(int pos, const SString& value) int

Vergleicht ein Listenelement mit einem übergebenen Wert.

Parameter:

pos Listenelement für Vergleich
value Wert für Vergleich

Rückgabe:

int Vergleichsergebnis
  • -1 Listenelement ist kleiner
  • 0 Elemente sind gleichgroß
  • 1 übergebener Wert ist kleiner

find(const SString& value, int start=0) int

fromCommandline(const SString& commandline) int

Liest die einzelnen Parameter einer Kommandozeile in einzelne Listen-Einträge.

Eventuelle Hochkommata werden entfernt. Wird intern in SApplication benutzt.

Parameter:

commandline die Kommandozeile (argv)

Rückgabe:

int Anzahl der Parameter

fromString(const SString& peText, const SString& separator=",") int

Füllt eine Liste aus einem String.

Es werden alle vorhandenen Elemente aus der Liste gelöscht. Die Liste wird mit den Teilstrings von peText neu gefüllt. Doppelte Einträge werden erstellt. Die Zeichenkette in Separator wird als Ganzes zum Aufteilen in Teilstrings herangezogen und ist in den Teilstrings selbst nicht enthalten.

Beispiel:

SString txt = "Das ist ein Test";
slist.fromString(txt," ");
Dieser Quelltext füllt die Liste mit den einzelnen Wörtern des Ausgangstextes.

Parameter:

peText Text, der in die Liste gefüllt werden soll
separator zu verwendende Trennzeichen (auch mehrere)

Rückgabe:

int Anzahl der erstellten Listenelemente

fromStringEx(const SString& peText, char separator, const SString& blockquote="", BOOL maskWithSlash=false) int

Füllt eine Liste aus einem String.

Es werden alle vorhandenen Elemente aus der Liste gelöscht. Die Liste wird mit den Teilstrings von peText neu gefüllt. Doppelte Einträge werden erstellt. Die Zeichenkette in Separator wird als Ganzes zum Aufteilen in Teilstrings herangezogen und ist in den Teilstrings selbst nicht enthalten.

Beispiel:

SString txt = "Das ist ein Test mit Eigenname 'Hugo Meier' der nicht getrennt wird";
slist.fromString(txt,' ',"''");
Dieser Quelltext füllt die Liste mit den einzelnen Wörtern des Ausgangstextes.

Parameter:

peText Text, der in die Liste gefüllt werden soll
separator zu verwendende Trennzeichen (auch mehrere)
blockquote String mit je 2 Umfassungs-Zeichen für nicht zu teilende Blöcke (Einleitungs- und End-Zeichen), z.B. "()[]{}"
maskWithSlash wenn treu werden die Zeichen, die nach einem Backslash kommen übersprungen(=maskiert)

Rückgabe:

int Anzahl der erstellten Listenelemente

getAt(int pos) SString&

Liefert ein Element der Liste.

Das entsprechende Element der Liste wird zurückgegeben. Bei einem Zugriff auf einen Index außerhalb der Listengröße wird nach einer Fehlermeldung wenn möglich das erste oder das letzte Listenelement zurückgegeben.

Parameter:

pos Index des gewünschten Elements

Rückgabe:

SString& das ausgewählte Listenelement

getBuffer() SString**

Liefert den internen Datenpuffer.

getSize() int

Liefert die aktuelle Listengröße.

insertAt(int pos) int

Fügt ein leeres Element in die Liste ein.

Die Liste wird entsprechend vergrößert. Es muss eine gültige Position (zwischen 0 und der Listengröße) angegeben werden.

Parameter:

pos Position, an der eingefügt werden soll

Rückgabe:

int Position des eingefügten Elements oder -1 bei ungültiger Positionsangabe

insertAt(int pos, const SString& element) int

Fügt ein Element in die Liste ein.

Das Element wird an der angegebenen Stelle eingefügt. Die Liste wird entsprechend vergrößert. Es muss eine gültige Position (zwischen 0 und der Listengröße) angegeben werden.

Parameter:

pos Position, an der eingefügt werden soll
element einzufügendes Element.

Rückgabe:

int Position des eingefügten Elements oder -1 bei ungültiger Positionsangabe

isEmpty() BOOL

Ermittelt, ob die Liste leer ist.

operator[](int pos) SString&

Zugriffsoperator per Index.

Ermöglicht den Zugriff auf die Listenelemente per Index-Operator ([]). Es sind nur gültige Positionsangaben möglich.

Parameter:

pos Index des gewünschten Elements

Rückgabe:

SString& Das gewünschte Element.

quicksort(int start, int ende, int dir = 1) void

Führt die Sortierung durch.

removeAll() void

Löscht alle Elemente aus der Liste.

removeAt(int pos) void

Löscht ein Element aus der Liste.

Das Element an der angegebenen Position wird gelöscht. Die Position muss einen gültigen Wert (zwischen 0 und Listengröße-1) enthalten.

Parameter:

pos Position des zu löschenden Elements

removeValue(const SString& value) int

Löscht alle Einträge eines Wertes aus der Liste.

Parameter:

value Wert der zu löschenden Einträge

Rückgabe:

int Anzahl der gelöschten Einträge

resize(int size) void

Ändert die Größe des für die Liste reservierten Speichers.

Parameter:

size Anzahl der Listenelemente für die Speicher benötigt wird

setAt(int pos, const SString& value) BOOL

Ändert den Wert eines Eintrages.

Der Wert des angegebenen Eintrages wird überschrieben. Die Position muss einen gültigen Wert enthalten.

Parameter:

pos Position, an der geändert werden soll
value neuer Wert

Rückgabe:

BOOL Änderung durchgeführt

sort(int dir = 1) void

Sortiert die Liste.

Parameter:

dir Sortierrichtung (Standard: aufsteigend)

swap(int pos1, int pos2) void

Vertauscht zwei Listeneinträge.

Die beiden Positionsangaben müssen gültige Werte beinhalten.

toString(const SString& separator) const SString

Erstellt einen SString, der alle Einträge der Liste enthält.

Parameter:

separator Trennzeichen zwischen den Listeneinträgen

Rückgabe:

const SString Liste als SString