Object Pascal im Detail - Datentypen www.delphi-treff.de
56
4.2.1.8.1. Zeichenketten zusammenhängen
var Text1, Text2: String; begin
Text1 := toll
; Text2 :=
Ich finde Delphi + text1 +
; text2 enthält nun den Text Ich finde Delphi toll
4.2.1.8.2. Zugreifen auf ein bestimmtes Zeichen eines Strings
Der Zugriff auf ein einzelnes String-Zeichen erfolgt über dessen Index: var
Text: String; Zeichen: Char;
begin Text :=
Ich finde Delphi toll ;
Zeichen := Text[ 1
]; zeichen enthält nun den Buchstaben I
4.2.1.8.3. Vergleich zweier Strings
Das Vergleichen von zwei Strings erfolgt mit dem Gleichheitszeichen. Auch wenn es sich bei Strings intern um Zeiger handelt, wird beim Vergleich der Inhalt der Strings verglichen, nicht die Speicheradresse, auf die die
Zeiger zeigen im Gegensatz zu Java. Beim Vergleich wird Groß- und Kleinschreibung beachtet. var Text1, Text2: string;
begin ...
if Text1 = Text2 then ...
Die Delphi-Laufzeitumgebung bietet noch einige weitere Funktionen, z.B. AnsiCompareText zum Vergleich zweier Strings ohne Berücksichtigung der Groß- und Kleinschreibung. Pos hilft beim Auffinden eines Teilstrings;
Copy zum Kopieren eines Teilstrings und Delete zum Löschen eines Teilstrings sind ebenfalls wichtige
Bearbeitungsmöglichkeiten. Einige wichtige Funktionen für die Arbeit mit Strings sind in folgender Tabelle zusammengefasst.
Delete Löscht einen Teilstring
Pos Berechnet die Position eines Teilstrings
Copy
Erzeugt einen Teilstring aus einem String
Length Gibt die Länge des Strings zurück
Object Pascal im Detail - Datentypen www.delphi-treff.de
57
LowerCase Gibt den String zurück nachdem er in Kleinbuchstaben umgewandelt wurde; um
auch Umlaute umzuwandeln muss man AnsiLowerCase verwenden.
UpperCase Gibt den String zurück nachdem er in Großbuchstaben umgewandelt wurde; um
auch Umlaut umzuwandeln muss man AnsiUpperCase verwenden.
4.2.1.8.4. StringBuilder
Zur effektiven Arbeit mit Strings bietet die Delphi Runtime Library seit Delphi 2009 die Klasse StringBuilder Unit SysUtils.
var S1, S2: string; SB: TStringBuilder;
begin S1 :=
Hallo ;
S2 := Delphi
; SB := TStringBuilder.CreateS1;
try S1 := SB.AppendS2.ToString;
finally SB.Free;
end; Im Gegensatz zu Java sind Strings in Delphi veränderbar. Der StringBuilder wurde in Delphi hauptsächlich für
.NET eingeführt, weil dort Strings unveränderbar sind. Wenn zwei Strings zu einem verbunden werden sollen, bedeutet das, dass Speicher für den neuen String reserviert werden muss, dann werden die beiden alten
Strings in den neuen kopiert und der Speicher der alten Strings freigegeben. I „ o ale Wi
-Delphi ist der StringBuilder nicht signifikant schneller als das Verbinden von Strings mit dem Plus-Zeichen.
4.2.2. Boolean