views:

3953

answers:

3

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)?

+12  A: 

To add a single quote to a string you do 2 ' 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 dependant constant for new line is better

Jamie
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.
skamradt
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?
Rob Kennedy
+2  A: 

For ' character put it twice. For example: 'Don''t'. Null byte type as #0.

vrad
+5  A: 

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.)

Gamecat