Delphi strings use single quotes, for example 'a valid string'. How does one specify the ' character within a literal string? How would one refer to the null byte (Unicode code point U+0000)?
3 Answers
To add a single quote to a string, you include two ' marks e.g.
str := '''test string''';
Writeln(str)
In the string above, you have the normal single quotation to start a string and then two for the single quote. Same goes for the end of the string.
You can also use # followed by a number for other escape character e.g.
For a new line:
str := 'Newline' + #13 + #10
or just
str := 'Newline'#13#10
Of course, using the platform-dependent constant for newline is better.
3 Comments
skamradt
The only issue with the #13#10 is that the compiler will generate a warning if the +'s are missing. It will compile and run fine, but with warnings.
Rob Kennedy
When did the compiler start issuing warnings about that? I know it didn't do that in Delphi 5, and I'm pretty sure it doesn't do that Delphi 2005. What warning does it print now?
Alexander Malakhov
I think
QuotedStr / AnsiQuotedStr are worth mentioning. Especially useful when quoting variables, e.g. showMessage('param value is ' + QuotedStr(param))To answer the last part of the question, you can use
#$0000
To add U+0000
This way you can add the other Unicode chars too. (Be sure to use a font that can display those characters.)
1 Comment
Remy Lebeau
You can also use
#0 instead.