46

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 3

57

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.

Sign up to request clarification or add additional context in comments.

3 Comments

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.
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?
I think QuotedStr / AnsiQuotedStr are worth mentioning. Especially useful when quoting variables, e.g. showMessage('param value is ' + QuotedStr(param))
15

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

You can also use #0 instead.
10

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.