SString

Behandlung von Zeichenketten. [Mehr ...]

Vererbung

Basisklassen(n)   abgeleitete Klassen
  SString  

Attribute

public:

Attribut Typ Beschreibung
stdDoubleDigits int Anzahl der Ziffern für eine Konvertierung von Double zu String.

protected:

Attribut Typ Beschreibung
hHeap HANDLE Windows-Handle des reservierten Speichers
hHeapW mutable HANDLE Windows-Handle des reservierten Speichers für die WCHAR-Version der Zeichenkette.
memSize int Größe des reservierten Speichers.
memSizeW mutable int Größe des reservierten Speichers der WCHAR-Version der Zeichenkette.
pBuffer char* Zeiger auf den Textpuffer.
pBufferW mutable WCHAR* Zeiger auf den Textpuffer der WCHAR-Version der Zeichenkette.
textSize int Aktuelle Länge des Textes.

Operationen

public:

Name Parameter Rückgabewert Beschreibung
addContent const SString& text,
int size=-1
void Anhängen eines Strings der Länge 'size'.
ascii int offset=0 int Gibt den ACII-Code des Zeichens an Position 'offset' zurück.
compare const SString& string,
BOOL ignoreCase=FALSE
int Vergleicht den SString mit dem übergebenen.
convertHtmlSpecialChar char c SString Wandelt ein Zeichen in das entsprechende HTML-Special-Char um.
countSubstrings const SString& substring int Zählt die Anzahl der Vorkommen eines Teilstrings
endsWith const SString& searchText,
BOOL ignoreCase=false
BOOL Prüft ob der String mit einem bestimmten Textteil endet.
find const SString& search,
int startpos=0,
BOOL ignoreCase=false
int Sucht einen Teilstring in einem String ab einer Startposition.
find char search,
int startpos=0
int Sucht einen Teilstring in einem String ab einer Startposition.
findReverse char search int Sucht das letzte Auftreten eines Zeichen in einer Zeichenkette.
findReverse const SString& search,
BOOL ignoreCase=false
int Sucht das letzte Auftreten einer Zeichenkette in einer Zeichenkette.
findReverseFromPos const SString& search,
int startpos=0,
BOOL ignoreCase=false
int Sucht das letzte Auftreten einer Zeichenkette in einer Zeichenkette.
format const char* format, ... void Füllt eine Zeichenkette mit einem zu 'printf' kompatiblen Format-String.
formatAdd const char* format, ... void Fügt eine Zeichenkette entsprechend einem zu 'printf' kompatiblen Format-String an.
getAt int index char Gibt das Zeichen einer bestimmten Stelle zurück.
getBuffer char* Liefert den internen Datenzeiger.
getBufferOrNull char* Liefert den internen Datenzeiger.
getPart int start, int size SString Gibt einen Teil eines Strings zurück.
getPart long start SString Gibt einen Teil eines Strings ab einer bestimmten Position bis zum Ende zurück.
getPartTo const SString& separator SString Gibt einen Teilstring aus dem String zurück, der vor dem Separator liegt und verringert den String um die entnommene Zeichenkette und den Separator.
getSize int Liefert die aktuelle Länge der Zeichenkette.
getWchar WCHAR* Liefert dei WCHAR-Version der Zeichenkette.
htmlDecode void Ersetzt benannte Zeichen in Real-Zeichen
htmlEncode void Ersetzt Sonderzeichen in benannte Zeichen laut HTML-Spezifikation, innerhalb dieses Strings.
insert int start,
const SString& text
void Fügt Text in einen String an einer bestimmten Position ein.
isEmpty BOOL Ermittelt ob eine Zeichenkette leer ist.
left int size SString Gibt den linken Teil einer Zeichenkette zurück.
operator char* Typkonvertierung in 'char*'
operator const char* Typkonvertierung in 'const char*'
operator wchar_t* Liefert dei WCHAR-Version der Zeichenkette.
operator!= const SString& string,
const char* text
bool Überprüft einen SString und eine C-Zeichenkette auf Ungleichheit
operator!= const SString& string1,
const SString& string2
bool Überprüft zwei SStrings auf Ungleichheit
operator+ const SString& string1,
const SString& string2
SString Fügt zwei SStrings zusammen.
operator+= const char* ptext SString& Anfügeoperator für C-Zeichenketten (char*)
operator+= long zahl SString& Anfügeoperator für Long-Integer (long)
operator+= const SString& txt SString& Anfügeoperator für SString
operator+= char text SString& Anfügeoperator für Zeichen (char)
operator+= unsigned long zahl SString& Anfügeoperator für vorzeichenlose Long-Integer (unsigned long)
operator< SString& string1,
SString& string2
bool Vergleicht zwei SStrings und ermittelt, ob string1 keiner als string2 ist.
operator<= SString& string1,
SString& string2
bool Vergleicht zwei SStrings und ermittelt, ob string1 größer als string2 ist.
operator= const SString& text const SString& Zuweisungsoperator für SString
operator= char* ptext SString& Zuweisungsoperator für C-Zeichenketten (char*)
operator= long zahl SString& Zuweisungsoperator für Long-Integer (long)
operator= const char* ptext SString& Zuweisungsoperator für konstante C-Zeichenketten (const char*)
operator= double zahl SString& Zuweisungsoperator für Fliesskomma-Zahlen (double)
operator= char text SString& Zuweisungsoperator für Zeichen (char)
operator= BSTR text SString& Füllt einen SString aus einem BSTR.
operator= VARIANT var SString& Füllt einen SString aus einem VARIANT.
operator== const SString& string1,
const SString& string2
bool Überprüft zwei SStrings auf Gleichheit
operator== const SString& string,
const char* text
bool Überprüft einen SString und eine C-Zeichenkette auf Gleichheit
operator> SString& string1,
SString& string2
bool Vergleicht zwei SStrings und ermittelt, ob string1 größer als string2 ist.
operator>= SString& string1,
SString& string2
bool Vergleicht zwei SStrings und ermittelt, ob string1 keiner als string2 ist.
operator[] int index char Indexoperator, ermittelt das Zeichen an einer bestimmten Stelle.
remove int start, int size=1 void Löscht einen Teil des Strings, maximal aber bis zum Ende.
repeat const SString& text,
int count
void Fügt einen String mehrfach an diesen SString an.
replace const SString& oldText,
const SString& newText,
BOOL checkResultingText=FALSE
int ersetzt Teilstrings
right int size SString Liefert den 'rechten' Teilstring einer Zeichenkette.
setAt int index, char c BOOL Ändert ein Zeichen des Strings.
setContent const char* ptext,
int size=-1
void Ändert den Inhalt des Strings.
SString const SString& src Copy-Konstruktor, erzeugt einen neuen String aus einem anderen.
SString const char* src Konstruktor aus const char*.
SString const unsigned char* src Konstruktor aus const unsigned char* (Microsoft-Spezifisch).
SString const char c Konstruktor aus const char.
SString BSTR text Erstellt einen SString aus einem BSTR.
SString VARIANT var Erstellt einen SString aus einem VARIANT.
startsWith const SString& searchText,
BOOL ignoreCase=false
BOOL Prüft ob der String mit einem bestimmten Textteil beginnt.
toDouble double Wandelt den String in einen Double-Wert.
toInt int Wandelt einen String in eine Ganzzahl um.
toLong long Synonym für toInt()
toLower void Wandelt den String in Kleinbuchstaben um.
toString int zahl,
BOOL thousandPoints=true,
int radix=10,
int outChars=-1
SString Wandelt eine Ganzahl (int) in einen String um.
toUpper void Wandelt den String in Großbuchstaben um.
trim void Entfernt Whitespaces (nicht-druckbare Zeichen) vom Beginn und Ende des Strings.
trimLeft void Entfernt Whitespaces (nicht-druckbare Zeichen) vom Beginn des Strings.
trimRight void Entfernt Whitespaces (nicht-druckbare Zeichen) vom Ende des Strings.
urlDecode void Wandelt den Inhalt des Strings von einem url-tauglichen Format in den realen String zurück, d.h. es werden als Hex-Zahl mit voarngestelltem Prozentzeichen maskierte Sonderzeichen in die realen Zeichen gewandelt.
urlEncode void Wandelt den Inhalt des Strings in ein url-taugliches Format, d.h. es werden alle nicht Ziffern/Buchstaben als Hex-Zahl mit voarngestelltem Prozentzeichen gewandelt.

