This blog post is based on a pre-release version of the RAD Studio software and it has been written with specific permission by Embarcadero. No feature is committed until the product GA release. The official version is at*https://blogs.embarcadero.com/yukon-...ring-literals/
As with most other programming languages, Delphi’s Object Pascal allows a developer to use string literals, that is a string value written directly in the code. This is very common, even if not always recommended; it is better to use a* resource string since they offer advantages in terms of memory management and translation support for string to show to the user.*
Now string literals in Delphi have been tied since the early days to the original Turbo Pascal string type, which is the type we refer to today as “short strings”. Short strings have a maximum of 255 characters and are allocated directly as a static array. Delphi introduced dynamically allocated, long strings starting with Delphi 2. Initially long strings were based on
Ansi, and later on
Unicode. However, string literals never made the same transition from the early days, and they have been limited to the short string type, and retained* a maximum of 255 characters.
The 12.0 version of Delphi (and
RAD Studio) introduces a very significant set of changes to the way the Delphi compiler handles string literals.
Long String Literals
With the coming release, it will be possible to have string literals longer than 255 characters. There is no specific limitation in the compiler. However, the length of a literal string might still be constrained by the editor’s limitations of 4K characters per line. There is no change in syntax; you can simply have a literal string longer than 255 chars.
Above: A 600+ characters long string literal in the editor.
Multiline Strings
What’s more relevant is the second extension to string literals is Delphi 12 will add support for multiline strings. In this case, you have to adopt a different syntax:* multiline strings are delimited by a triple #34e (’’’).
There are a few more syntax rules for a multiline string :
- It is introduced by a triple #34e (’’’)*and*a new line (so no text following the triple #34es on the same line)
- It can encompass multiple lines of the source code file (with no limitation)
- It ends with a closing triple #34e (’’’) in a line without any text preceding it
What’s significant, compared to the past, is that there is no need to concatenate the lines into single-line strings with a + sign. Here is an example:
</br>*
Above: A multiline string literal in the editor.
Want to try now?
These features are enabled in the current Yukon beta, available to customers with an active update subscription. If you are in that group and haven’t received an invite, you can contact an Embarcadero sales rep or sales partner and ask for the signup link.
If you don’t have an active subscription, you can consider*
buying*a new license or*
contacting sales, and once you have a license you can ask* to join the beta.
This blog post is based on a pre-release version of the RAD Studio software and it has been written with specific permission by Embarcadero. No feature is committed until the product GA release.
Weiterlesen...