Skip to content

Commit 2d7fcd7

Browse files
committed
Add new version features introduced in Delphi 13
1 parent 91f6339 commit 2d7fcd7

File tree

1 file changed

+32
-4
lines changed

1 file changed

+32
-4
lines changed

notes/version-features.html

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,10 @@ <h1>Delphi Version Features</h1>
107107
<td><code>{$IFEND}</code> compiler directive no longer required to close <code>{$IF}</code> statements: <code>{$ENDIF}</code> can now be used instead.<a href="#footnote-2"><sup>2</sup></a></td>
108108
<td>Delphi XE4</td>
109109
</tr>
110+
<tr>
111+
<td><code>{$IFOPT}</code> compiler directive supports long directives: e.g. <code>{$IFOPT SCOPEDENUMS ON}</code></td>
112+
<td>Delphi 13</td>
113+
</tr>
110114
<tr>
111115
<td><code>{$LEGACYIFEND}</code> compiler directive<a href="#footnote-2"><sup>2</sup></a></td>
112116
<td>Delphi XE5</td>
@@ -120,7 +124,7 @@ <h1>Delphi Version Features</h1>
120124
<td>Delphi 6</td>
121125
</tr>
122126
<tr>
123-
<td><code>{$POINTERMATH}</code> directive</td>
127+
<td><code>{$POINTERMATH}</code> compiler directive</td>
124128
<td>Delphi 2009</td>
125129
</tr>
126130
<tr>
@@ -135,6 +139,10 @@ <h1>Delphi Version Features</h1>
135139
<td><code>{$POINTERMATH}</code> compiler directive</td>
136140
<td>Delphi 2009</td>
137141
</tr>
142+
<tr>
143+
<td><code>{$PUSHOPT}</code> &amp; <code>{$POPOPT}</code> compiler directives</td>
144+
<td>Delphi 13</td>
145+
</tr>
138146
<tr>
139147
<td><code>{$REGION}</code> &amp; <code>{$ENDREGION}</code> compiler directives<a href="#footnote-6" title="Source: StackOverflow"><sup>6</sup></a></td>
140148
<td>Delphi 2005</td>
@@ -268,9 +276,13 @@ <h1>Delphi Version Features</h1>
268276
<td>Delphi 2</td>
269277
</tr>
270278
<tr>
271-
<td>Custom managed records</td>
279+
<td>Custom managed records, with <var>Initialize</var> and <var>Finalize</var> class operators</td>
272280
<td>Delphi 10.4</td>
273281
</tr>
282+
<tr>
283+
<td>Custom managed records <var>Initialize</var> and <var>Finalize</var> class operators simplified with implicit <var>Self</var> references.</td>
284+
<td>Delphi 13</td>
285+
</tr>
274286
</tbody>
275287
<thead id="section-d">
276288
<tr>
@@ -475,13 +487,17 @@ <h1>Delphi Version Features</h1>
475487
<td>Delphi 6</td>
476488
</tr>
477489
<tr>
478-
<td>Inline variable declarations: e.g. <code><strong>for var</strong> I: Integer := 0 <strong>to</strong> 9 <strong>do</strong></code> or, with type inference, <code><strong>for var</strong> I := 0 <strong>to</strong> 9 <strong>do</strong></code></td>
479-
<td>Delphi 10.3</td>
490+
<td>Inline <strong>if</strong> statement (ternary operator): e.g. <code><strong>for var </strong>X := 0 <strong>to</strong> 9 <strong>do </strong>ShowMessage(<strong>if</strong> Odd(X) <strong>then</strong> 'Odd' <strong>else</strong> 'Even');</code></td>
491+
<td>Delphi 13</td>
480492
</tr>
481493
<tr>
482494
<td><strong>inline</strong> keyword</td>
483495
<td>Delphi 2005</td>
484496
</tr>
497+
<tr>
498+
<td>Inline variable declarations: e.g. <code><strong>for var</strong> I: Integer := 0 <strong>to</strong> 9 <strong>do</strong></code> or, with type inference, <code><strong>for var</strong> I := 0 <strong>to</strong> 9 <strong>do</strong></code></td>
499+
<td>Delphi 10.3</td>
500+
</tr>
485501
<tr>
486502
<td>Inner exceptions</td>
487503
<td>Delphi 2009</td>
@@ -518,6 +534,10 @@ <h1>Delphi Version Features</h1>
518534
<td>IOUtils unit</td>
519535
<td>Delphi 2010</td>
520536
</tr>
537+
<tr>
538+
<td><strong>is not</strong> operator</td>
539+
<td>Delphi 13</td>
540+
</tr>
521541
<tr>
522542
<td><var>IsConstValue</var> intrinsic compiler function (undocumented)<a href="#footnote-6" title="Source: StackOverflow"><sup>6</sup></a></td>
523543
<td>Delphi XE7</td>
@@ -631,6 +651,10 @@ <h1>Delphi Version Features</h1>
631651
<td>NaN number comparisons supported</td>
632652
<td>Delphi 12</td>
633653
</tr>
654+
<tr>
655+
<td><var>NameOf</var> intrinsic function</td>
656+
<td>Delphi 13</td>
657+
</tr>
634658
<tr>
635659
<td><var>NativeInt</var> &amp; <var>NativeUInt</var> types</td>
636660
<td>Delphi 7<a href="#footnote-4"><sup>4</sup></td>
@@ -647,6 +671,10 @@ <h1>Delphi Version Features</h1>
647671
<td>Nested types within classes</td>
648672
<td>Delphi 2005</td>
649673
</tr>
674+
<tr>
675+
<td><strong>not in</strong> operator</td>
676+
<td>Delphi 13</td>
677+
</tr>
650678
</tbody>
651679
<thead id="section-o">
652680
<tr>

0 commit comments

Comments
 (0)