protected:

Name Parameter Rückgabewert Beschreibung
deinit void Löscht den String (vom Destruktor aufgerufen).
deinitW void Deinitialisiert die WCHAR-Representation des SStrings.
init void Erstellt und initialisiert den String (vom Konstruktor aufgerufen).
initW void Initialisiert die WCHAR-Representation des SStrings.
realloc int newSize void Verändert die Größe des reservierten Speichers.

Detailbeschreibung SString

Behandlung von Zeichenketten.


Diese Klasse bietet umfangreiche Funktionen zur Verwaltung von Zeichenketten und zur Transformation in andere Darstellungsformen.

Beispiel: Handhabung

Verwendungsmöglichkeiten von Strings sind.
Zuweisen :

txt = "abc";
txt = txt1;
txt = 5;
Anhängen:
txt += "abc";
txt += txt1;
txt += 5;
Zusammenfassen:
txt = txt1 + txt2 ...
txt = txt1 + "abc" ...
txt = "abc" + txt1 ...
Nach Möglichkeit sind die unären Operatoren (+=) den binären (+) vorzuziehen, da sie weniger Ressourcen verbrauchen und schneller sind.
z.Z. nicht möglich ist:
txt = "abc" + "def" //... da ein operator+ (char*, char*) nicht möglich ist
txt = "abc" + txt1.getPart(3)  //... da ein operator+ (char*, char*) nicht möglich ist
txt = "rowscount=  " + 5;
c = a + " > " + b;
Hierfür kann die Funktion 'format(...)' benutzt werden
txt.format( "abc%s",txt1.getPart(3);
txt.format("rowscount= %d",5);
c.format("%d > %d",a,b);

Funktionsbeschreibungen

addContent(const SString& text, int size=-1) void

Anhängen eines Strings der Länge 'size'.

Beispiel:

txt.addContent(txt2,5);
Die ersten 5 Zeichen aus 'txt2' werden an txt angehängt.
Ist 'size' negativ oder größer als die Stringlänge des anzuhängenden Textes, wird der gesamte String angehängt.

Parameter:

text anzuhängender String
size Anzahl der anzuhängenden Zeichen

ascii(int offset=0) const int

Gibt den ACII-Code des Zeichens an Position 'offset' zurück.

Parameter:

offset Position des Zeichens

Rückgabe:

int ASCII-Code des Zeichens

compare(const SString& string, BOOL ignoreCase=FALSE) const int

Vergleicht den SString mit dem übergebenen.

Parameter:

string String mit dem verglichen werden soll
ignoreCase Gibt an, ob Groß-/Kleinschreibung ignoriert werden soll

Rückgabe:

int Vergleichsergebnis
  • <0 SString ist kleiner/steht im Alphabet vor dem übergebenen SString
  • 0 beide SStrings sind gleich
  • >0 SString ist größer/steht nach dem übergebenen SString

static convertHtmlSpecialChar(char c) SString

Wandelt ein Zeichen in das entsprechende HTML-Special-Char um.

Wenn das übergeben Zeichen kein Spezialzeichen ist, wird es unverändert zurückgegeben.

countSubstrings(const SString& substring) int

Zählt die Anzahl der Vorkommen eines Teilstrings

Parameter:

substring zu suchender Teilstring

deinit() void

Löscht den String (vom Destruktor aufgerufen).

deinitW() const void

Deinitialisiert die WCHAR-Representation des SStrings.

endsWith(const SString& searchText, BOOL ignoreCase=false) BOOL

Prüft ob der String mit einem bestimmten Textteil endet.

Parameter:

endsWith text auf den am Ende geprüft werden soll
ignoreCase wenn false muss Groß/Kleinschreibung exakt stimmen

Rückgabe:

BOOL true wenn der gesuchte Text am Ende des Strings steht

find(const SString& search, int startpos=0, BOOL ignoreCase=false) const int

Sucht einen Teilstring in einem String ab einer Startposition.

Parameter:

search Suchstring
startpos Startposition
ignoreCase wenn true, wird der Suchbegriff auch gefunden wenn die Groß-/Kleinschreibung nicht stimmt.

Rückgabe:

int Position des gefundenen Textes ( mit 0 beginnend) oder -1 wenn nicht gefunden

find(char search, int startpos=0) const int

Sucht einen Teilstring in einem String ab einer Startposition.

Parameter:

search Suchzeichen
startpos Startposition

Rückgabe:

int Position des gefundenen Zeichens ( mit 0 beginnend) oder -1 wenn nicht gefunden

findReverse(char search) const int

Sucht das letzte Auftreten eines Zeichen in einer Zeichenkette.

Parameter:

search zu suchendes Zeichen

Rückgabe:

int Position des gefundenen Zeichens, wenn -1 wurde das Zeichen nicht gefunden

findReverse(const SString& search,BOOL ignoreCase=false) const int

Sucht das letzte Auftreten einer Zeichenkette in einer Zeichenkette.

Parameter:

search zu suchende Zeichenkette
ignoreCase wenn true, wird der Suchbegriff auch gefunden wenn die Groß-/Kleinschreibung nicht stimmt.

Rückgabe:

int Position der gefundenen Zeichenkette, wenn -1 wurde die Zeichenkette nicht gefunden

findReverseFromPos(const SString& search,int startpos=0,BOOL ignoreCase=false) const int

Sucht das letzte Auftreten einer Zeichenkette in einer Zeichenkette.

Parameter:

search zu suchende Zeichenkette
startpos Startposition; 0 - ganzerString; >0 - Zeichen am Anfang ignorieren; <0 - Zeichen am Ende ignorieren
ignoreCase wenn true, wird der Suchbegriff auch gefunden wenn die Groß-/Kleinschreibung nicht stimmt.

Rückgabe:

int Position der gefundenen Zeichenkette, wenn -1 wurde die Zeichenkette nicht gefunden

format(const char* format, ...) void

Füllt eine Zeichenkette mit einem zu 'printf' kompatiblen Format-String.

Der bisherige Inhalt des SStrings wird überschrieben.

Beispiel:

txt.format("Hallo !!%d",11);

Parameter:

format printf-kompatibler Format-String
... Argumentliste des Format-Strings

formatAdd(const char* format, ...) void

Fügt eine Zeichenkette entsprechend einem zu 'printf' kompatiblen Format-String an.

Parameter:

format printf-kompatibler Format-String
... Argumentliste des Format-Strings

getAt(int index) const char

Gibt das Zeichen einer bestimmten Stelle zurück.

Parameter:

index Position des Zeichens

Rückgabe:

char Zeichen

getBuffer() const char*

Liefert den internen Datenzeiger.

Der zurückgegebene Zeiger ist nur bis zur nächsten Wert-Zuweisung gültig. Danach kann durch Größenänderung ein neuer Zeiger existieren.

Rückgabe:

char* Zeiger auf den internen Textpuffer

getBufferOrNull() const char*

Liefert den internen Datenzeiger.

Der zurückgegebene Zeiger ist nur bis zur nächsten Wert-Zuweisung gültig. Danach kann durch Größenänderung ein neuer Zeiger existieren.

Rückgabe:

char* Zeiger auf den internen Textpuffer oder Null wenn der String leer ist

getPart(int start, int size) const SString

Gibt einen Teil eines Strings zurück.

Negative Werte für 'start' und 'size' bedeuten, dass vom Ende des Strings gezählt wird.

Beispiel:

SString txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//             0         1         2
//             01234567890123456789012345
messageBox(txt.getPart(10,10)  ,"10,10");	// KLMNOPQRST
Von links 10. Zeichen (K) ... 10 Zeichen (bis T)
messageBox(txt.getPart(-10,10) ,"-10,10");	// QRSTUVWXYZ
von rechts 10. Zeichen (Q) ... 10 Zeichen (bis Z)
messageBox(txt.getPart(10,-10) ,"10,-10");	// KLMNOP
von links 10. Zeichen (K) ... 10. Zeichen von rechts (bis vor Q)
messageBox(txt.getPart(-10,-10),"-10,-10");	// leer
von rechts 10. Zeichen (Q) ... 10. Zeichen von rechts (bis vor Q)

Parameter:

start Startoffset (beginnend mit 0), wenn start negativ ist, gibt er den Beginn-Wert ab Ende des Strings an
size Größe des geforderten Textes

Rückgabe:

SString der Teilstring

getPart(long start) const SString

Gibt einen Teil eines Strings ab einer bestimmten Position bis zum Ende zurück.

Parameter:

start Startoffset (beginnend mit 0), wenn start negativ ist, gibt er den Beginn-Wert ab Ende des Strings an

Rückgabe:

SString der Teilstring

getPartTo(const SString& separator) SString

Gibt einen Teilstring aus dem String zurück, der vor dem Separator liegt und verringert den String um die entnommene Zeichenkette und den Separator.

Ist der Separator nicht enthalten, wird alles zurückgegeben.

Beispiel: Entnahme einer Größeninformation aus einem String

SString text="100,200";
int breit=text.getPartTo(",").toNum();
int hoch=text.getPartTo(",").toNum();

Parameter:

separator Zeichenkette die als Trennzeichen gilt

Rückgabe:

SString entnommene Zeichenkette

getSize() const int

Liefert die aktuelle Länge der Zeichenkette.

Rückgabe:

int Länge der Zeichenkette

getWchar() const WCHAR*

Liefert dei WCHAR-Version der Zeichenkette.

htmlDecode() void

Ersetzt benannte Zeichen in Real-Zeichen

htmlEncode( ) void

Ersetzt Sonderzeichen in benannte Zeichen laut HTML-Spezifikation, innerhalb dieses Strings.

init() void

Erstellt und initialisiert den String (vom Konstruktor aufgerufen).

initW() const void

Initialisiert die WCHAR-Representation des SStrings.

insert(int start, const SString& text) void

Fügt Text in einen String an einer bestimmten Position ein.

Beispiel:

SString txt = "ein Auto";
txt.insert(4,"rotes ");

Parameter:

start null-basierender Offset, an dem der neue Text stehen soll, wenn negativ, wird von hinten gezählt
text einzufügender Text

isEmpty() const BOOL

Ermittelt ob eine Zeichenkette leer ist.

Rückgabe:

BOOL Die Zeichenkette ist leer.

left(int size) const SString

Gibt den linken Teil einer Zeichenkette zurück.

Liefert die ersten 'size' Zeichen des Strings.

Beispiel:

SString txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//             0         1         2
//             01234567890123456789012345

messageBox(txt.left(10)  ,"left_10");      // ABCDEFGHIJ
messageBox(txt.left(-10) ,"left_-10");     // ABCDEFGHIJKLMNOP

Parameter:

size Anzahl der zurückzugebenden Zeichen

Rückgabe:

SString linker Teilstring

operator char*()

Typkonvertierung in 'char*'

operator const char*()

Typkonvertierung in 'const char*'

operator wchar_t*() const

Liefert dei WCHAR-Version der Zeichenkette.

operator!=(const SString& string, const char* text) bool

Überprüft einen SString und eine C-Zeichenkette auf Ungleichheit

Beispiel:

if(txt != "hallo") { ... }

Rückgabe:

bool Die Texte unterscheiden sich.

operator!=(const SString& string1, const SString& string2) bool

Überprüft zwei SStrings auf Ungleichheit

Beispiel:

if(txt1 != txt2) { ... }

Rückgabe:

bool Die Texte unterscheiden sich.

operator+(const SString& string1, const SString& string2) SString

Fügt zwei SStrings zusammen.

Rückgabe:

SString die zusammengesetzte Zeichenkette

operator+=(const char* ptext) SString&

Anfügeoperator für C-Zeichenketten (char*)

Beispiel:

txt += "Hallo";

Rückgabe:

SString& geänderte Zeichenkette

operator+=(long zahl) SString&

Anfügeoperator für Long-Integer (long)

Beispiel:

txt += 42;

Rückgabe:

SString& geänderte Zeichenkette

operator+=(const SString& txt) SString&

Anfügeoperator für SString

Beispiel:

txt1 += txt2;

Rückgabe:

SString& geänderte Zeichenkette

operator+=(char text) SString&

Anfügeoperator für Zeichen (char)

Beispiel:

txt += 'x';

Rückgabe:

SString& geänderte Zeichenkette

operator+=(unsigned long zahl) SString&

Anfügeoperator für vorzeichenlose Long-Integer (unsigned long)

Beispiel:

txt += 42;

Rückgabe:

SString& geänderte Zeichenkette

operator<(SString& string1, SString& string2) bool

Vergleicht zwei SStrings und ermittelt, ob string1 keiner als string2 ist.

Rückgabe:

bool String1 ist kleiner (steht vor) String2

operator<=(SString& string1, SString& string2) bool

Vergleicht zwei SStrings und ermittelt, ob string1 größer als string2 ist.

Rückgabe:

bool String1 ist kleiner oder gleich String2

operator=(const SString& text) const SString&

Zuweisungsoperator für SString

Beispiel:

txt = txt2;

Rückgabe:

const SString& geänderte Zeichenkette

operator=(char* ptext) SString&

Zuweisungsoperator für C-Zeichenketten (char*)

Beispiel:

txt = "Hallo";

Rückgabe:

SString& geänderte Zeichenkette

operator=(long zahl) SString&

Zuweisungsoperator für Long-Integer (long)

Beispiel:

txt = 42;

Rückgabe:

SString& geänderte Zeichenkette

operator=(const char* ptext) SString&

Zuweisungsoperator für konstante C-Zeichenketten (const char*)

Beispiel:

txt = "Hallo";

Rückgabe:

SString& geänderte Zeichenkette

operator=(double zahl) SString&

Zuweisungsoperator für Fliesskomma-Zahlen (double)

Beispiel:

txt = 123.456;

Rückgabe:

SString& geänderte Zeichenkette

operator=(char text) SString&

Zuweisungsoperator für Zeichen (char)

Beispiel:

txt = 'x';

Rückgabe:

SString& geänderte Zeichenkette

operator=(BSTR text) SString&

Füllt einen SString aus einem BSTR.

BSTR ist eine Microsoft-spezifische String-Darstellung aus WCHAR, die z.B. bei OLE/ActiveX verwendet wird.

operator=(VARIANT var) SString&

Füllt einen SString aus einem VARIANT.

Bei Bedarf wird der übergebene Parameter in einen Variant vom Typ VT_BSTR umgewandelt.

operator==(const SString& string1, const SString& string2) bool

Überprüft zwei SStrings auf Gleichheit

Beispiel:

if(txt1 == txt2) { ... }

Rückgabe:

bool Beide Texte sind gleich.

operator==(const SString& string, const char* text) bool

Überprüft einen SString und eine C-Zeichenkette auf Gleichheit

Beispiel:

if(txt1 == "hallo") { ... }

Rückgabe:

bool Beide Texte sind gleich.

operator>(SString& string1, SString& string2) bool

Vergleicht zwei SStrings und ermittelt, ob string1 größer als string2 ist.

Rückgabe:

bool String1 ist größer (steht nach) String2

operator>=(SString& string1, SString& string2) bool

Vergleicht zwei SStrings und ermittelt, ob string1 keiner als string2 ist.

Rückgabe:

bool String1 ist größer oder gleich String2

operator[](int index) char

Indexoperator, ermittelt das Zeichen an einer bestimmten Stelle.

Bei ungültigem 'index' wird ein 'dummy'-Zeichen zurückgegeben. Änderungen dieses Zeichens haben keine Auswirkungen, sein Wert ist 0.

Beispiel:

char zeichen = txt[5];
txt[3] = 'x';

Parameter:

index Position des Zeichens (in der eckigen Klammer anzugeben)

Rückgabe:

char Zeichen an der gewünschten Position

realloc(int newSize) void

Verändert die Größe des reservierten Speichers.

Parameter:

newSize neue Speichergröße

remove(int start, int size=1) void

Löscht einen Teil des Strings, maximal aber bis zum Ende.

Parameter:

start null-basierender Offset ab Beginn
size Anzahl der zu löschenden Zeichen, wenn -1 wird bis zum Ende gelöscht

repeat(const SString& text, int count) void

Fügt einen String mehrfach an diesen SString an.

Parameter:

text anzufügender String
count Anzahl wie oft er angefügt werden soll.

replace(const SString& oldText, const SString& newText, BOOL checkResultingText=FALSE) int

ersetzt Teilstrings

Rückgabe:

int Anzahl der duchgeführten Ersetzungen

right(int size) const SString

Liefert den 'rechten' Teilstring einer Zeichenkette.

Gibt die rechten 'size' Zeichen zurück.

Beispiel:

SString txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//             0         1         2
//             01234567890123456789012345

messageBox(txt.right(10) ,"right_10");     // QRSTUVWXYZ
messageBox(txt.right(-10),"right_-10");    // KLMNOPQRSTUVWXYZ

Parameter:

size Anzahl der Zeichen für den Teilstring

Rückgabe:

SString rechter Teilstring

setAt(int index, char c) BOOL

Ändert ein Zeichen des Strings.

Parameter:

index Position der Ersetzung
c neues Zeichen

Rückgabe:

BOOL Ersetzung erfolgreich.

setContent(const char* ptext, int size=-1) void

Ändert den Inhalt des Strings.

Parameter:

ptext neuer Text
size Länge des neuen Textes (-1 für gesamten Text)

SString(const SString& src)

Copy-Konstruktor, erzeugt einen neuen String aus einem anderen.

Ist Notwendig für die korrekte 'per Value'-Übergabe bei Funktionsaufrufen.

Beispiel:

SString txt(txt2);

SString(const char* src)

Konstruktor aus const char*.

Erstellt eine neue SString-Instanz aus einem 'const char*'.

Beispiel:

SString txt("Hallo");

SString(const unsigned char* src)

Konstruktor aus const unsigned char* (Microsoft-Spezifisch).

SString(const char c)

Konstruktor aus const char.

SString(BSTR text)

Erstellt einen SString aus einem BSTR.

SString(VARIANT var)

Erstellt einen SString aus einem VARIANT.

startsWith(const SString& searchText, BOOL ignoreCase=false) const BOOL

Prüft ob der String mit einem bestimmten Textteil beginnt.

Parameter:

startsWith text auf dem am Ende geprüft werden soll.
ignoreCase wenn false muss Groß/Kleinschreibung exakt stimmen.

Rückgabe:

BOOL true wenn der gesuchte Text am Anfang des Strings steht

toDouble() const double

Wandelt den String in einen Double-Wert.

Äquivalent zu 'atof()'.

Rückgabe:

double der Double-Wert des Strings

toInt() const int

Wandelt einen String in eine Ganzzahl um.

Es erkennt Strings im Format:

Rückgabe:

int Ganzzahl-Wert des Strings

toLong() const long

Synonym für toInt()

toLower() void

Wandelt den String in Kleinbuchstaben um.

static toString(int zahl, BOOL thousandPoints=true, int radix=10, int outChars=-1) SString

Wandelt eine Ganzahl (int) in einen String um.

Diese Funktion ist statisch und kann jederzeit zur Umwandlung benutzt werden.

Beispiel:

msg = "Fehlernummer: " + SString::toString(42);

Parameter:

zahl umzuwandelnde Zahl
thousandPoints wenn true werden Tausender-Punkte eingefügt.
radix Basis der Zahl
  • 2 -- binär
  • 10 -- dezimal
  • 16 -- hexadezimal
outChars Anzahl der Zeichen bis denen mit Führenden Nullen aufgefüllt werden soll, wenn -1 wird nicht aufgefüllt

Rückgabe:

SString Zahl im lesbaren Format

toUpper() void

Wandelt den String in Großbuchstaben um.

trim() void

Entfernt Whitespaces (nicht-druckbare Zeichen) vom Beginn und Ende des Strings.

trimLeft() void

Entfernt Whitespaces (nicht-druckbare Zeichen) vom Beginn des Strings.

trimRight() void

Entfernt Whitespaces (nicht-druckbare Zeichen) vom Ende des Strings.

urlDecode() void

Wandelt den Inhalt des Strings von einem url-tauglichen Format in den realen String zurück, d.h. es werden als Hex-Zahl mit voarngestelltem Prozentzeichen maskierte Sonderzeichen in die realen Zeichen gewandelt.

urlEncode() void

Wandelt den Inhalt des Strings in ein url-taugliches Format, d.h. es werden alle nicht Ziffern/Buchstaben als Hex-Zahl mit voarngestelltem Prozentzeichen gewandelt.