Home » Tipps & Tricks » Object Pascal » Strings » Strings und ihre Methoden

Strings und ihre Methoden

Normalerweise kann man Strings relativ einfach aufeinander zuweisen:

StringVariable1:=StringVariable2 

oder auch Strings an andere anhängen:

StringVariable1:=StringVariable1+StringVariable2

an die vorhanden Zeichen im String gelangt man auch recht einfach:

CharVariable:=StringVariable[Index]

Aber was macht man, wenn man auf mehrere Zeichen hintereinander Zugreifen will oder Zeichen einfügen will? Die VCL von Delphi bietet dazu ein paar Methoden, um leichter mit Strings zu arbeiten.Besonders wichtig ist die Funktion Length, die einen Parameter, den zu untersuchenden String, benötigt. Der Rückgabewert ist die Länge des String als Integerwert. Dies wird häufig für Schleifen benötigt, die einen String Zeichen für Zeichen untersuchen.Eine eher unwichtige Funktion ist Concat, die mehrere Strings verknüpft. als Parameter wird eine beliebige Anzahl an Strings erwartet, die nun zusammengehängt als Result zurückgegeben werden. Dies ist häufig umständlich, da man Strings, wie oben gezeigt, auch sehr einfach von Hand verknüpfen kann.Um die Groß- und Kleinschreibung einheitlich zu verändern kann man UpperCase und LowerCase verwenden, die alle Großbuchstaben in Kleinbuchstaben verwandeln (LowerCase), oder umgekehrt (UpperCase). Als Parameter wird ein String erwartet, der zurückgegebene String enthält jetzt nur noch Groß- oder Kleinbuchstaben. Hierbei werden jedoch nur die Buchstaben A bis Z berücksichtig, keine Umlaute etc. Dafür gibt es die Funktionen AnsiUpperCase und AnsiLowerCase, die auch die weiteren Buchstaben (nach Systemeinstellungen) berücksichtigen.Die Prozedur Delete löscht in einem String (1. Parameter: String) von einer gewissen stelle an (2. Parameter: Integer) eine gewisse Anzahl an Stellen (3. Parameter: Integer). Diese Funktion wird zwar nicht sehr häufig benötigt, es ist aber sehr praktisch, da es SEHR umständlich ist, ansonsten mehrere Stellen zu entfernen.Gleiche Parameter wie Delete erwartet die Funktion Copy, die jedoch die angegeben stellen im String nicht entfernt (dieser bleibt unangetastet), sondern diese stellen als String zurückgibt. Dies kann sehr nützlich sein, wenn man einen String aus mehreren Abschnitten aufbaut und diese trennen muss.Die Prozedur Insert fügt einen Sting (1. Parameter) in einen anderen String ein (2. Parameter, Variabelenparameter) und zwar an einer gewissen Position (3. Parameter). Genau wie Delete bietet Insert eine große Erleichterung bei der Veränderung von Strings.Zuletzt muss noch die Funktion Pos erwähnt werden, die einen String (1. Parameter) in einem anderen String (2. Parameter) sucht. Der Rückgabewert ist die erste Stelle, an der der gesuchte String vorkam. Hierbei ist trotz der wiederum großen Erleichterung (kein eigener Suchalgorithmus mit Schleifen etc.) Vorsicht geboten, da Pos keine Groß- und Kleinschreibung berücksichtigt. Es muss also (wie im beiliegenden Beispiel zu sehen) mit (Ansi-)UpperCase gearbeitet werden.