2008-11-19 9 views
36

Delphi-Strings verwenden einfache Anführungszeichen, zum Beispiel 'eine gültige Zeichenfolge'. Wie spezifiziert man das Zeichen innerhalb einer literalen Zeichenkette? Wie würde man sich auf das Null-Byte beziehen (Unicode-Codepunkt U + 0000)?Wie entkoppelt man Zeichen in Delphi String

Antwort

44

Um ein einzelnes Zitat zu einer Zeichenkette hinzuzufügen, schließen Sie 2 'Markierungen ein, z.

str := '''test string'''; 
Writeln(str) 

In der Zeichenfolge oben haben Sie das normale einfache Angebot, um eine Zeichenfolge und dann zwei für das einfache Angebot zu starten. Das Gleiche gilt für das Ende der Zeichenfolge.

Sie können auch # gefolgt von einer Nummer für andere Escapezeichen wie z.
Für eine neue Zeile:

str := 'Newline' + #13 + #10 

oder nur

str := 'Newline'#13#10 

Natürlich ist die plattformabhängige Konstante für Newline mit besser.

+0

Das einzige Problem mit den # 13 # 10 ist, dass der Compiler eine Warnung generiert, wenn die + fehlen. Es wird kompiliert und läuft gut, aber mit Warnungen. – skamradt

+3

Wann hat der Compiler damit begonnen Warnungen auszugeben? Ich weiß, dass es das in Delphi 5 nicht getan hat, und ich bin mir ziemlich sicher, dass Delphi 2005 nicht funktioniert. Welche Warnung wird jetzt gedruckt? –

+2

Ich denke 'QuotedStr' /' AnsiQuotedStr' sind erwähnenswert. Besonders nützlich beim Zitieren von Variablen, z. 'showMessage ('Parameterwert ist' + QuotedStr (param))' –

8

Für ' Zeichen zweimal eingeben. Zum Beispiel: 'Don''t'. Nullbyte-Typ als # 0.

13

der letzte Teil der Frage zu beantworten, Sie

#$0000 

verwenden können, U + 0000

diese Weise können Sie hinzufügen, die andere Unicode verkohlt hinzuzufügen. (Achten Sie darauf, eine Schriftart zu verwenden, die diese Zeichen anzeigen kann.)

+1

Sie können stattdessen auch '# 0' verwenden. –