TStrings.CommaText
Diese Variable ist vom Typ string und eine Eigenschaft der Klasse TStrings, welche in der Unit SysUtils definiert wurde. Auf die Variable kann sowohl lesend als auch schreibend zugegriffen werden.
Diese Eigenschaft bietet beim Schreiben oder Lesen die Möglichkeit, sämtliche Listeneinträge einer Klasse von TStrings wie einen einzigen, durch Kommas getrennte Zeichenkette zu behandeln.
Wenn die Eigenschaft gelesen wird, gelten folgende Konventionen: Jeder Eintrag der String-Liste, der Leerzeichen, Kommas oder Anführungszeichen enthält, wird in Anführungszeichen (") gesetzt. Ist ein Anführungszeichen (") selbst Teil eines Strings, wird es verdoppelt. Ein Beispiel: Die String-Liste
Zeichenkette:
1
2
3
4
2
3
4
Stri,ng 1
Stri"ng 2
String 3
String4
Stri"ng 2
String 3
String4
wird von der Eigenschaft CommaText in der folgenden Form zurückgegeben:
Ergebnis:
1
"Stri,ng 1","Stri""ng 2","String 3",String4
Wenn eine Wertzuweisung an CommaText erfolgt, wird der Wert entsprechend dem SDF-Format zerlegt. Dies setzt voraus, dass Zeichenketten durch Kommas oder Leerzeichen getrennt und optional in Anführungszeichen eingeschlossen sind. Anführungszeichen, die Teil des Strings sind, müssen zweimal hintereinander stehen (""), sonst werden sie als Begrenzungszeichen interpretiert. Leerzeichen und Kommas, die nicht von Anführungszeichen eingeschlossen sind, werden als Trennzeichen behandelt. Zwei aufeinander folgende Kommas gelten als Leer-String. Leerzeichen, die unmittelbar vor oder nach einem Trennzeichen stehen, werden dagegen ignoriert. Angenommen, CommaText wird folgendermaßen gesetzt:
Zeichenkette:
1
"Stri,ng 1", "Stri""ng 2" , String 3,String4
Die String-Liste enthält danach folgende Einträge:
Ergebnis:
1
2
3
4
5
2
3
4
5
Stri,ng 1
Stri"ng 2
String
3
String4
Stri"ng 2
String
3
String4
Wird an den Ausgangsstring ein Komma angefügt, erscheint in der Stringliste ein leerer Eintrag. Ein Beispiel für CommaText:
Zeichenkette:
1
"String1, String 2, String 3,"
Die Stringliste hat dann folgenden Inhalt:
Ergebnis:
1
2
3
4
2
3
4
String1
String2
String3
<Blank>
String2
String3
<Blank>