<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Yukikoi</id>
	<title>RAD Studio - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Yukikoi"/>
	<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/fr/Sp%C3%A9cial:Contributions/Yukikoi"/>
	<updated>2026-10-15T22:22:20Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Mod%C3%A8le:VersionNumber&amp;diff=218956</id>
		<title>Modèle:VersionNumber</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Mod%C3%A8le:VersionNumber&amp;diff=218956"/>
		<updated>2026-10-15T00:55:44Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : Synchronize VersionNumber definitions with English template.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#switch: {{RadstudioVersion|{{{1|{{RadstudioVersion}}}}}}}&lt;br /&gt;
| {{Version|XE}} = 8.0&lt;br /&gt;
| {{Version|XE2}} = 9.0&lt;br /&gt;
| {{Version|XE3}} = 10.0&lt;br /&gt;
| {{Version|XE4}} = 11.0&lt;br /&gt;
| {{Version|XE5}} = 12.0&lt;br /&gt;
| {{Version|XE6}} = 14.0&lt;br /&gt;
| {{Version|XE7}} = 15.0&lt;br /&gt;
| {{Version|XE8}} = 16.0&lt;br /&gt;
| {{Version|Seattle}} = 17.0&lt;br /&gt;
| {{Version|Berlin}} = 18.0&lt;br /&gt;
| {{Version|Godzilla}} = 19.0&lt;br /&gt;
| {{Version|Rio}} = 20.0&lt;br /&gt;
| {{Version|Sydney}} = 21.0&lt;br /&gt;
| {{Version|Alexandria}} = 22.0&lt;br /&gt;
| {{Version|Athens}} = 23.0&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Modèles de données]]&lt;br /&gt;
[[Category:Modèles affectés par les changements de version majeure]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Compiler_Versions_Table&amp;diff=218955</id>
		<title>Compiler Versions Table</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Compiler_Versions_Table&amp;diff=218955"/>
		<updated>2026-10-15T00:29:28Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;INTERNAL USE PAGE: Translation is done in &amp;quot;Compiler Versions&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 10px; margin-right: 10px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! {{Delphi}} conditional VER&amp;amp;lt;nnn&amp;amp;gt;&lt;br /&gt;
! Product&lt;br /&gt;
! Product Version&lt;br /&gt;
! Package Version&lt;br /&gt;
! CompilerVersion&lt;br /&gt;
&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:90px&amp;quot;|VER360&lt;br /&gt;
| Delphi 12.0 Athens / C++Builder 12.0 Athens&lt;br /&gt;
| {{VersionNumber|Athens}}&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot;|290&lt;br /&gt;
| 36.0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:90px&amp;quot;|VER350&lt;br /&gt;
| Delphi 11.0 Alexandria / C++Builder 11.0 Alexandria&lt;br /&gt;
| {{VersionNumber|Alexandria}}&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot;|280&lt;br /&gt;
| 35.0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:90px&amp;quot;|VER340&lt;br /&gt;
| Delphi 10.4 Sydney / C++Builder 10.4 Sydney&lt;br /&gt;
| {{VersionNumber|Sydney}}&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot;|270&lt;br /&gt;
| 34.0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:90px&amp;quot;|VER330&lt;br /&gt;
| Delphi 10.3 Rio / C++Builder 10.3 Rio&lt;br /&gt;
| {{VersionNumber|Rio}}&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot;|260&lt;br /&gt;
| 33.0&lt;br /&gt;
|-&lt;br /&gt;
| VER320&lt;br /&gt;
| Delphi 10.2 Tokyo / C++Builder 10.2 Tokyo&lt;br /&gt;
| {{VersionNumber|Godzilla}}&lt;br /&gt;
| 250&lt;br /&gt;
| 32.0&lt;br /&gt;
|-&lt;br /&gt;
| VER310&lt;br /&gt;
| Delphi 10.1 Berlin / C++Builder 10.1 Berlin&lt;br /&gt;
| {{VersionNumber|Berlin}}&lt;br /&gt;
| 240&lt;br /&gt;
| 31.0&lt;br /&gt;
|-&lt;br /&gt;
| VER300&lt;br /&gt;
| Delphi 10 Seattle / C++Builder 10 Seattle&lt;br /&gt;
| {{VersionNumber|Seattle}}&lt;br /&gt;
| 230&lt;br /&gt;
| 30.0&lt;br /&gt;
|-&lt;br /&gt;
| VER290&lt;br /&gt;
| Delphi XE8 / C++Builder XE8&lt;br /&gt;
| {{VersionNumber|XE8}}&lt;br /&gt;
| 220&lt;br /&gt;
| 29.0&lt;br /&gt;
|-&lt;br /&gt;
| VER280&lt;br /&gt;
| Delphi XE7 / C++Builder XE7&lt;br /&gt;
| {{VersionNumber|XE7}}&lt;br /&gt;
| 210&lt;br /&gt;
| 28.0&lt;br /&gt;
|-&lt;br /&gt;
| VER270&lt;br /&gt;
| Delphi XE6 / C++Builder XE6&lt;br /&gt;
| {{VersionNumber|XE6}}&lt;br /&gt;
| 200&lt;br /&gt;
| 27.0&lt;br /&gt;
|-&lt;br /&gt;
| VER260&lt;br /&gt;
| Delphi XE5 / C++Builder XE5&lt;br /&gt;
| {{VersionNumber|XE5}}&lt;br /&gt;
| 190&lt;br /&gt;
| 26.0&lt;br /&gt;
|-&lt;br /&gt;
| VER250&lt;br /&gt;
| Delphi XE4 / C++Builder XE4&lt;br /&gt;
| {{VersionNumber|XE4}}&lt;br /&gt;
| 180&lt;br /&gt;
| 25.0&lt;br /&gt;
|-&lt;br /&gt;
| VER240&lt;br /&gt;
| Delphi XE3 / C++Builder XE3&lt;br /&gt;
| {{VersionNumber|XE3}}&lt;br /&gt;
| 170&lt;br /&gt;
| 24.0&lt;br /&gt;
|-&lt;br /&gt;
| VER230&lt;br /&gt;
| Delphi XE2 / C++Builder XE2&lt;br /&gt;
| {{VersionNumber|XE2}}&lt;br /&gt;
| 160&amp;lt;ref name=&amp;quot;FMversion&amp;quot; /&amp;gt;&lt;br /&gt;
| 23.0&lt;br /&gt;
|-&lt;br /&gt;
| VER220&lt;br /&gt;
| Delphi XE / C++Builder XE&lt;br /&gt;
| {{VersionNumber|XE}}&lt;br /&gt;
| 150&lt;br /&gt;
| 22.0&lt;br /&gt;
|-&lt;br /&gt;
| VER210&lt;br /&gt;
| Delphi 2010 / C++Builder 2010&lt;br /&gt;
| 7&lt;br /&gt;
| 140&lt;br /&gt;
| 21.0&lt;br /&gt;
|-&lt;br /&gt;
| VER200&lt;br /&gt;
| Delphi 2009 / C++Builder 2009&lt;br /&gt;
| 6&lt;br /&gt;
| 120&lt;br /&gt;
| 20.0&lt;br /&gt;
|-&lt;br /&gt;
| VER190&lt;br /&gt;
| Delphi 2007 for .Net &amp;lt;ref name=&amp;quot;multiple&amp;quot; /&amp;gt;&lt;br /&gt;
| 5&lt;br /&gt;
| 110&lt;br /&gt;
| 19.0&lt;br /&gt;
|-&lt;br /&gt;
| VER180 or VER185&lt;br /&gt;
| Delphi 2007 / C++Builder 2007 for Win32 &amp;lt;ref name=&amp;quot;multiple&amp;quot; /&amp;gt;&lt;br /&gt;
| 5&lt;br /&gt;
| 110&lt;br /&gt;
| 18.5&lt;br /&gt;
|-&lt;br /&gt;
| VER180&lt;br /&gt;
| Delphi 2006 / C++Builder 2006&lt;br /&gt;
| 4&lt;br /&gt;
| 100&lt;br /&gt;
| 18.0&lt;br /&gt;
|-&lt;br /&gt;
| VER170&lt;br /&gt;
| Delphi 2005&lt;br /&gt;
| 3&lt;br /&gt;
| 90&lt;br /&gt;
| 17.0&lt;br /&gt;
|-&lt;br /&gt;
| VER160&lt;br /&gt;
| Delphi 8 for .Net&lt;br /&gt;
| 2&lt;br /&gt;
| 80&lt;br /&gt;
| 16.0&lt;br /&gt;
|-&lt;br /&gt;
| VER150&lt;br /&gt;
| Delphi 7 (and 7.1)&lt;br /&gt;
| NA&lt;br /&gt;
| 70&lt;br /&gt;
| 15.0&lt;br /&gt;
|-&lt;br /&gt;
| VER140&lt;br /&gt;
| Delphi 6 / C++Builder 6&lt;br /&gt;
| NA&lt;br /&gt;
| 60&lt;br /&gt;
| 14.0&lt;br /&gt;
|-&lt;br /&gt;
| VER130&lt;br /&gt;
| Delphi 5 / C++Builder 5&lt;br /&gt;
| NA&lt;br /&gt;
| 50&lt;br /&gt;
| NA&lt;br /&gt;
|-&lt;br /&gt;
| VER125&lt;br /&gt;
| C++Builder 4&lt;br /&gt;
| NA&lt;br /&gt;
| 40&lt;br /&gt;
| NA&lt;br /&gt;
|-&lt;br /&gt;
| VER120&lt;br /&gt;
| Delphi 4&lt;br /&gt;
| NA&lt;br /&gt;
| 40&lt;br /&gt;
| NA&lt;br /&gt;
|-&lt;br /&gt;
| VER110&lt;br /&gt;
| C++Builder 3&lt;br /&gt;
| NA&lt;br /&gt;
| 30&lt;br /&gt;
| NA&lt;br /&gt;
|-&lt;br /&gt;
| VER100&lt;br /&gt;
| Delphi 3&lt;br /&gt;
| NA&lt;br /&gt;
| 30&lt;br /&gt;
| NA&lt;br /&gt;
|-&lt;br /&gt;
| VER93&lt;br /&gt;
| C++Builder 1&lt;br /&gt;
| NA&lt;br /&gt;
| NA&lt;br /&gt;
| NA&lt;br /&gt;
|-&lt;br /&gt;
| VER90&lt;br /&gt;
| Delphi 2&lt;br /&gt;
| NA&lt;br /&gt;
| 20&lt;br /&gt;
| NA&lt;br /&gt;
|-&lt;br /&gt;
| VER80&lt;br /&gt;
| Delphi 1&lt;br /&gt;
| NA&lt;br /&gt;
| 10&lt;br /&gt;
| NA&lt;br /&gt;
|-&lt;br /&gt;
| VER70&lt;br /&gt;
| Borland Pascal 7.0&lt;br /&gt;
| NA&lt;br /&gt;
| 70&lt;br /&gt;
| NA&lt;br /&gt;
|-&lt;br /&gt;
| VER15&lt;br /&gt;
| Turbo Pascal for Windows 1.5&lt;br /&gt;
| NA&lt;br /&gt;
| 15&lt;br /&gt;
| NA&lt;br /&gt;
|-&lt;br /&gt;
| VER10&lt;br /&gt;
| Turbo Pascal for Windows 1.0&lt;br /&gt;
| NA&lt;br /&gt;
| 10&lt;br /&gt;
| NA&lt;br /&gt;
|-&lt;br /&gt;
| VER60&lt;br /&gt;
| Turbo Pascal 6.0&lt;br /&gt;
| NA&lt;br /&gt;
| 60&lt;br /&gt;
| NA&lt;br /&gt;
|-&lt;br /&gt;
| VER55&lt;br /&gt;
| Turbo Pascal 5.5&lt;br /&gt;
| NA&lt;br /&gt;
| 55&lt;br /&gt;
| NA&lt;br /&gt;
|-&lt;br /&gt;
| VER50&lt;br /&gt;
| Turbo Pascal 5.0&lt;br /&gt;
| NA&lt;br /&gt;
| 50&lt;br /&gt;
| NA&lt;br /&gt;
|-&lt;br /&gt;
| VER40&lt;br /&gt;
| Turbo Pascal 4.0&lt;br /&gt;
| NA&lt;br /&gt;
| 40&lt;br /&gt;
| NA&lt;br /&gt;
&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&amp;lt;!--  Below part should be reflected to the parent &amp;quot;Compiler Versions&amp;quot; page and translated there --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
Note that Delphi 2007 defines two VERxxx symbols (VER180 and VER185). Delphi 2006 and 2007 are binary compatible, so 180 works for both. If you need only 2007, use VER185.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;FMversion&amp;quot;&amp;gt;&lt;br /&gt;
160161 is the version for the five FireMonkey packages at XE2 Update 2: fmi161.bpl, fmx161.bpl, fmxase161.bpl, fmxdae161.bpl, and fmxobj161.bpl.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Concepteur_de_styles_de_bitmaps&amp;diff=218954</id>
		<title>Concepteur de styles de bitmaps</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Concepteur_de_styles_de_bitmaps&amp;diff=218954"/>
		<updated>2026-10-14T14:45:55Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 version importée : LOC-23451&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Utilitaires graphiques - Index}}&lt;br /&gt;
__TOC__&lt;br /&gt;
{{Menu|Outils &amp;amp;gt; Concepteur de styles de bitmaps}}&lt;br /&gt;
&lt;br /&gt;
Le &#039;&#039;&#039;Concepteur de styles de bitmaps&#039;&#039;&#039; vous permet de : &lt;br /&gt;
&lt;br /&gt;
* Créer, modifier et tester des styles {{FM}} (fichiers &amp;lt;code&amp;gt;.style&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;f s=&amp;quot;vcl&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Créer, modifier et tester des styles VCL (fichiers &amp;lt;code&amp;gt;.vsf&amp;lt;/code&amp;gt;) &lt;br /&gt;
* [[Conversion d&#039;un style VCL en style FireMonkey|Convertir un style VCL]] (fichier &amp;lt;code&amp;gt;.vsf&amp;lt;/code&amp;gt;) en style {{FM}}, en enregistrant le style VCL en tant que style {{FM}} (fichier &amp;lt;code&amp;gt;.style&amp;lt;/code&amp;gt;) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;f e=&amp;quot;vcl&amp;quot; /&amp;gt;&lt;br /&gt;
{{Note|Pour ouvrir un style {{FM}} existant (fichier &amp;lt;code&amp;gt;.style&amp;lt;/code&amp;gt;), vous devez utiliser le [[Concepteur de styles FireMonkey|Concepteur de styles {{FM}}]].}}&lt;br /&gt;
&lt;br /&gt;
Dans le &#039;&#039;&#039;Concepteur de styles de bitmaps&#039;&#039;&#039;, vous travaillez seulement avec un template de style, c&#039;est-à-dire une arborescence d&#039;objets et des paramètres. Un template de style a un format constant indépendant du framework. Le convertisseur de style intégré dans le concepteur génère un style réel à partir de ce template.&lt;br /&gt;
&lt;br /&gt;
Pour plus d&#039;informations sur la représentation d&#039;un style, voir :&lt;br /&gt;
&amp;lt;f s=&amp;quot;vcl&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[Présentation des styles VCL|Présentation des styles VCL]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;f e=&amp;quot;vcl&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*[[Personnalisation des applications FireMonkey avec les styles|Personnalisation des applications {{FM}} avec les styles]]&lt;br /&gt;
&lt;br /&gt;
==Fenêtre du Concepteur de styles de bitmaps==&lt;br /&gt;
&lt;br /&gt;
[[Image:BitmapStyle.png|600px|none|left|link=]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;f s=&amp;quot;vcl&amp;quot; /&amp;gt; Le concepteur de styles de bitmaps s&#039;ouvre en affichant le fichier &#039;&#039;&#039;untitled.vsf&#039;&#039;&#039; (un fichier de style VCL), qui est prêt pour les modifications.&lt;br /&gt;
&amp;lt;f e=&amp;quot;vcl&amp;quot; /&amp;gt; &lt;br /&gt;
Le Concepteur de styles de bitmaps contient deux ou trois volets en fonction du noeud d&#039;objet actuellement ouvert :&lt;br /&gt;
&lt;br /&gt;
* Le volet de gauche affiche toujours &#039;&#039;&#039;l&#039;arborescence d&#039;objets&#039;&#039;&#039;.&lt;br /&gt;
* Lorsque vous ouvrez le noeud &#039;&#039;&#039;Objects&#039;&#039;&#039;, le concepteur contient deux autres volets : &lt;br /&gt;
** La &#039;&#039;&#039;visionneuse d&#039;objets/styles&#039;&#039;&#039; dans le volet central.&lt;br /&gt;
** &#039;&#039;&#039;L’inspecteur&#039;&#039;&#039;, dans le volet de droite.&lt;br /&gt;
*Lorsque vous ouvrez l&#039;un des autres noeuds (&#039;&#039;&#039;Images&#039;&#039;&#039;, &#039;&#039;&#039;Fonts&#039;&#039;&#039;, &#039;&#039;&#039;Colors&#039;&#039;&#039; ou &#039;&#039;&#039;SysColors&#039;&#039;&#039;), seule la &#039;&#039;&#039;visionneuse&#039;&#039;&#039; apparaît. Elle occupe le volet central et le volet de droite.&lt;br /&gt;
&lt;br /&gt;
===Arborescence d&#039;objets===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;L&#039;arborescence d&#039;objets&#039;&#039;&#039;, située dans le volet gauche du concepteur, contient les éléments qui peuvent être personnalisés dans un style. &lt;br /&gt;
&lt;br /&gt;
Le tableau suivant décrit les noeuds de &#039;&#039;&#039;l&#039;arborescence d&#039;objets&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
:&lt;br /&gt;
::&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Noeud&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Image:BMPEditorUpDown.png]]&amp;lt;br /&amp;gt;(&#039;&#039;&#039;Flèches bas et haut)&#039;&#039;&#039; &lt;br /&gt;
|&lt;br /&gt;
Boutons permettant de déplacer un objet sélectionné vers le haut ou vers le bas dans la sous-arborescence en cours.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Image:BMPEditorDelete.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(&#039;&#039;&#039;Dupliquer l&#039;objet&#039;&#039;&#039; /&amp;lt;br /&amp;gt; &#039;&#039;&#039;Supprimer l&#039;objet&#039;&#039;&#039;)&lt;br /&gt;
|&lt;br /&gt;
Boutons qui permettent de :&lt;br /&gt;
::* Ajouter une copie de l&#039;objet de niveau supérieur sélectionné dans l&#039;arborescence de l&#039;objet.  La copie est placée à la fin de l&#039;arborescence et est renommée (&amp;amp;lt;nom&amp;amp;gt;_copy).&lt;br /&gt;
::* Supprimer un objet de l&#039;arborescence. &lt;br /&gt;
::*: Vous ne pouvez pas supprimer ou renommer des objets créés par {{Company}}, mais vous pouvez ajouter ou supprimer vos propres nouveaux objets.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Objects&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Structure arborescente affichant les contrôles de l&#039;interface utilisateur qui peuvent être stylés, tels que &#039;&#039;&#039;Button&#039;&#039;&#039;, &#039;&#039;&#039;Edit&#039;&#039;&#039;, &#039;&#039;&#039;Form&#039;&#039;&#039;, et ainsi de suite.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Images&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Les fichiers image utilisés pour sélectionner l&#039;apparence des contrôles. Une image contient les bitmaps des parties et des états des contrôles. Vous pouvez créer de telles images en utilisant un logiciel d&#039;édition graphique.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Fonts&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Une liste de fontes utilisées pour le texte des contrôles. Le texte est généralement différent pour différentes parties et états du contrôle. Par exemple, &#039;&#039;&#039;RadioButtonTextPressed&#039;&#039;&#039; définit l&#039;apparence du texte quand on appuie sur le bouton radio.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Une liste des couleurs de base qui sont utilisées dans le style en cours. Il existe deux catégories de couleurs :&lt;br /&gt;
::* La première catégorie inclut les couleurs utilisées pour les parties de contrôles qui sont restituées directement depuis une image. Dans ce cas, l&#039;élément couleur offre une façon d&#039;accéder à la couleur de cette image. Par exemple, l&#039;élément &#039;&#039;&#039;Window&#039;&#039;&#039; spécifie la couleur de l&#039;arrière-plan de la fiche. Notez que le changement de cette couleur n&#039;affecte pas la façon dont la partie du contrôle est restituée, mais c&#039;est seulement une façon d&#039;accéder par programmation à cette couleur.&lt;br /&gt;
::* La seconde catégorie inclut les couleurs utilisées pour les contrôles qui sont restitués depuis le code à l&#039;exécution (&#039;&#039;&#039;Panel&#039;&#039;&#039;, &#039;&#039;&#039;ListBox&#039;&#039;&#039;, &#039;&#039;&#039;Grid&#039;&#039;&#039; et ainsi de suite).&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;SysColors&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Une liste de couleurs système pour vous aider à activer un style d&#039;application s&#039;il utilise des constantes de couleur système.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Visionneuse de styles===&lt;br /&gt;
&lt;br /&gt;
La &#039;&#039;&#039;visionneuse&#039;&#039;&#039; du volet central contient la représentation du noeud ou du sous-noeud sélectionné dans &#039;&#039;&#039;l&#039;arborescence d&#039;objets&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* Si vous sélectionnez un objet dans l&#039;arborescence, la visionneuse affiche les bitmaps utilisés pour les parties et les états.&lt;br /&gt;
* Si vous sélectionnez &#039;&#039;&#039;Fonts&#039;&#039;&#039;, &#039;&#039;&#039;Colors&#039;&#039;&#039; ou &#039;&#039;&#039;SysColors&#039;&#039;&#039;, les listes correspondantes sont affichées et illustrées.&lt;br /&gt;
* Si vous sélectionnez une image, vous pouvez voir le fichier image et la barre d&#039;outils d&#039;image.&lt;br /&gt;
* Le titre de la &#039;&#039;&#039;visionneuse&#039;&#039;&#039; contient le nom de l&#039;entité ou du noeud en cours de visualisation : &lt;br /&gt;
**&#039;&#039;&#039;Visionneuse d&#039;objets&#039;&#039;&#039; est le titre lorsque vous sélectionnez un objet dans l&#039;arborescence d&#039;objets.&lt;br /&gt;
** Le nom du fichier apparaît lorsque vous affichez &#039;&#039;&#039;Images&#039;&#039;&#039; (le nom de fichier par défaut est style.png).&lt;br /&gt;
** &#039;&#039;&#039;Fonts&#039;&#039;&#039;, &#039;&#039;&#039;Colors&#039;&#039;&#039;, et &#039;&#039;&#039;System Colors&#039;&#039;&#039; sont les titres utilisés quand les noeuds &#039;&#039;&#039;Fonts&#039;&#039;&#039;, &#039;&#039;&#039;Colors&#039;&#039;&#039; et &#039;&#039;&#039;SysColors&#039;&#039;&#039; sont respectivement sélectionnés dans l&#039;arborescence d&#039;objets.&lt;br /&gt;
&lt;br /&gt;
===Volet Inspecteur===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;L&#039;inspecteur&#039;&#039;&#039; se trouve dans le volet de droite. Il affiche les propriétés de l&#039;objet sélectionné. &#039;&#039;&#039;L&#039;inspecteur&#039;&#039;&#039; est visible seulement quand un sous-noeud est sélectionné dans l&#039;arborescence &#039;&#039;&#039;Objets&#039;&#039;&#039;. Par défaut, les options suivantes sont disponibles quand vous sélectionnez des &#039;&#039;&#039;objets&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
[[Image:InspectorView.png|none|right|link=]]&lt;br /&gt;
&lt;br /&gt;
Cette vue change selon l’objet sélectionné dans le noeud d&#039;&#039;&#039;&#039;objet&#039;&#039;&#039;. Vous pouvez définir ou ajuster des propriétés dans &#039;&#039;&#039;l&#039;inspecteur&#039;&#039;&#039; de la même manière que vous le faites dans [[Inspecteur d&#039;objets|l&#039;inspecteur d&#039;objets]] de l’EDI. Gardez à l&#039;esprit que chaque objet possède ses propres propriétés. Par conséquent, seules certaines propriétés peuvent être configurées.&lt;br /&gt;
&lt;br /&gt;
==Menus du Concepteur de styles de bitmaps==&lt;br /&gt;
&lt;br /&gt;
Le Concepteur de styles de bitmaps a une barre de menus qui contient les menus suivants.&lt;br /&gt;
&lt;br /&gt;
===Menu Fichier===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Elément&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Nouveau&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Crée un nouveau style. Par défaut, le nouveau style a les mêmes paramètres que :&lt;br /&gt;
&amp;lt;f s=&amp;quot;vcl&amp;quot; /&amp;gt; &lt;br /&gt;
* le style AquaLightSlate pour la VCL &lt;br /&gt;
&lt;br /&gt;
&amp;lt;f e=&amp;quot;vcl&amp;quot; /&amp;gt; &lt;br /&gt;
* le style AquaLightSlate pour {{FM}} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;f s=&amp;quot;metropolisui&amp;quot; /&amp;gt;&lt;br /&gt;
* MetropolisUIBlack pour les styles Metropolis UI&lt;br /&gt;
&lt;br /&gt;
&amp;lt;f e=&amp;quot;metropolisui&amp;quot; /&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;‏Ouvrir&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Ouvre le fichier de style &amp;lt;code&amp;gt;.vsf&amp;lt;/code&amp;gt; sélectionné dans le dialogue.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Enregistrer&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Enregistre les changements apportés au style en cours.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Enregistrer sous&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Enregistre le style en cours dans un emplacement spécifique ou avec un nom différent.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Quitter&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Ferme le Concepteur de styles de bitmaps.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Menu Voir===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Elément&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Inspecteur d&#039;objets&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Donne la focalisation au volet &#039;&#039;&#039;Inspecteur&#039;&#039;&#039;, situé à droite lors de la visualisation de l’objet.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Arborescence d&#039;objets&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Donne la focalisation au volet &#039;&#039;&#039;Visionneuse d&#039;objets&#039;&#039;&#039;, situé au centre lors de la visualisation d&#039;objets.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Menu Image===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Elément&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Ajouter&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Affiche le dialogue &#039;&#039;&#039;Image sélectionnée&#039;&#039;&#039;, vous permettant de choisir une image à ajouter à la liste de bitmaps.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Mettre à jour&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Remplace l&#039;image sélectionnée par celle sélectionnée dans le dialogue &#039;&#039;&#039;Image sélectionnée&#039;&#039;&#039;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Supprimer&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Retire une image de la liste &#039;&#039;&#039;Images&#039;&#039;&#039;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Exporter&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Exporte toutes les images de la liste vers le dossier de destination.  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Menu Style===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Elément&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Tester&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Ouvre un dialogue exemple avec différents contrôles stylés conformément au style en cours.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Assigner les couleurs&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Assigne automatiquement les couleurs appropriées aux éléments &#039;&#039;&#039;Colors&#039;&#039;&#039; et &#039;&#039;&#039;SysColors&#039;&#039;&#039; basés sur les images utilisées par le style.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Assigner le nom de la fonte&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Définit automatiquement le nom de la fonte et le style de fonte pour tous les objets dans le style en cours.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Assigner la taille de la fonte &#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Définit automatiquement la taille de la fonte pour tous les objets dans le style en cours.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Ajouter de nouveaux objets pour le graphique résolution 1.5x&amp;lt;br /&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Ajouter de nouveaux objets pour le graphique résolution 2.0x&amp;lt;br /&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Ajouter de nouveaux objets pour le graphique résolution 3.0x&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Ajoute des objets pour une résolution spécifique (1.5x, 2.0x ou 3.0x) dans le style en cours.&amp;lt;br /&amp;gt;Les propriétés Bitmap et Margin sont automatiquement ajustées pour la résolution que vous avez définie. &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Supprimer les nouveaux objets pour le graphique résolution 1.5x&amp;lt;br /&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Supprimer les nouveaux objets pour le graphique résolution 2.0x&amp;lt;br /&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Supprimer les nouveaux objets pour le graphique résolution 3.0x&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Supprime les objets pour une résolution spécifique (1.5x, 2.0x ou 3.0x) dans le style en cours.&amp;lt;br /&amp;gt;Les propriétés Bitmap et Margin sont automatiquement ajustées pour la résolution que vous avez définie. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Barre d&#039;outils du Concepteur de styles de bitmaps==&lt;br /&gt;
&lt;br /&gt;
La barre d&#039;outils du Concepteur de styles de bitmaps fournit un accès rapide aux opérations souvent utilisées sur les styles. De plus amples informations détaillées sont fournies dans cette rubrique à propos des commandes &#039;&#039;&#039;Nouveau style&#039;&#039;&#039; et &#039;&#039;&#039;Tester le style&#039;&#039;&#039;, et des boutons &#039;&#039;&#039;Objets avec informations texte&#039;&#039;&#039;.  Les boutons &#039;&#039;&#039;Ouvrir un style&#039;&#039;&#039; et &#039;&#039;&#039;Enregistrer un style&#039;&#039;&#039; ont des significations standard qui ne sont pas décrites ici.&lt;br /&gt;
&lt;br /&gt;
:&lt;br /&gt;
::&lt;br /&gt;
&lt;br /&gt;
[[Image:DesignerToolbar.png|none|left|link=]]&lt;br /&gt;
&lt;br /&gt;
===Commande Nouveau style===&lt;br /&gt;
&lt;br /&gt;
Le bouton &#039;&#039;&#039;Nouveau style&#039;&#039;&#039; [[Image:newstylebutton.png]] rend les options suivantes disponibles lorsque vous cliquez sur la flèche vers le bas (comme illustré dans l&#039;image, la liste des nouveaux styles peut également être invoquée à partir de la commande {{menu|Fichier &amp;amp;gt; Nouveau}} dans le concepteur) : &lt;br /&gt;
&lt;br /&gt;
:[[File:New style command.png|link=]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Commandes pour les styles :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Elément&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Style VCL&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Crée un nouveau style VCL (fichier &amp;lt;code&amp;gt;.vsf&amp;lt;/code&amp;gt;) ayant le même aspect qu&#039;une application Windows classique. Ce template inclut des éléments supplémentaires, comme des boutons d&#039;outils avec icônes, des boutons segmentés, etc.&amp;lt;f e=&amp;quot;vcl&amp;quot; /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Style VCL moderne&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Crée un nouveau style VCL (fichier &amp;lt;code&amp;gt;.vsf&amp;lt;/code&amp;gt;) ayant le même aspect qu&#039;une application Windows 10. Ce template inclut des éléments supplémentaires, comme des boutons d&#039;outils avec icônes, des boutons segmentés, etc.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Style VCL moderne sombre&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Crée un nouveau style VCL (fichier &amp;lt;code&amp;gt;.vsf&amp;lt;/code&amp;gt;) ayant le même aspect qu&#039;une application Windows 10 en mode sombre. Ce template inclut des éléments supplémentaires, comme des boutons d&#039;outils avec icônes, des boutons segmentés, etc.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Style Windows&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Crée un nouveau style avec l&#039;apparence d&#039;une application Windows classique. Ce template inclut des éléments supplémentaires, comme des boutons d&#039;outils avec icônes, des boutons segmentés, etc.  Vous pouvez enregistrer le style en tant que {{f|vcl|}} style {{FM}} (fichier &amp;lt;code&amp;gt;.style&amp;lt;/code&amp;gt;) {{f|vcl| ou en tant que style VCL (fichier &amp;lt;code&amp;gt;.vsf&amp;lt;/code&amp;gt;)}}.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Style MacOS&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Crée un nouveau style {{FM}} (fichier &amp;lt;code&amp;gt;.style&amp;lt;/code&amp;gt;) ayant le même aspect qu&#039;une application macOS Yosemite. Ce template inclut des éléments supplémentaires, comme des boutons d&#039;outils avec icônes, des boutons segmentés, etc.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Style moderne Windows&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Crée un nouveau style {{FM}} (fichier &amp;lt;code&amp;gt;.style&amp;lt;/code&amp;gt;) ayant le même aspect qu&#039;une application Windows 10. Ce template inclut des éléments supplémentaires, comme des boutons d&#039;outils avec icônes, des boutons segmentés, etc.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Style moderne sombre Windows&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Crée un nouveau style {{FM}} (fichier &amp;lt;code&amp;gt;.style&amp;lt;/code&amp;gt;) ayant le même aspect qu&#039;une application Windows 10 en mode sombre. Ce template inclut des éléments supplémentaires, comme des boutons d&#039;outils avec icônes, des boutons segmentés, etc.&lt;br /&gt;
|- {{fr|metropolisui}}&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Style Metropolis UI &#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Crée un nouveau style avec l&#039;apparence d&#039;une application Windows 8. Cette option inclut une collection étendue de contrôles spécifiques aux applications Metropolis UI, tels que : bouton lecture, bouton document, bouton vidéo, et ainsi de suite, tous personnalisables. Pour plus d&#039;informations, voir [[Développement des applications Metropolis UI|Développement des applications Metropolis UI]].&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Style iOS &#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Crée un nouveau style {{FM}} personnalisé pour iOS. Le template inclut un graphique résolution 3x (pour périphérique iPhone 6 Plus) et des objets. Le template fonctionne pour iOS 8 et iOS 9. Pour plus d&#039;informations, voir [[Développement d&#039;applications mobiles iOS|Développement d&#039;applications mobiles iOS]].&lt;br /&gt;
Pour plus d&#039;informations sur la création d&#039;un nouveau style personnalisé pour les affichages Retina (haute résolution) et la plate-forme cible iOS, voir :&lt;br /&gt;
* [[Utilisation des styles FireMonkey natifs et personnalisés|Utilisation des styles {{FM}} natifs et personnalisés]] &lt;br /&gt;
* [[Utilisation des styles pour iOS : les styles multi-résolutions, et les styles noir et transparent|Utilisation des styles pour iOS : les styles multi-résolution, et les styles noir et transparent]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Style Android clair &#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Crée un nouveau style clair personnalisé pour la plate-forme cible Android 4 (KitKat). Le &#039;&#039;&#039;style Android clair&#039;&#039;&#039; est fourni avec le produit à l&#039;emplacement &amp;lt;code&amp;gt;{{StylesPath}}&amp;lt;/code&amp;gt;. Pour plus d&#039;informations, voir [[Développement d&#039;applications mobiles Android|Développement d&#039;applications mobiles Android]].&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Style Android foncé &#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Crée un nouveau style foncé personnalisé pour la plate-forme cible Android 4 (KitKat). Le &#039;&#039;&#039;style Android foncé&#039;&#039;&#039; est fourni avec le produit à l&#039;emplacement &amp;lt;code&amp;gt;{{StylesPath}}&amp;lt;/code&amp;gt;. Pour plus d&#039;informations, voir [[Développement d&#039;applications mobiles Android|Développement d&#039;applications mobiles Android]].&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Style Android L clair &#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Crée un nouveau style clair personnalisé pour la plate-forme cible Android 5 (Lollipop). Le &#039;&#039;&#039;style Android L clair&#039;&#039;&#039; est fourni avec le produit à l&#039;emplacement &amp;lt;code&amp;gt;{{StylesPath}}&amp;lt;/code&amp;gt;. Pour plus d&#039;informations, voir [[Développement d&#039;applications mobiles Android|Développement d&#039;applications mobiles Android]].&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Style Android L foncé &#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Crée un nouveau style foncé personnalisé pour la plate-forme cible Android 5 (Lollipop). Le &#039;&#039;&#039;style Android L foncé&#039;&#039;&#039; est fourni avec le produit à l&#039;emplacement &amp;lt;code&amp;gt;{{StylesPath}}&amp;lt;/code&amp;gt;. Pour plus d&#039;informations, voir [[Développement d&#039;applications mobiles Android|Développement d&#039;applications mobiles Android]].&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Style vide pour Windows&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Crée un style vide pour la plate-forme Windows.  Vous pouvez ajouter des graphiques et des objets personnalisés au style vide, puis l&#039;enregistrer en tant que style {{FM}}. Pour ce faire, vous pouvez utiliser le style dans [[lib_fr:FMX.Controls.TStyleBook|TStyleBook]].&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Style vide pour Mac&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Crée un style vide pour la plate-forme macOS Yosemite. Vous pouvez ajouter des graphiques et des objets personnalisés au style vide, puis l&#039;enregistrer en tant que style {{FM}}. Pour ce faire, vous pouvez utiliser le style dans [[lib_fr:FMX.Controls.TStyleBook|TStyleBook]].&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Style vide pour iOS&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Crée un style vide pour la plate-forme iOS.  Vous pouvez ajouter des graphiques et des objets personnalisés au style vide, puis l&#039;enregistrer en tant que style {{FM}}. Pour ce faire, vous pouvez utiliser le style dans [[lib_fr:FMX.Controls.TStyleBook|TStyleBook]].&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Style vide pour Android&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Crée un style vide pour la plate-forme Android.  Vous pouvez ajouter des graphiques et des objets personnalisés au style vide, puis l&#039;enregistrer en tant que style {{FM}}. Pour ce faire, vous pouvez utiliser le style dans [[lib_fr:FMX.Controls.TStyleBook|TStyleBook]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Commande Ouvrir un style===&lt;br /&gt;
&lt;br /&gt;
Cliquez sur le bouton &#039;&#039;&#039;Ouvrir un style&#039;&#039;&#039; (ou sélectionnez {{menu|Fichier &amp;amp;gt; Ouvrir}} (Ctrl+O)) dans le Concepteur de styles de bitmaps, puis naviguez jusqu&#039;à l&#039;emplacement d&#039;un style que vous voulez modifier. Vous pouvez seulement ouvrir un style &amp;lt;code&amp;gt;.vsf&amp;lt;/code&amp;gt; en utilisant le Concepteur de styles de bitmaps. (Vous pouvez, cependant, créer des fichiers &amp;lt;code&amp;gt;.style&amp;lt;/code&amp;gt;.)&lt;br /&gt;
&lt;br /&gt;
===Commande Enregistrer un style===&lt;br /&gt;
&lt;br /&gt;
Cliquez sur le bouton &#039;&#039;&#039;Enregistrer un style&#039;&#039;&#039; (ou sélectionnez {{menu|Fichier &amp;amp;gt; Enregistrer}} ou {{menu|Fichier &amp;amp;gt; Enregistrer sous}} (Ctrl+S)) dans le Concepteur de styles de bitmaps. Vous pouvez enregistrer des styles en tant que fichiers &amp;lt;code&amp;gt;.vsf&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;.style&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Commande Tester un style===&lt;br /&gt;
&lt;br /&gt;
Cliquer sur le bouton vert &#039;&#039;&#039;Tester un style&#039;&#039;&#039; [[Image:TestCommand.png]] ouvre la &#039;&#039;&#039;Visionneuse de styles&#039;&#039;&#039;, qui vous permet d&#039;examiner les éléments d&#039;interface utilisateur dans le style que vous testez, y compris les styles utilisés pour les éléments d&#039;interface utilisateur activés et désactivés.&lt;br /&gt;
&lt;br /&gt;
La &#039;&#039;&#039;visionneuse de styles&#039;&#039;&#039; affiche le type de style approprié, tel que :&lt;br /&gt;
&amp;lt;f s=&amp;quot;vcl&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Visionneuse de styles VCL&lt;br /&gt;
**Windows&lt;br /&gt;
** Mode clair et mode sombre Windows10&lt;br /&gt;
&lt;br /&gt;
&amp;lt;f e=&amp;quot;vcl&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Visionneuse de styles FMX&lt;br /&gt;
**Windows&lt;br /&gt;
**MacOS&lt;br /&gt;
*Visionneuse de styles Windows modernes FMX&lt;br /&gt;
** Mode clair et mode sombre Windows&lt;br /&gt;
&lt;br /&gt;
&amp;lt;f s=&amp;quot;metropolisui&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Visionneuse de styles FMX Metropolis UI&lt;br /&gt;
&lt;br /&gt;
&amp;lt;f e=&amp;quot;metropolisui&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Visionneuse de styles mobiles&lt;br /&gt;
**iOS&lt;br /&gt;
** Mode clair et mode sombre Android&lt;br /&gt;
** Mode clair et mode sombre Android L&lt;br /&gt;
&lt;br /&gt;
La commande &#039;&#039;&#039;Tester un style&#039;&#039;&#039; fournit les options suivantes :&lt;br /&gt;
&lt;br /&gt;
:[[File:Test style.png|link=]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Commandes Tester un style :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Elément&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|- {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Tester le style VCL&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Vous permet de tester un style VCL en cours de construction.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Tester le style {{FM}}&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Vous permet de tester un style {{FM}} en cours de construction.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Tester le style moderne Windows {{FM}}&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Vous permet de tester un style moderne Windows {{FM}} en cours de construction.&lt;br /&gt;
|- {{fr|metropolisui}}&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Tester le style {{FM}} Metropolis UI&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Vous permet de tester un style {{FM}} Metropolis UI en cours de construction.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Tester le style {{FM}} mobile&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Vous permet de tester un style {{FM}} mobile en cours de construction.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Tester le &amp;amp;lt;style&amp;amp;gt; avec un graphique résolution &amp;amp;lt;multiplicateur&amp;amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Vous permet de tester le style spécifié dans une résolution &amp;amp;lt;multiplicateur&amp;amp;gt; fois plus élevée que la résolution de base du style. Utilisez ces entrées pour voir comment votre style est restitué sur des écrans de périphériques ayant une densité de pixels élevée.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;f s=&amp;quot;metropolisui&amp;quot; /&amp;gt;&lt;br /&gt;
Si vous construisez un style Metropolis UI, choisissez :&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Tester le style {{FM}}&#039;&#039;&#039; pour voir comment les contrôles de base apparaissent dans le style Metropolis UI&lt;br /&gt;
* &#039;&#039;&#039;Tester le style Bureau {{FM}} Metropolis UI&#039;&#039;&#039; pour voir les nouveaux contrôles spécifiques à Metropolis UI&lt;br /&gt;
&lt;br /&gt;
&amp;lt;f e=&amp;quot;metropolisui&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Bouton Ajouter un template d&#039;objet===&lt;br /&gt;
&lt;br /&gt;
Le bouton &#039;&#039;&#039;Ajouter un template d&#039;objet&#039;&#039;&#039; vous permet d&#039;ajouter des templates d&#039;objet au style. Chaque template d&#039;objet inclut la structure prête à l&#039;emploi appropriée de l&#039;objet. Vous devez seulement renommer l&#039;objet et assigner les propriétés comme vous le souhaitez. Le champ &#039;&#039;&#039;Params&#039;&#039;&#039;, qui est renseigné automatiquement, contient des directives pour le convertisseur de style concernant la manière de créer l&#039;objet style réel dans le style obtenu. Par exemple, si le convertisseur de style voit [CHANGEPRESSEDOPACITY] dans le champ &#039;&#039;&#039;Params&#039;&#039;&#039;, il utilise un objet TActiveLayout spécial.&lt;br /&gt;
&lt;br /&gt;
Lorsque vous cliquez sur l&#039;un des boutons &#039;&#039;&#039;Ajouter un template d&#039;objet&#039;&#039;&#039;, le template d&#039;objet est ajouté à la fin de l&#039;arborescence &#039;&#039;&#039;d&#039;objets&#039;&#039;&#039; et reçoit un nouveau nom, par exemple &#039;&#039;&#039;StyleObject&amp;amp;lt;n&amp;amp;gt;_Button&#039;&#039;&#039; une fois que vous avez cliqué sur &#039;&#039;&#039;Ajouter le bouton&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:AddButton.png|none|left|link=]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Commandes Ajouter un template d&#039;objet :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Bouton&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Ajouter un bouton&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Ajoute un bouton générique au style en cours.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Ajouter un bouton avec du texte&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Ajoute un bouton générique avec du texte au style en cours.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Ajouter un bouton avec un glyphe&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Ajoute un bouton générique avec un glyphe ou une icône au style en cours.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Ajouter une case à cocher&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Ajoute une case à cocher au style en cours.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Ajouter un bouton radio&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Ajoute un bouton radio au style en cours.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Ajouter un libellé&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Ajoute un libellé au style en cours.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Ajouter un libellé actif&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Ajoute un libellé actif au style en cours. Un libellé actif a des fonctionnalités supplémentaires en rapport avec les fontes.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Ajouter un contrôle d&#039;édition&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Ajoute un champ d&#039;édition au style en cours.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Ajouter un volet&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Ajoute un volet au style en cours.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Ajouter une barre de progression&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Ajoute une barre de progression au style en cours.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Ajouter une barre graduée&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Ajoute une barre graduée au style en cours.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Ajouter un commutateur&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
Ajoute un commutateur au style en cours.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Boutons Objets avec informations texte===&lt;br /&gt;
&lt;br /&gt;
Les boutons &#039;&#039;&#039;Objets avec informations texte&#039;&#039;&#039; sont localisés sur la section de droite de la barre d&#039;outils :&lt;br /&gt;
&lt;br /&gt;
[[Image:TBarbtns.png]]&lt;br /&gt;
&lt;br /&gt;
Ces boutons effectuent les tâches suivantes :&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Bouton&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Objet&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
T &lt;br /&gt;
|&lt;br /&gt;
StyleObject&lt;br /&gt;
|&lt;br /&gt;
Insère un simple objet que vous pouvez utiliser en tant que conteneur, ou un simple objet avec des données de couleur ou de fonte. &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Tx1 &lt;br /&gt;
|&lt;br /&gt;
BitmapObject &lt;br /&gt;
|&lt;br /&gt;
Insère un objet ayant un état bitmap (par exemple, des panneaux, des barres d&#039;outils).&lt;br /&gt;
|- {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
Tx2 &lt;br /&gt;
|&lt;br /&gt;
ActiveObject &lt;br /&gt;
|&lt;br /&gt;
Insère un objet ayant deux états de fonte (fonte active et fonte désactivée - seulement utilisé pour les styles VCL).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Tx2 &lt;br /&gt;
|&lt;br /&gt;
ActiveBitmap &lt;br /&gt;
|&lt;br /&gt;
Insère un objet ayant deux états bitmap (bitmap ou activebitmap - par exemple, des éléments de menu).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
x3&lt;br /&gt;
|&lt;br /&gt;
SystemButton &lt;br /&gt;
|&lt;br /&gt;
Insère un objet pour le titre de la fiche avec trois états (boutons min, max, fermer).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
x5&lt;br /&gt;
|&lt;br /&gt;
ButtonObject &lt;br /&gt;
|&lt;br /&gt;
Insère un objet ayant cinq états bitmap (désactivé, activé, sensible, appuyé, focalisé - par exemple, un bouton).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Tx5 &lt;br /&gt;
|&lt;br /&gt;
TextObject &lt;br /&gt;
|&lt;br /&gt;
Insère un objet ayant cinq états de fonte (fonte désactivée, fonte activée, fonte sensible, fonte appuyée, fonte focalisée).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Commandes du menu contextuel pour la modification d&#039;objets==&lt;br /&gt;
&lt;br /&gt;
Le menu contextuel de &#039;&#039;&#039;l&#039;arborescence d&#039;objets&#039;&#039;&#039; contient des commandes utiles pour la modification d&#039;objets.&lt;br /&gt;
&lt;br /&gt;
===Ajustement automatique des résolutions===&lt;br /&gt;
&lt;br /&gt;
A l&#039;aide du menu contextuel, vous pouvez automatiquement mettre à jour un objet sélectionné pour différentes résolutions (en ajustant automatiquement les propriétés &#039;&#039;&#039;Bitmap&#039;&#039;&#039; et &#039;&#039;&#039;Margin&#039;&#039;&#039;). Vous devez simplement définir ces deux propriétés pour des objets de résolution 1x. Si l&#039;objet a également des objets pour d&#039;autres résolutions (Face20x pour une résolution 2x, par exemple), cliquez avec le bouton droit sur l&#039;objet et sélectionnez &#039;&#039;&#039;Ajuster automatiquement l&#039;objet pour toutes les résolutions graphiques&#039;&#039;&#039; dans le menu contextuel pour ajouter de nouveaux objets selon vos besoins et définir toutes les propriétés pour les objets (pour Face20x, par exemple). &lt;br /&gt;
&lt;br /&gt;
Pour créer des objets pour d&#039;autres résolutions, voir [[#Menu_Style|#Menu Style]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:AdjustResolution.png|none|left|link=]]&lt;br /&gt;
&lt;br /&gt;
===Tester vos objets style personnalisés===&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester individuellement des objets personnalisés. Si vous avez ajouté un objet personnalisé (par exemple, &amp;quot;smallswitch&amp;quot;), vous pouvez tester cet objet avec différentes résolutions graphiques. Appelez simplement une commande &#039;&#039;&#039;Tester le style d&#039;objet&#039;&#039;&#039; depuis le menu contextuel de l&#039;objet.&lt;br /&gt;
&lt;br /&gt;
[[Image:TestingObject.png]]&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;f s=&amp;quot;vcl&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[Présentation des styles VCL|Présentation des styles VCL]]&lt;br /&gt;
* [[Conversion d&#039;un style VCL en style FireMonkey|Conversion d&#039;un style VCL en style {{FM}}]]&lt;br /&gt;
* [[Manipulation des images dans le Concepteur de styles de bitmaps|Manipulation des images dans le Concepteur de styles de bitmaps]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;f e=&amp;quot;vcl&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[Création d&#039;un style à l&#039;aide du Concepteur de styles de bitmaps|Création d&#039;un style à l&#039;aide du Concepteur de styles de bitmaps]]&lt;br /&gt;
* [[Mise à jour des styles VCL|Mise à jour des styles VCL]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Versions_du_compilateur&amp;diff=218952</id>
		<title>Versions du compilateur</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Versions_du_compilateur&amp;diff=218952"/>
		<updated>2026-10-14T14:45:54Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 version importée : LOC-23451&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Compilation conditionnelle (Delphi)}}&lt;br /&gt;
&lt;br /&gt;
Le tableau suivant liste le numéro de version associé à chaque release des [[Chaînes d&#039;outils Delphi|compilateurs {{Delphi}}]], en commençant par Turbo Pascal 4.0 et en terminant par la version en cours du compilateur :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 10px; margin-right: 10px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! {{Delphi}} conditionnel VER&amp;amp;lt;nnn&amp;amp;gt;&lt;br /&gt;
! Produit&lt;br /&gt;
! Version du produit&lt;br /&gt;
! Version du package&lt;br /&gt;
! CompilerVersion&lt;br /&gt;
{{:Compiler Versions Table}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{#tag:references|&lt;br /&gt;
{{#tag:ref|Notez que Delphi 2007 définit deux symboles VERxxx (VER180 et VER185). Les binaires de Delphi 2006 et 2007 sont compatibles, ainsi 180 fonctionne pour les deux. Si vous avez seulement besoin de 2007, utilisez VER185.|name=multiple}}&lt;br /&gt;
{{#tag:ref|160161 est la version des cinq packages FireMonkey dans XE2 Update 2 : fmi161.bpl, fmx161.bpl, fmxase161.bpl, fmxdae161.bpl et fmxobj161.bpl.|name=FMversion}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|&#039;&#039;&#039;CompilerVersion&#039;&#039;&#039; a initialement été introduit avec Delphi 6 ; les versions antérieures ne prennent donc pas en charge la constante &#039;&#039;&#039;CompilerVersion&#039;&#039;&#039;.}}&lt;br /&gt;
&lt;br /&gt;
===Voir aussi===&lt;br /&gt;
&lt;br /&gt;
* [[Compilation conditionnelle (Delphi)|Compilation conditionnelle (Delphi)]]&lt;br /&gt;
* [[Macros prédéfinies|Macros prédéfinies (C++)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Utilisation_de_l%27audit_de_code_DelphiLSP_avec_d%27autres_%C3%A9diteurs%3D_DelphiLSP_-_Serveur_de_langage_pour_Delphi%3D&amp;diff=218950</id>
		<title>Utilisation de l&#039;audit de code DelphiLSP avec d&#039;autres éditeurs= DelphiLSP - Serveur de langage pour Delphi=</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Utilisation_de_l%27audit_de_code_DelphiLSP_avec_d%27autres_%C3%A9diteurs%3D_DelphiLSP_-_Serveur_de_langage_pour_Delphi%3D&amp;diff=218950"/>
		<updated>2026-10-02T07:44:32Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : Yukikoi a déplacé la page Utilisation de l&amp;#039;audit de code DelphiLSP avec d&amp;#039;autres éditeurs= DelphiLSP - Serveur de langage pour Delphi= vers Utilisation de l&amp;#039;audit de code DelphiLSP avec d&amp;#039;autres éditeurs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECTION [[Utilisation de l&#039;audit de code DelphiLSP avec d&#039;autres éditeurs]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Utilisation_de_l%27audit_de_code_DelphiLSP_avec_d%27autres_%C3%A9diteurs&amp;diff=218949</id>
		<title>Utilisation de l&#039;audit de code DelphiLSP avec d&#039;autres éditeurs</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Utilisation_de_l%27audit_de_code_DelphiLSP_avec_d%27autres_%C3%A9diteurs&amp;diff=218949"/>
		<updated>2026-10-02T07:44:32Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : Yukikoi a déplacé la page Utilisation de l&amp;#039;audit de code DelphiLSP avec d&amp;#039;autres éditeurs= DelphiLSP - Serveur de langage pour Delphi= vers Utilisation de l&amp;#039;audit de code DelphiLSP avec d&amp;#039;autres éditeurs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DelphiLSP.exe est un serveur de langage Delphi qui implémente le protocole [https://langserver.org/%7C Language Server Protocol (LSP)]. Il encapsule les fonctionnalités de langage comme l&#039;achèvement de code et l&#039;audit d&#039;erreur. Il est utilisé [[Référence de l&#039;Audit de code|dans l&#039;EDI]], mais peut également être utilisé avec Visual Studio Code ou d&#039;autres éditeurs qui prennent en charge le protocole LSP. &lt;br /&gt;
&lt;br /&gt;
==Utilisation de DelphiLSP dans Visual Studio Code==&lt;br /&gt;
&lt;br /&gt;
Utilisez l&#039;extension Delphi LSP dans Visual Studio Code pour ouvrir des projets RAD Studio et effectuer des opérations.&lt;br /&gt;
Suivez ces étapes pour ouvrir vos projets :&lt;br /&gt;
Installez l&#039;extension DelphiLSP pour VSCode :&lt;br /&gt;
&lt;br /&gt;
* Installez RAD Studio 11.0 ou supérieur sur votre machine locale.&lt;br /&gt;
* Installez [https://code.visualstudio.com/%7C Visual Studio Code].&lt;br /&gt;
* Téléchargez et installez l&#039;extension &#039;&#039;&#039;Delphi LSP&#039;&#039;&#039; à partir du &#039;&#039;&#039;marketplace Visual Studio Code&#039;&#039;&#039;.&lt;br /&gt;
** Chargez à nouveau la fenêtre &#039;&#039;&#039;Visual Studio Code&#039;&#039;&#039; ou utilisez la palette de commandes &amp;amp;lt;F1&amp;amp;gt; et tapez &#039;&#039;&amp;quot;reload window&amp;quot;&#039;&#039; (recharger la fenêtre).&lt;br /&gt;
&lt;br /&gt;
Pour ouvrir un projet :&lt;br /&gt;
&lt;br /&gt;
* Assurez-vous que Delphi crée un fichier .delphilsp.json pour le projet Delphi sur lequel vous allez travailler dans Visual Studio Code. Pour de plus amples informations, voir [[Référence de l&#039;Audit de code#Création de fichiers .delphilsp.json|Référence de l&#039;Audit de code]].&lt;br /&gt;
&lt;br /&gt;
{{Note| Ne vérifiez pas les fichiers .delphilsp.json dans le contrôle de source, car ils contiennent des paramètres applicables à la configuration de la machine locale.}}&lt;br /&gt;
&lt;br /&gt;
* Ouvrez un dossier dans Visual Studio Code qui comporte un ou plusieurs projets.&lt;br /&gt;
** Accédez à {{Menu|Fichier &amp;amp;gt; Ouvrir un dossier}} pour charger vos projets.&lt;br /&gt;
&lt;br /&gt;
{{Note| Ouvrez le projet complet, pas des fichiers uniques.}}&lt;br /&gt;
&lt;br /&gt;
[[File:Loaded project.png|border|link=|500px]]&lt;br /&gt;
&lt;br /&gt;
L&#039;extension DelphiLSP utilisera le fichier .delphilsp.json dans le dossier ouvert. S&#039;il n&#039;y en a aucun ou plusieurs, un message vous invitant à choisir le fichier .delphilsp.json à utiliser s&#039;affichera. Voir [[Utilisation de l&#039;audit de code DelphiLSP avec d&#039;autres éditeurs#Configuration manuelle des fichiers projet|&amp;quot;Configuration manuelle des fichiers de configuration du projet&amp;quot;]] ci-dessous.&lt;br /&gt;
{{Note| L&#039;extension Delphi LSP est activée uniquement lorsque vous ouvrez un projet Delphi (fichier .pas ou .dpr).}}&lt;br /&gt;
&lt;br /&gt;
* Commencez à utiliser les fonctionnalités LSP avec votre code Delphi dans Visual Studio Code. Vous pouvez voir que les fonctionnalités de l&#039;audit de code sont disponibles, comme dans RAD Studio. Pour plus d&#039;informations, voir [[Référence de l&#039;Audit de code|Référence de l&#039;Audit de code]].&lt;br /&gt;
&lt;br /&gt;
[[File:Delphi code.png|border|link=]]&lt;br /&gt;
&lt;br /&gt;
===Résolution des problèmes===&lt;br /&gt;
&lt;br /&gt;
====Installation manuelle de l&#039;extension DelphiLSP dans Visual Studio Code====&lt;br /&gt;
&lt;br /&gt;
Installez manuellement l&#039;extension &#039;&#039;&#039;Delphi LSP&#039;&#039;&#039; dans &#039;&#039;&#039;Visual Studio Code&#039;&#039;&#039; en procédant comme suit :&lt;br /&gt;
&lt;br /&gt;
* Accédez à &#039;&#039;&#039;Extensions&#039;&#039;&#039; et cliquez sur &#039;&#039;&#039;Installer à partir d&#039;un fichier VSIX&#039;&#039;&#039; pour installer le fichier d&#039;extension DelphiLSP (par ex. delphiLsp-x.x.x.vsix).&lt;br /&gt;
&lt;br /&gt;
[[File:Install from VSIX.png|border|link=]]&lt;br /&gt;
&lt;br /&gt;
* Ouvrez les [https://code.visualstudio.com/docs/getstarted/settings%7C Paramètres utilisateur] et définissez Delphi Lsp:Executable :&lt;br /&gt;
** Accédez à {{Menu|Fichier &amp;amp;gt; Préférences &amp;amp;gt; Paramètres}}&lt;br /&gt;
** Dans la barre de recherche, recherchez delphilsp.&lt;br /&gt;
** Vous devez être dans l&#039;onglet Utilisateur.&lt;br /&gt;
** Définissez &#039;&#039;&#039;Delphi Lsp:Executable&#039;&#039;&#039; avec le chemin d&#039;accès à DelphiLSP.exe&lt;br /&gt;
&lt;br /&gt;
[[File:SETTINGS.png|border|link=|800px]]&lt;br /&gt;
&lt;br /&gt;
====Configuration manuelle des fichiers projet====&lt;br /&gt;
&lt;br /&gt;
Lorsque Visual Studio Code ne contient aucun fichier de configuration ou plusieurs fichiers, une invite apparaît. Cliquez dessus pour ouvrir les paramètres de plugin.&lt;br /&gt;
&lt;br /&gt;
[[File:Workspace settings.png|border|link=|800px]]&lt;br /&gt;
&lt;br /&gt;
Le fichier des paramètres doit pointer vers la configuration .delphilsp.json de votre projet.&lt;br /&gt;
&lt;br /&gt;
{{Note| Configurez votre projet dans l&#039;onglet Paramètres de l&#039;espace de travail. Pour de plus amples informations, voir [https://code.visualstudio.com/docs/getstarted/settings Documentation Visual Studio Code] dans Paramètres utilisateur vs paramètres de l&#039;espace de travail.&lt;br /&gt;
&lt;br /&gt;
===Remplissage de rapports de bogues===&lt;br /&gt;
&lt;br /&gt;
Les fichiers .log et .trace contiennent des informations importantes sur les opérations système. Ils permettent de les vérifier et de les analyser lorsque des erreurs ou des comportements non désirés se produisent.&lt;br /&gt;
&lt;br /&gt;
Pour déboguer les problèmes et remplir des rapports de bogues :&lt;br /&gt;
&lt;br /&gt;
* Dans les paramètres DelphiLSP, activez la journalisation. Définissez les modes du journal sur 255 (un masque binaire pour toutes les informations).&lt;br /&gt;
* Suivez la même procédure pour remplir un [[Référence de l&#039;Audit de code#Rapports de bogues et fichiers journaux|rapport de bogues Delphi LSP]]. &lt;br /&gt;
* Veillez à joindre le fichier .delphilsp.json que vous utilisez.&lt;br /&gt;
&lt;br /&gt;
{{Note| Les fichiers .trace et .log sont créés uniquement lorsque la journalisation est activée.}}&lt;br /&gt;
&lt;br /&gt;
====Débogage de Visual Studio Code====&lt;br /&gt;
&lt;br /&gt;
Dans les projets DelphiLSP, les fichiers .log ne sont pas créés, mais l&#039;extension DelphiLSP vous permet de les vérifier via Visual Studio Code. &lt;br /&gt;
&lt;br /&gt;
Pour déboguer les problèmes via Visual Studio Code :&lt;br /&gt;
&lt;br /&gt;
* Ouvrez la &#039;&#039;&#039;vue de sortie&#039;&#039;&#039; via la fenêtre Visual Studio Code ou utilisez la palette de commandes &amp;amp;lt;F1&amp;amp;gt; et tapez &#039;&#039;&amp;quot;focus output view&amp;quot;&#039;&#039; (focaliser sur la vue de sortie).&lt;br /&gt;
* Sélectionnez &#039;&#039;&#039;DelphiLSP&#039;&#039;&#039; dans le menu déroulant.&lt;br /&gt;
* Un message du journal est envoyé à partir du serveur vers le client en temps réel.&lt;br /&gt;
&lt;br /&gt;
[[File:Log Message.png|border|link=|998px]]&lt;br /&gt;
&lt;br /&gt;
==Utilisation de DelphiLSP avec d&#039;autres éditeurs==&lt;br /&gt;
&lt;br /&gt;
La documentation suivante peut être utile si vous voulez tester DelphiLSP avec d&#039;autres éditeurs. DelphiLSP communique uniquement sur des E/S standard (console). Le serveur LSP recherchera un fichier .delphilsp.json de la même manière que lorsqu&#039;il est utilisé à partir de VSCode.&lt;br /&gt;
&lt;br /&gt;
===Initialisation===&lt;br /&gt;
&lt;br /&gt;
LSP autorise une section initializationOptions personnalisée dans la requête d&#039;initialisation. &lt;br /&gt;
Voici un exemple de requête d&#039;initialisation valide :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&lt;br /&gt;
   &amp;quot;id&amp;quot;:1,&lt;br /&gt;
   &amp;quot;method&amp;quot;:&amp;quot;initialize&amp;quot;,&lt;br /&gt;
   &amp;quot;params&amp;quot;:{&lt;br /&gt;
      &amp;quot;processId&amp;quot;:4711,&lt;br /&gt;
      &amp;quot;rootUri&amp;quot;:&amp;quot;file:///C%3A/Test&amp;quot;,&lt;br /&gt;
      &amp;quot;initializationOptions&amp;quot;:{&lt;br /&gt;
         &amp;quot;serverType&amp;quot;:&amp;quot;controller&amp;quot;,&lt;br /&gt;
         &amp;quot;agentCount&amp;quot;:2,&lt;br /&gt;
         &amp;quot;returnDccFlags&amp;quot;:true,&lt;br /&gt;
         &amp;quot;returnHoverModel&amp;quot;:true,&lt;br /&gt;
         &amp;quot;storeProjectSettings&amp;quot;:false&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Les champs sont les suivants : &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;serverType&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:Définit le mode de fonctionnement de DelphiLSP :&lt;br /&gt;
::●    &#039;&#039;&#039;&amp;quot;controller&amp;quot;&#039;&#039;&#039; : le serveur génère les sous-processus DelphiLSP &#039;&#039;&#039;agentCount&#039;&#039;&#039; (agents) qui fonctionnent avec le contrôleur pour répondre aux requêtes. Le contrôleur agit en tant que proxy entre l&#039;EDI et les agents. Lorsqu&#039;un agent termine ou arrête de répondre aux requêtes, le contrôleur le remplace par un nouvel agent. Les requêtes peuvent être traitées par plusieurs agents en parallèle. {{Note| Nous prenons uniquement en charge (et ne testons que) les configurations utilisant des processus basés sur deux agents maximum. L&#039;un est utilisé pour l&#039;audit d&#039;erreur, et l&#039;autre pour gérer toutes les autres requêtes LSP, comme l&#039;achèvement de code. Il y a un agent et un validateur lint.}}&lt;br /&gt;
::●    &#039;&#039;&#039;&amp;quot;agent&amp;quot;&#039;&#039;&#039; : le serveur s&#039;exécute en mode processus unique. Le serveur peut uniquement gérer une requête à la fois. Il n&#039;est pas possible d&#039;obtenir un audit d&#039;erreur (diagnostics) dans ce mode.&lt;br /&gt;
::●    &#039;&#039;&#039;&amp;quot;linter&amp;quot;&#039;&#039;&#039; : le serveur s&#039;exécute en mode processus unique. Le serveur ne peut pas traiter de requêtes de fonctionnalité de langage comme l&#039;achèvement de code. Il est dédié à l&#039;audit d&#039;erreur. Les erreurs, les avertissements et les conseils sont fournis via la notification &amp;lt;code&amp;gt;textDocument/publishDiagnostics&amp;lt;/code&amp;gt;&lt;br /&gt;
:La valeur par défaut est &amp;quot;agent&amp;quot;. Utilisez “controller” combiné à un nombre d&#039;agents (agentCount) défini sur 2 pour obtenir le même comportement que l&#039;EDI Delphi et le comportement par défaut de l&#039;extension VSCode.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;agentCount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:Définit le nombre de sous-processus à générer lorsque serverType = &amp;quot;controller&amp;quot;.&lt;br /&gt;
::●&#039;&#039;&#039;agentCount &amp;amp;lt;= 0&#039;&#039;&#039; : agentCount sera défini sur 1&lt;br /&gt;
::●&#039;&#039;&#039;agentCount = 1&#039;&#039;&#039; : un sous-processus avec serverType = &amp;quot;agent&amp;quot; sera généré&lt;br /&gt;
::●&#039;&#039;&#039;agentCount &amp;amp;gt; 1&#039;&#039;&#039; : des sous-processus [agentCount - 1] avec serverType = &amp;quot;agent&amp;quot; seront générés. Un sous-processus avec serverType = &amp;quot;linter&amp;quot; sera généré.&lt;br /&gt;
:La valeur par défaut est 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;returnDccFlags&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:Si true est renvoyé, les éléments de l&#039;achèvement de code transporteront des informations supplémentaires à partir du compilateur. L&#039;EDI utilise ces données pour afficher des types d&#039;achèvement de code qui ne sont pas définis dans la spécification LSP, comme la procédure ou le type.&lt;br /&gt;
:La valeur par défaut est false.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;returnHoverModel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:Si true est renvoyé, &amp;lt;code&amp;gt;textDocument/hover&amp;lt;/code&amp;gt; retourne un objet JSON au lieu de text/Markdown.&lt;br /&gt;
:La valeur par défaut est false.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;storeProjectSettings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:Si true est renvoyé, les paramètres envoyés via &amp;lt;code&amp;gt;workspace/didChangeConfiguration&amp;lt;/code&amp;gt; seront générés et enregistrés dans &amp;lt;code&amp;gt;%currentDelphiProject%.delphilsp.json&amp;lt;/code&amp;gt;. Lorsque DelphiLSP est utilisé avec un éditeur tiers, celui-ci peut utiliser ce fichier pour obtenir les paramètres du projet. Voir la propriété configuration.settingsFile.&lt;br /&gt;
:Cet indicateur n&#039;est évalué que lorsqu&#039;il est utilisé par RAD Studio. C&#039;est ainsi que Delphi déclenche la création du fichier .delphilsp.json.&lt;br /&gt;
:La valeur par défaut est false.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;enableFileWatcher&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:Si true est renvoyé, DelphiLSP examine les changements dans les répertoires pour détecter des modifications de fichier. Si des changements sont détectés, il est actualisé en fonction du nouveau contenu du fichier. Cela n&#039;a d&#039;effet que sur les fichiers qui ne sont pas ouverts dans l&#039;éditeur. Pour les fichiers qui sont ouverts dans l&#039;éditeur, ce dernier vérifie que le serveur LSP dispose du contenu actuel du fichier.&lt;br /&gt;
:La valeur par défaut est true.&lt;br /&gt;
&lt;br /&gt;
===Configurations===&lt;br /&gt;
&lt;br /&gt;
LSP autorise les paramètres personnalisés dans la notification &amp;lt;code&amp;gt;workspace/didChangeConfiguration&amp;lt;/code&amp;gt;. Voici un exemple de notification valide :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
	&amp;quot;method&amp;quot;: &amp;quot;workspace/didChangeConfiguration&amp;quot;,&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
	    	&amp;quot;settings&amp;quot;: {&lt;br /&gt;
     	   		&amp;quot;settingsFile&amp;quot;: &amp;quot;file:///C%3A/Test/SampleProject.delphilsp.json&amp;quot;&lt;br /&gt;
    		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&#039;&#039;&#039;settingsFile&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:Il s&#039;agit de l&#039;URI d&#039;un fichier de paramètres .delphilsp.json qui a été créé lorsque storeProjectSettings était activé. Cela se produit lorsque le paramètre &amp;quot;Générer la config LSP&amp;quot; de l&#039;EDI de Delphi est activé dans les options d&#039;audit de code.&lt;br /&gt;
:La capacité de chargement des paramètres à partir d&#039;un fichier de configuration n&#039;est active que lorsque DelphiLSP est utilisé par des éditeurs tiers. Lorsqu&#039;il est utilisé à partir de Delphi, l&#039;EDI communique directement.&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Utilisation de l&#039;audit de code DelphiLSP avec d&#039;autres editeurs= DelphiLSP - Serveur de langage pour Delphi=}}&lt;br /&gt;
[[Category:Olympus]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Utilisation_de_l%27audit_de_code_DelphiLSP_avec_d%27autres_%C3%A9diteurs&amp;diff=218948</id>
		<title>Utilisation de l&#039;audit de code DelphiLSP avec d&#039;autres éditeurs</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Utilisation_de_l%27audit_de_code_DelphiLSP_avec_d%27autres_%C3%A9diteurs&amp;diff=218948"/>
		<updated>2026-10-02T07:40:34Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DelphiLSP.exe est un serveur de langage Delphi qui implémente le protocole [https://langserver.org/%7C Language Server Protocol (LSP)]. Il encapsule les fonctionnalités de langage comme l&#039;achèvement de code et l&#039;audit d&#039;erreur. Il est utilisé [[Référence de l&#039;Audit de code|dans l&#039;EDI]], mais peut également être utilisé avec Visual Studio Code ou d&#039;autres éditeurs qui prennent en charge le protocole LSP. &lt;br /&gt;
&lt;br /&gt;
==Utilisation de DelphiLSP dans Visual Studio Code==&lt;br /&gt;
&lt;br /&gt;
Utilisez l&#039;extension Delphi LSP dans Visual Studio Code pour ouvrir des projets RAD Studio et effectuer des opérations.&lt;br /&gt;
Suivez ces étapes pour ouvrir vos projets :&lt;br /&gt;
Installez l&#039;extension DelphiLSP pour VSCode :&lt;br /&gt;
&lt;br /&gt;
* Installez RAD Studio 11.0 ou supérieur sur votre machine locale.&lt;br /&gt;
* Installez [https://code.visualstudio.com/%7C Visual Studio Code].&lt;br /&gt;
* Téléchargez et installez l&#039;extension &#039;&#039;&#039;Delphi LSP&#039;&#039;&#039; à partir du &#039;&#039;&#039;marketplace Visual Studio Code&#039;&#039;&#039;.&lt;br /&gt;
** Chargez à nouveau la fenêtre &#039;&#039;&#039;Visual Studio Code&#039;&#039;&#039; ou utilisez la palette de commandes &amp;amp;lt;F1&amp;amp;gt; et tapez &#039;&#039;&amp;quot;reload window&amp;quot;&#039;&#039; (recharger la fenêtre).&lt;br /&gt;
&lt;br /&gt;
Pour ouvrir un projet :&lt;br /&gt;
&lt;br /&gt;
* Assurez-vous que Delphi crée un fichier .delphilsp.json pour le projet Delphi sur lequel vous allez travailler dans Visual Studio Code. Pour de plus amples informations, voir [[Référence de l&#039;Audit de code#Création de fichiers .delphilsp.json|Référence de l&#039;Audit de code]].&lt;br /&gt;
&lt;br /&gt;
{{Note| Ne vérifiez pas les fichiers .delphilsp.json dans le contrôle de source, car ils contiennent des paramètres applicables à la configuration de la machine locale.}}&lt;br /&gt;
&lt;br /&gt;
* Ouvrez un dossier dans Visual Studio Code qui comporte un ou plusieurs projets.&lt;br /&gt;
** Accédez à {{Menu|Fichier &amp;amp;gt; Ouvrir un dossier}} pour charger vos projets.&lt;br /&gt;
&lt;br /&gt;
{{Note| Ouvrez le projet complet, pas des fichiers uniques.}}&lt;br /&gt;
&lt;br /&gt;
[[File:Loaded project.png|border|link=|500px]]&lt;br /&gt;
&lt;br /&gt;
L&#039;extension DelphiLSP utilisera le fichier .delphilsp.json dans le dossier ouvert. S&#039;il n&#039;y en a aucun ou plusieurs, un message vous invitant à choisir le fichier .delphilsp.json à utiliser s&#039;affichera. Voir [[Utilisation de l&#039;audit de code DelphiLSP avec d&#039;autres éditeurs#Configuration manuelle des fichiers projet|&amp;quot;Configuration manuelle des fichiers de configuration du projet&amp;quot;]] ci-dessous.&lt;br /&gt;
{{Note| L&#039;extension Delphi LSP est activée uniquement lorsque vous ouvrez un projet Delphi (fichier .pas ou .dpr).}}&lt;br /&gt;
&lt;br /&gt;
* Commencez à utiliser les fonctionnalités LSP avec votre code Delphi dans Visual Studio Code. Vous pouvez voir que les fonctionnalités de l&#039;audit de code sont disponibles, comme dans RAD Studio. Pour plus d&#039;informations, voir [[Référence de l&#039;Audit de code|Référence de l&#039;Audit de code]].&lt;br /&gt;
&lt;br /&gt;
[[File:Delphi code.png|border|link=]]&lt;br /&gt;
&lt;br /&gt;
===Résolution des problèmes===&lt;br /&gt;
&lt;br /&gt;
====Installation manuelle de l&#039;extension DelphiLSP dans Visual Studio Code====&lt;br /&gt;
&lt;br /&gt;
Installez manuellement l&#039;extension &#039;&#039;&#039;Delphi LSP&#039;&#039;&#039; dans &#039;&#039;&#039;Visual Studio Code&#039;&#039;&#039; en procédant comme suit :&lt;br /&gt;
&lt;br /&gt;
* Accédez à &#039;&#039;&#039;Extensions&#039;&#039;&#039; et cliquez sur &#039;&#039;&#039;Installer à partir d&#039;un fichier VSIX&#039;&#039;&#039; pour installer le fichier d&#039;extension DelphiLSP (par ex. delphiLsp-x.x.x.vsix).&lt;br /&gt;
&lt;br /&gt;
[[File:Install from VSIX.png|border|link=]]&lt;br /&gt;
&lt;br /&gt;
* Ouvrez les [https://code.visualstudio.com/docs/getstarted/settings%7C Paramètres utilisateur] et définissez Delphi Lsp:Executable :&lt;br /&gt;
** Accédez à {{Menu|Fichier &amp;amp;gt; Préférences &amp;amp;gt; Paramètres}}&lt;br /&gt;
** Dans la barre de recherche, recherchez delphilsp.&lt;br /&gt;
** Vous devez être dans l&#039;onglet Utilisateur.&lt;br /&gt;
** Définissez &#039;&#039;&#039;Delphi Lsp:Executable&#039;&#039;&#039; avec le chemin d&#039;accès à DelphiLSP.exe&lt;br /&gt;
&lt;br /&gt;
[[File:SETTINGS.png|border|link=|800px]]&lt;br /&gt;
&lt;br /&gt;
====Configuration manuelle des fichiers projet====&lt;br /&gt;
&lt;br /&gt;
Lorsque Visual Studio Code ne contient aucun fichier de configuration ou plusieurs fichiers, une invite apparaît. Cliquez dessus pour ouvrir les paramètres de plugin.&lt;br /&gt;
&lt;br /&gt;
[[File:Workspace settings.png|border|link=|800px]]&lt;br /&gt;
&lt;br /&gt;
Le fichier des paramètres doit pointer vers la configuration .delphilsp.json de votre projet.&lt;br /&gt;
&lt;br /&gt;
{{Note| Configurez votre projet dans l&#039;onglet Paramètres de l&#039;espace de travail. Pour de plus amples informations, voir [https://code.visualstudio.com/docs/getstarted/settings Documentation Visual Studio Code] dans Paramètres utilisateur vs paramètres de l&#039;espace de travail.&lt;br /&gt;
&lt;br /&gt;
===Remplissage de rapports de bogues===&lt;br /&gt;
&lt;br /&gt;
Les fichiers .log et .trace contiennent des informations importantes sur les opérations système. Ils permettent de les vérifier et de les analyser lorsque des erreurs ou des comportements non désirés se produisent.&lt;br /&gt;
&lt;br /&gt;
Pour déboguer les problèmes et remplir des rapports de bogues :&lt;br /&gt;
&lt;br /&gt;
* Dans les paramètres DelphiLSP, activez la journalisation. Définissez les modes du journal sur 255 (un masque binaire pour toutes les informations).&lt;br /&gt;
* Suivez la même procédure pour remplir un [[Référence de l&#039;Audit de code#Rapports de bogues et fichiers journaux|rapport de bogues Delphi LSP]]. &lt;br /&gt;
* Veillez à joindre le fichier .delphilsp.json que vous utilisez.&lt;br /&gt;
&lt;br /&gt;
{{Note| Les fichiers .trace et .log sont créés uniquement lorsque la journalisation est activée.}}&lt;br /&gt;
&lt;br /&gt;
====Débogage de Visual Studio Code====&lt;br /&gt;
&lt;br /&gt;
Dans les projets DelphiLSP, les fichiers .log ne sont pas créés, mais l&#039;extension DelphiLSP vous permet de les vérifier via Visual Studio Code. &lt;br /&gt;
&lt;br /&gt;
Pour déboguer les problèmes via Visual Studio Code :&lt;br /&gt;
&lt;br /&gt;
* Ouvrez la &#039;&#039;&#039;vue de sortie&#039;&#039;&#039; via la fenêtre Visual Studio Code ou utilisez la palette de commandes &amp;amp;lt;F1&amp;amp;gt; et tapez &#039;&#039;&amp;quot;focus output view&amp;quot;&#039;&#039; (focaliser sur la vue de sortie).&lt;br /&gt;
* Sélectionnez &#039;&#039;&#039;DelphiLSP&#039;&#039;&#039; dans le menu déroulant.&lt;br /&gt;
* Un message du journal est envoyé à partir du serveur vers le client en temps réel.&lt;br /&gt;
&lt;br /&gt;
[[File:Log Message.png|border|link=|998px]]&lt;br /&gt;
&lt;br /&gt;
==Utilisation de DelphiLSP avec d&#039;autres éditeurs==&lt;br /&gt;
&lt;br /&gt;
La documentation suivante peut être utile si vous voulez tester DelphiLSP avec d&#039;autres éditeurs. DelphiLSP communique uniquement sur des E/S standard (console). Le serveur LSP recherchera un fichier .delphilsp.json de la même manière que lorsqu&#039;il est utilisé à partir de VSCode.&lt;br /&gt;
&lt;br /&gt;
===Initialisation===&lt;br /&gt;
&lt;br /&gt;
LSP autorise une section initializationOptions personnalisée dans la requête d&#039;initialisation. &lt;br /&gt;
Voici un exemple de requête d&#039;initialisation valide :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&lt;br /&gt;
   &amp;quot;id&amp;quot;:1,&lt;br /&gt;
   &amp;quot;method&amp;quot;:&amp;quot;initialize&amp;quot;,&lt;br /&gt;
   &amp;quot;params&amp;quot;:{&lt;br /&gt;
      &amp;quot;processId&amp;quot;:4711,&lt;br /&gt;
      &amp;quot;rootUri&amp;quot;:&amp;quot;file:///C%3A/Test&amp;quot;,&lt;br /&gt;
      &amp;quot;initializationOptions&amp;quot;:{&lt;br /&gt;
         &amp;quot;serverType&amp;quot;:&amp;quot;controller&amp;quot;,&lt;br /&gt;
         &amp;quot;agentCount&amp;quot;:2,&lt;br /&gt;
         &amp;quot;returnDccFlags&amp;quot;:true,&lt;br /&gt;
         &amp;quot;returnHoverModel&amp;quot;:true,&lt;br /&gt;
         &amp;quot;storeProjectSettings&amp;quot;:false&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Les champs sont les suivants : &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;serverType&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:Définit le mode de fonctionnement de DelphiLSP :&lt;br /&gt;
::●    &#039;&#039;&#039;&amp;quot;controller&amp;quot;&#039;&#039;&#039; : le serveur génère les sous-processus DelphiLSP &#039;&#039;&#039;agentCount&#039;&#039;&#039; (agents) qui fonctionnent avec le contrôleur pour répondre aux requêtes. Le contrôleur agit en tant que proxy entre l&#039;EDI et les agents. Lorsqu&#039;un agent termine ou arrête de répondre aux requêtes, le contrôleur le remplace par un nouvel agent. Les requêtes peuvent être traitées par plusieurs agents en parallèle. {{Note| Nous prenons uniquement en charge (et ne testons que) les configurations utilisant des processus basés sur deux agents maximum. L&#039;un est utilisé pour l&#039;audit d&#039;erreur, et l&#039;autre pour gérer toutes les autres requêtes LSP, comme l&#039;achèvement de code. Il y a un agent et un validateur lint.}}&lt;br /&gt;
::●    &#039;&#039;&#039;&amp;quot;agent&amp;quot;&#039;&#039;&#039; : le serveur s&#039;exécute en mode processus unique. Le serveur peut uniquement gérer une requête à la fois. Il n&#039;est pas possible d&#039;obtenir un audit d&#039;erreur (diagnostics) dans ce mode.&lt;br /&gt;
::●    &#039;&#039;&#039;&amp;quot;linter&amp;quot;&#039;&#039;&#039; : le serveur s&#039;exécute en mode processus unique. Le serveur ne peut pas traiter de requêtes de fonctionnalité de langage comme l&#039;achèvement de code. Il est dédié à l&#039;audit d&#039;erreur. Les erreurs, les avertissements et les conseils sont fournis via la notification &amp;lt;code&amp;gt;textDocument/publishDiagnostics&amp;lt;/code&amp;gt;&lt;br /&gt;
:La valeur par défaut est &amp;quot;agent&amp;quot;. Utilisez “controller” combiné à un nombre d&#039;agents (agentCount) défini sur 2 pour obtenir le même comportement que l&#039;EDI Delphi et le comportement par défaut de l&#039;extension VSCode.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;agentCount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:Définit le nombre de sous-processus à générer lorsque serverType = &amp;quot;controller&amp;quot;.&lt;br /&gt;
::●&#039;&#039;&#039;agentCount &amp;amp;lt;= 0&#039;&#039;&#039; : agentCount sera défini sur 1&lt;br /&gt;
::●&#039;&#039;&#039;agentCount = 1&#039;&#039;&#039; : un sous-processus avec serverType = &amp;quot;agent&amp;quot; sera généré&lt;br /&gt;
::●&#039;&#039;&#039;agentCount &amp;amp;gt; 1&#039;&#039;&#039; : des sous-processus [agentCount - 1] avec serverType = &amp;quot;agent&amp;quot; seront générés. Un sous-processus avec serverType = &amp;quot;linter&amp;quot; sera généré.&lt;br /&gt;
:La valeur par défaut est 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;returnDccFlags&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:Si true est renvoyé, les éléments de l&#039;achèvement de code transporteront des informations supplémentaires à partir du compilateur. L&#039;EDI utilise ces données pour afficher des types d&#039;achèvement de code qui ne sont pas définis dans la spécification LSP, comme la procédure ou le type.&lt;br /&gt;
:La valeur par défaut est false.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;returnHoverModel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:Si true est renvoyé, &amp;lt;code&amp;gt;textDocument/hover&amp;lt;/code&amp;gt; retourne un objet JSON au lieu de text/Markdown.&lt;br /&gt;
:La valeur par défaut est false.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;storeProjectSettings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:Si true est renvoyé, les paramètres envoyés via &amp;lt;code&amp;gt;workspace/didChangeConfiguration&amp;lt;/code&amp;gt; seront générés et enregistrés dans &amp;lt;code&amp;gt;%currentDelphiProject%.delphilsp.json&amp;lt;/code&amp;gt;. Lorsque DelphiLSP est utilisé avec un éditeur tiers, celui-ci peut utiliser ce fichier pour obtenir les paramètres du projet. Voir la propriété configuration.settingsFile.&lt;br /&gt;
:Cet indicateur n&#039;est évalué que lorsqu&#039;il est utilisé par RAD Studio. C&#039;est ainsi que Delphi déclenche la création du fichier .delphilsp.json.&lt;br /&gt;
:La valeur par défaut est false.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;enableFileWatcher&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:Si true est renvoyé, DelphiLSP examine les changements dans les répertoires pour détecter des modifications de fichier. Si des changements sont détectés, il est actualisé en fonction du nouveau contenu du fichier. Cela n&#039;a d&#039;effet que sur les fichiers qui ne sont pas ouverts dans l&#039;éditeur. Pour les fichiers qui sont ouverts dans l&#039;éditeur, ce dernier vérifie que le serveur LSP dispose du contenu actuel du fichier.&lt;br /&gt;
:La valeur par défaut est true.&lt;br /&gt;
&lt;br /&gt;
===Configurations===&lt;br /&gt;
&lt;br /&gt;
LSP autorise les paramètres personnalisés dans la notification &amp;lt;code&amp;gt;workspace/didChangeConfiguration&amp;lt;/code&amp;gt;. Voici un exemple de notification valide :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
	&amp;quot;method&amp;quot;: &amp;quot;workspace/didChangeConfiguration&amp;quot;,&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
	    	&amp;quot;settings&amp;quot;: {&lt;br /&gt;
     	   		&amp;quot;settingsFile&amp;quot;: &amp;quot;file:///C%3A/Test/SampleProject.delphilsp.json&amp;quot;&lt;br /&gt;
    		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&#039;&#039;&#039;settingsFile&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:Il s&#039;agit de l&#039;URI d&#039;un fichier de paramètres .delphilsp.json qui a été créé lorsque storeProjectSettings était activé. Cela se produit lorsque le paramètre &amp;quot;Générer la config LSP&amp;quot; de l&#039;EDI de Delphi est activé dans les options d&#039;audit de code.&lt;br /&gt;
:La capacité de chargement des paramètres à partir d&#039;un fichier de configuration n&#039;est active que lorsque DelphiLSP est utilisé par des éditeurs tiers. Lorsqu&#039;il est utilisé à partir de Delphi, l&#039;EDI communique directement.&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Utilisation de l&#039;audit de code DelphiLSP avec d&#039;autres editeurs= DelphiLSP - Serveur de langage pour Delphi=}}&lt;br /&gt;
[[Category:Olympus]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Audit_de_code_intelligent&amp;diff=218947</id>
		<title>Audit de code intelligent</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Audit_de_code_intelligent&amp;diff=218947"/>
		<updated>2026-09-09T05:01:37Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : /* Compagnon RAD AI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Audit de code intelligent|Audit de code intelligent]] est une architecture ouverte qui vous permet d&#039;utiliser vos moteurs d&#039;IA préférés. En plus des fonctionnalités déjà présentes, {{Product}} vous propose également une intégration de l&#039;interface utilisateur personnalisable :&lt;br /&gt;
&lt;br /&gt;
* Moteur d&#039;IA de base et ToolsAPI.&lt;br /&gt;
* Intégration de l&#039;EDI :&lt;br /&gt;
** [[#Options de configuration|Options de configuration pour les moteurs]].&lt;br /&gt;
** [[#Commandes du menu Editeur|Commandes de menu de l&#039;éditeur permettant d&#039;invoquer des opérations IA]].&lt;br /&gt;
** [[#Fenêtre de chat IA|Fenêtre de chat IA]].&lt;br /&gt;
* Prise en charge des fournisseurs LLM en ligne et hors ligne tels que :&lt;br /&gt;
** OpenAI, Gemini et Claude (en ligne).&lt;br /&gt;
** Ollama (hors ligne).&lt;br /&gt;
&lt;br /&gt;
:&lt;br /&gt;
::{{Tip|Ollama est distribué en tant que produit open source sous licence MIT. Les modèles individuels que vous êtes susceptible d&#039;utiliser avec Ollama ont leurs propres licences. La politique d&#039;utilisation &amp;quot;Codellama Acceptable Use Policy&amp;quot; est disponible sur cette page.}}&lt;br /&gt;
::{{Note|Pour les adeptes de ToolsAPI, {{Product}} vous permet de créer votre propre plugin API. Pour plus d&#039;informations, consultez la page [[Create and implement your AI plugin|Créer et implémenter votre plugin IA]].}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|{{Product}} ne fournit pas d&#039;accès à ces moteurs. L&#039;utilisation de ces services d&#039;IA nécessite que l&#039;utilisateur accepte les conditions d&#039;utilisation de chaque éditeur, reçoive une clé API permettant de modifier la configuration de {{Product}}, et paie les frais de redevance de la société d&#039;IA concernée.&lt;br /&gt;
La seule exception concerne Ollama qui peut être utilisé hors ligne gratuitement et être installé en local ou sur un serveur de votre choix.}}&lt;br /&gt;
&lt;br /&gt;
==Options de configuration==&lt;br /&gt;
&lt;br /&gt;
{{Product}} vous permet de configurer et de contrôler pleinement vos informations personnelles de différentes façons. Vous pouvez ainsi :&lt;br /&gt;
&lt;br /&gt;
* Désactiver la fonctionnalité IA complète à partir d&#039;un paramètre unique.&lt;br /&gt;
* Activer ou désactiver chacun des quatre moteurs.&lt;br /&gt;
* Sélectionner le moteur par défaut de chacun des éléments d&#039;interface utilisateur (fenêtre de chat et menu éditeur).&lt;br /&gt;
&lt;br /&gt;
Toutes ces fonctionnalités peuvent être configurées dans la fenêtre Options de l&#039;EDI. Consultez la page [[Options relatives à l&#039;audit de code intelligent|Configuration de l&#039;audit de code intelligent]] pour plus d&#039;informations sur chaque rubrique.&lt;br /&gt;
&lt;br /&gt;
* Les actions suivantes ont aussi été implémentées pour sécuriser le système.&lt;br /&gt;
* Les clés API sont stockées dans un format chiffré.&lt;br /&gt;
* Vous avez la possibilité d&#039;utiliser un moteur local, hors ligne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Commandes du menu Editeur==&lt;br /&gt;
&lt;br /&gt;
Le menu Editeur propose des opérations préconfigurées pour le code sélectionné dans l&#039;éditeur. Le but est d&#039;analyser et d&#039;optimiser une partie du code source de votre application.&lt;br /&gt;
&lt;br /&gt;
Le moteur LLM réagit en renvoyant le résultat dans une fenêtre de l&#039;éditeur sous forme de commentaire après le code analysé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Commandes disponibles :===&lt;br /&gt;
&lt;br /&gt;
Voici les commandes disponibles pour l&#039;audit de code intelligent :&lt;br /&gt;
&lt;br /&gt;
[[Image:Smart CodeInsight-Display.png|450x450px|link=]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Chat IA&#039;&#039;&#039; : ouvre la vue [[#Fenêtre de chat IA|Fenêtre de chat IA]].&lt;br /&gt;
* &#039;&#039;&#039;Trouver des bogues&#039;&#039;&#039; : recherche des bogues potentiels dans le code sélectionné.&lt;br /&gt;
* &#039;&#039;&#039;Expliquer le code&#039;&#039;&#039; : explique le code sélectionné.&lt;br /&gt;
* &#039;&#039;&#039;Ajouter un commentaire&#039;&#039;&#039; : ajoute des commentaires au code sélectionné.&lt;br /&gt;
* &#039;&#039;&#039;Achever le code&#039;&#039;&#039; : termine le code sélectionné.&lt;br /&gt;
* &#039;&#039;&#039;Optimiser le code&#039;&#039;&#039; : optimise le code sélectionné.&lt;br /&gt;
* &#039;&#039;&#039;Ajouter un test unitaire&#039;&#039;&#039; : ajoute un test unitaire au code sélectionné.&lt;br /&gt;
* &#039;&#039;&#039;Convertir en assembleur&#039;&#039;&#039; : convertit le code sélectionné en code assembleur.&lt;br /&gt;
* &#039;&#039;&#039;Convertir en Delphi&#039;&#039;&#039; : convertit le code sélectionné en code Delphi (à partir du code C++ ou assembleur).&lt;br /&gt;
* &#039;&#039;&#039;Convertir en C++Builder&#039;&#039;&#039; : convertit le code sélectionné en code C++Builder.&lt;br /&gt;
* &#039;&#039;&#039;Trouver l&#039;en-tête (IA)&#039;&#039;&#039; (dans C++) ou &#039;&#039;&#039;Rechercher une unité&#039;&#039;&#039; (dans Delphi) : ajoute l&#039;unité manquante aux instructions uses d&#039;une classe sélectionnée ou d&#039;un type de données.&lt;br /&gt;
* &#039;&#039;&#039;Afficher les résultats dans l&#039;éditeur :&#039;&#039;&#039; envoie la sortie dans l&#039;éditeur. ￼&lt;br /&gt;
* &#039;&#039;&#039;Afficher les résultats dans la fenêtre de&#039;&#039;&#039; &#039;&#039;&#039;chat&#039;&#039;&#039; : envoie la sortie dans la fenêtre de chat IA au format Markdown. ￼&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Compagnon RAD AI==&lt;br /&gt;
&lt;br /&gt;
RAD Studio introduit « RAD AI Companion », un chat et générateur de code web spécifiquement entraîné sur du contenu en lien avec RAD Studio. Le compagnon RAD AI s&#039;active depuis l&#039;EDI en sélectionnant {{Menu| Menu Aide &amp;amp;gt; [http://www.embarcadero.com/radaicompanion RAD AI Companion]}}.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fenêtre de chat IA==&lt;br /&gt;
&lt;br /&gt;
La fenêtre de chat IA est une fiche ancrable de l&#039;EDI, qui fonctionne comme n&#039;importe quelle fenêtre de chat LLM. Vous pouvez taper une requête, choisir un moteur (ou utiliser le moteur par défaut) et attendre la réponse. Voici un rapide exemple :&lt;br /&gt;
&lt;br /&gt;
[[Image:ai chat window.png|350px|link=]]&lt;br /&gt;
&lt;br /&gt;
La fenêtre de chat comporte une zone de saisie qui fonctionne comme une ligne de commande. Voici les commandes disponibles :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chatgpt&amp;amp;gt; + Entrée&amp;lt;/code&amp;gt; : active ChatGpt comme moteur d&#039;IA actif (si celui-ci a été activé).&lt;br /&gt;
* &amp;lt;code&amp;gt;gemini&amp;amp;gt; + Entrée&amp;lt;/code&amp;gt; : active Gemini comme moteur d&#039;IA actif (si celui-ci a été activé).&lt;br /&gt;
* &amp;lt;code&amp;gt;claude&amp;amp;gt; + Entrée&amp;lt;/code&amp;gt; : active Claude comme moteur d&#039;IA actif (si celui-ci a été activé).&lt;br /&gt;
* &amp;lt;code&amp;gt;ollama&amp;amp;gt; + Entrée&amp;lt;/code&amp;gt; : active Ollama comme moteur d&#039;IA actif (si celui-ci a été activé).&lt;br /&gt;
* &amp;lt;code&amp;gt;clear&amp;amp;gt; + Entrée&amp;lt;/code&amp;gt; : efface la zone de réponse.&lt;br /&gt;
* &amp;lt;code&amp;gt;stop&amp;amp;gt; + Entrée&amp;lt;/code&amp;gt; : arrête la génération de la réponse (équivalent à un clic sur le bouton Stop).&lt;br /&gt;
* &amp;lt;code&amp;gt;Ctrl + Entrée&amp;lt;/code&amp;gt; : commence à générer la réponse (équivalent à un clic sur le bouton Start).&lt;br /&gt;
&lt;br /&gt;
En plus des requêtes standard, vous pouvez sélectionner un extrait de code spécifique dans la fenêtre de code et poser une &#039;&#039;&#039;nouvelle question&#039;&#039;&#039; ou &#039;&#039;&#039;demander une explication&#039;&#039;&#039; en utilisant l&#039;une des commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
[[Image:ai smartchat.png|450px|link=]]&lt;br /&gt;
&lt;br /&gt;
* $COL : est remplacé par le &#039;&#039;&#039;numéro de colonne&#039;&#039;&#039; sur lequel le curseur est placé dans la fenêtre éditeur de code active.&lt;br /&gt;
* $ROW : est remplacé par le &#039;&#039;&#039;numéro de ligne&#039;&#039;&#039; sur lequel le curseur est placé dans la fenêtre éditeur de code active.&lt;br /&gt;
* $CURTOKEN : est remplacé par le &#039;&#039;&#039;mot&#039;&#039;&#039; sur lequel le curseur est placé dans la fenêtre éditeur de code active. Cette commande peut être utile pour faire référence à une variable, une méthode ou un identificateur situé à l&#039;emplacement du curseur.&lt;br /&gt;
* $EDNAME : est remplacé par le &#039;&#039;&#039;nom de fichier complet&#039;&#039;&#039; de la fenêtre éditeur de code active. Cette commande peut être très utile si vous avez besoin du nom du fichier en cours avec son chemin d&#039;accès.&lt;br /&gt;
* $SELECTION : explique le code sélectionné dans l&#039;éditeur actif.&lt;br /&gt;
* $UNIT : explique le code de l&#039;unité complète.&lt;br /&gt;
&lt;br /&gt;
Consultez la page [[Macros de transfert|Macros de transfert]] pour plus d&#039;informations et d&#039;exemples.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Voir aussi===&lt;br /&gt;
&lt;br /&gt;
* [[Options relatives à l&#039;audit de code intelligent|Options relatives à l&#039;audit de code intelligent]]&lt;br /&gt;
* [[Configuring Ollama for Smart CodeInsight|Configuration d&#039;Ollama]]&lt;br /&gt;
* [[Create and implement your AI plugin|Créer et implémenter votre plugin IA]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Fichier:Ai_smartchat.png&amp;diff=218946</id>
		<title>Fichier:Ai smartchat.png</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Fichier:Ai_smartchat.png&amp;diff=218946"/>
		<updated>2026-09-09T05:01:00Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Fichier:Smart_CodeInsight-Display.png&amp;diff=218945</id>
		<title>Fichier:Smart CodeInsight-Display.png</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Fichier:Smart_CodeInsight-Display.png&amp;diff=218945"/>
		<updated>2026-09-09T05:00:49Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Fichier:Ai_chat_window.png&amp;diff=218944</id>
		<title>Fichier:Ai chat window.png</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Fichier:Ai_chat_window.png&amp;diff=218944"/>
		<updated>2026-09-09T05:00:36Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Audit_de_code_intelligent&amp;diff=218943</id>
		<title>Audit de code intelligent</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Audit_de_code_intelligent&amp;diff=218943"/>
		<updated>2026-09-09T05:00:28Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 version importée : LOC-23469&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Audit de code intelligent|Audit de code intelligent]] est une architecture ouverte qui vous permet d&#039;utiliser vos moteurs d&#039;IA préférés. En plus des fonctionnalités déjà présentes, {{Product}} vous propose également une intégration de l&#039;interface utilisateur personnalisable :&lt;br /&gt;
&lt;br /&gt;
* Moteur d&#039;IA de base et ToolsAPI.&lt;br /&gt;
* Intégration de l&#039;EDI :&lt;br /&gt;
** [[#Options de configuration|Options de configuration pour les moteurs]].&lt;br /&gt;
** [[#Commandes du menu Editeur|Commandes de menu de l&#039;éditeur permettant d&#039;invoquer des opérations IA]].&lt;br /&gt;
** [[#Fenêtre de chat IA|Fenêtre de chat IA]].&lt;br /&gt;
* Prise en charge des fournisseurs LLM en ligne et hors ligne tels que :&lt;br /&gt;
** OpenAI, Gemini et Claude (en ligne).&lt;br /&gt;
** Ollama (hors ligne).&lt;br /&gt;
&lt;br /&gt;
:&lt;br /&gt;
::{{Tip|Ollama est distribué en tant que produit open source sous licence MIT. Les modèles individuels que vous êtes susceptible d&#039;utiliser avec Ollama ont leurs propres licences. La politique d&#039;utilisation &amp;quot;Codellama Acceptable Use Policy&amp;quot; est disponible sur cette page.}}&lt;br /&gt;
::{{Note|Pour les adeptes de ToolsAPI, {{Product}} vous permet de créer votre propre plugin API. Pour plus d&#039;informations, consultez la page [[Create and implement your AI plugin|Créer et implémenter votre plugin IA]].}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|{{Product}} ne fournit pas d&#039;accès à ces moteurs. L&#039;utilisation de ces services d&#039;IA nécessite que l&#039;utilisateur accepte les conditions d&#039;utilisation de chaque éditeur, reçoive une clé API permettant de modifier la configuration de {{Product}}, et paie les frais de redevance de la société d&#039;IA concernée.&lt;br /&gt;
La seule exception concerne Ollama qui peut être utilisé hors ligne gratuitement et être installé en local ou sur un serveur de votre choix.}}&lt;br /&gt;
&lt;br /&gt;
==Options de configuration==&lt;br /&gt;
&lt;br /&gt;
{{Product}} vous permet de configurer et de contrôler pleinement vos informations personnelles de différentes façons. Vous pouvez ainsi :&lt;br /&gt;
&lt;br /&gt;
* Désactiver la fonctionnalité IA complète à partir d&#039;un paramètre unique.&lt;br /&gt;
* Activer ou désactiver chacun des quatre moteurs.&lt;br /&gt;
* Sélectionner le moteur par défaut de chacun des éléments d&#039;interface utilisateur (fenêtre de chat et menu éditeur).&lt;br /&gt;
&lt;br /&gt;
Toutes ces fonctionnalités peuvent être configurées dans la fenêtre Options de l&#039;EDI. Consultez la page [[Options relatives à l&#039;audit de code intelligent|Configuration de l&#039;audit de code intelligent]] pour plus d&#039;informations sur chaque rubrique.&lt;br /&gt;
&lt;br /&gt;
* Les actions suivantes ont aussi été implémentées pour sécuriser le système.&lt;br /&gt;
* Les clés API sont stockées dans un format chiffré.&lt;br /&gt;
* Vous avez la possibilité d&#039;utiliser un moteur local, hors ligne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Commandes du menu Editeur==&lt;br /&gt;
&lt;br /&gt;
Le menu Editeur propose des opérations préconfigurées pour le code sélectionné dans l&#039;éditeur. Le but est d&#039;analyser et d&#039;optimiser une partie du code source de votre application.&lt;br /&gt;
&lt;br /&gt;
Le moteur LLM réagit en renvoyant le résultat dans une fenêtre de l&#039;éditeur sous forme de commentaire après le code analysé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Commandes disponibles :===&lt;br /&gt;
&lt;br /&gt;
Voici les commandes disponibles pour l&#039;audit de code intelligent :&lt;br /&gt;
&lt;br /&gt;
[[Image:Smart CodeInsight-Display.png|450x450px|link=]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Chat IA&#039;&#039;&#039; : ouvre la vue [[#Fenêtre de chat IA|Fenêtre de chat IA]].&lt;br /&gt;
* &#039;&#039;&#039;Trouver des bogues&#039;&#039;&#039; : recherche des bogues potentiels dans le code sélectionné.&lt;br /&gt;
* &#039;&#039;&#039;Expliquer le code&#039;&#039;&#039; : explique le code sélectionné.&lt;br /&gt;
* &#039;&#039;&#039;Ajouter un commentaire&#039;&#039;&#039; : ajoute des commentaires au code sélectionné.&lt;br /&gt;
* &#039;&#039;&#039;Achever le code&#039;&#039;&#039; : termine le code sélectionné.&lt;br /&gt;
* &#039;&#039;&#039;Optimiser le code&#039;&#039;&#039; : optimise le code sélectionné.&lt;br /&gt;
* &#039;&#039;&#039;Ajouter un test unitaire&#039;&#039;&#039; : ajoute un test unitaire au code sélectionné.&lt;br /&gt;
* &#039;&#039;&#039;Convertir en assembleur&#039;&#039;&#039; : convertit le code sélectionné en code assembleur.&lt;br /&gt;
* &#039;&#039;&#039;Convertir en Delphi&#039;&#039;&#039; : convertit le code sélectionné en code Delphi (à partir du code C++ ou assembleur).&lt;br /&gt;
* &#039;&#039;&#039;Convertir en C++Builder&#039;&#039;&#039; : convertit le code sélectionné en code C++Builder.&lt;br /&gt;
* &#039;&#039;&#039;Trouver l&#039;en-tête (IA)&#039;&#039;&#039; (dans C++) ou &#039;&#039;&#039;Rechercher une unité&#039;&#039;&#039; (dans Delphi) : ajoute l&#039;unité manquante aux instructions uses d&#039;une classe sélectionnée ou d&#039;un type de données.&lt;br /&gt;
* &#039;&#039;&#039;Afficher les résultats dans l&#039;éditeur :&#039;&#039;&#039; envoie la sortie dans l&#039;éditeur. ￼&lt;br /&gt;
* &#039;&#039;&#039;Afficher les résultats dans la fenêtre de&#039;&#039;&#039; &#039;&#039;&#039;chat&#039;&#039;&#039; : envoie la sortie dans la fenêtre de chat IA au format Markdown. ￼&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Compagnon RAD AI==&lt;br /&gt;
&lt;br /&gt;
RAD Studio introduit « RAD AI Companion », un chat et générateur de code web spécifiquement entraîné sur du contenu en lien avec RAD Studio. Le compagnon RAD AI s&#039;active depuis l&#039;EDI en sélectionnant {{Menu| Menu Aide &amp;amp;gt; [http://www.embarcadero.com/radaicompanion RAD AI Companion]}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Fenêtre de chat IA==&lt;br /&gt;
&lt;br /&gt;
La fenêtre de chat IA est une fiche ancrable de l&#039;EDI, qui fonctionne comme n&#039;importe quelle fenêtre de chat LLM. Vous pouvez taper une requête, choisir un moteur (ou utiliser le moteur par défaut) et attendre la réponse. Voici un rapide exemple :&lt;br /&gt;
&lt;br /&gt;
[[Image:ai chat window.png|350px|link=]]&lt;br /&gt;
&lt;br /&gt;
La fenêtre de chat comporte une zone de saisie qui fonctionne comme une ligne de commande. Voici les commandes disponibles :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chatgpt&amp;amp;gt; + Entrée&amp;lt;/code&amp;gt; : active ChatGpt comme moteur d&#039;IA actif (si celui-ci a été activé).&lt;br /&gt;
* &amp;lt;code&amp;gt;gemini&amp;amp;gt; + Entrée&amp;lt;/code&amp;gt; : active Gemini comme moteur d&#039;IA actif (si celui-ci a été activé).&lt;br /&gt;
* &amp;lt;code&amp;gt;claude&amp;amp;gt; + Entrée&amp;lt;/code&amp;gt; : active Claude comme moteur d&#039;IA actif (si celui-ci a été activé).&lt;br /&gt;
* &amp;lt;code&amp;gt;ollama&amp;amp;gt; + Entrée&amp;lt;/code&amp;gt; : active Ollama comme moteur d&#039;IA actif (si celui-ci a été activé).&lt;br /&gt;
* &amp;lt;code&amp;gt;clear&amp;amp;gt; + Entrée&amp;lt;/code&amp;gt; : efface la zone de réponse.&lt;br /&gt;
* &amp;lt;code&amp;gt;stop&amp;amp;gt; + Entrée&amp;lt;/code&amp;gt; : arrête la génération de la réponse (équivalent à un clic sur le bouton Stop).&lt;br /&gt;
* &amp;lt;code&amp;gt;Ctrl + Entrée&amp;lt;/code&amp;gt; : commence à générer la réponse (équivalent à un clic sur le bouton Start).&lt;br /&gt;
&lt;br /&gt;
En plus des requêtes standard, vous pouvez sélectionner un extrait de code spécifique dans la fenêtre de code et poser une &#039;&#039;&#039;nouvelle question&#039;&#039;&#039; ou &#039;&#039;&#039;demander une explication&#039;&#039;&#039; en utilisant l&#039;une des commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
[[Image:ai smartchat.png|450px|link=]]&lt;br /&gt;
&lt;br /&gt;
* $COL : est remplacé par le &#039;&#039;&#039;numéro de colonne&#039;&#039;&#039; sur lequel le curseur est placé dans la fenêtre éditeur de code active.&lt;br /&gt;
* $ROW : est remplacé par le &#039;&#039;&#039;numéro de ligne&#039;&#039;&#039; sur lequel le curseur est placé dans la fenêtre éditeur de code active.&lt;br /&gt;
* $CURTOKEN : est remplacé par le &#039;&#039;&#039;mot&#039;&#039;&#039; sur lequel le curseur est placé dans la fenêtre éditeur de code active. Cette commande peut être utile pour faire référence à une variable, une méthode ou un identificateur situé à l&#039;emplacement du curseur.&lt;br /&gt;
* $EDNAME : est remplacé par le &#039;&#039;&#039;nom de fichier complet&#039;&#039;&#039; de la fenêtre éditeur de code active. Cette commande peut être très utile si vous avez besoin du nom du fichier en cours avec son chemin d&#039;accès.&lt;br /&gt;
* $SELECTION : explique le code sélectionné dans l&#039;éditeur actif.&lt;br /&gt;
* $UNIT : explique le code de l&#039;unité complète.&lt;br /&gt;
&lt;br /&gt;
Consultez la page [[Macros de transfert|Macros de transfert]] pour plus d&#039;informations et d&#039;exemples.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Voir aussi===&lt;br /&gt;
&lt;br /&gt;
* [[Options relatives à l&#039;audit de code intelligent|Options relatives à l&#039;audit de code intelligent]]&lt;br /&gt;
* [[Configuring Ollama for Smart CodeInsight|Configuration d&#039;Ollama]]&lt;br /&gt;
* [[Create and implement your AI plugin|Créer et implémenter votre plugin IA]]&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Audit_de_code_intelligent&amp;diff=218941</id>
		<title>Audit de code intelligent</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Audit_de_code_intelligent&amp;diff=218941"/>
		<updated>2026-09-09T04:47:29Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 version importée : LOC-23469&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Audit de code intelligent|Audit de code intelligent]] est une architecture ouverte qui vous permet d&#039;utiliser vos moteurs d&#039;IA préférés. En plus des fonctionnalités déjà présentes, {{Product}} vous propose également une intégration de l&#039;interface utilisateur personnalisable :&lt;br /&gt;
&lt;br /&gt;
* Moteur d&#039;IA de base et ToolsAPI.&lt;br /&gt;
* Intégration de l&#039;EDI :&lt;br /&gt;
** [[#Options de configuration|Options de configuration pour les moteurs]].&lt;br /&gt;
** [[#Commandes du menu Editeur|Commandes de menu de l&#039;éditeur permettant d&#039;invoquer des opérations IA]].&lt;br /&gt;
** [[#Fenêtre de chat IA|Fenêtre de chat IA]].&lt;br /&gt;
* Prise en charge des fournisseurs LLM en ligne et hors ligne tels que :&lt;br /&gt;
** OpenAI, Gemini et Claude (en ligne).&lt;br /&gt;
** Ollama (hors ligne).&lt;br /&gt;
&lt;br /&gt;
:&lt;br /&gt;
::{{Tip|Ollama est distribué en tant que produit open source sous licence MIT. Les modèles individuels que vous êtes susceptible d&#039;utiliser avec Ollama ont leurs propres licences. La politique d&#039;utilisation &amp;quot;Codellama Acceptable Use Policy&amp;quot; est disponible sur cette page.}}&lt;br /&gt;
::{{Note|Pour les adeptes de ToolsAPI, {{Product}} vous permet de créer votre propre plugin API. Pour plus d&#039;informations, consultez la page [[Create and implement your AI plugin|Créer et implémenter votre plugin IA]].}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|{{Product}} ne fournit pas d&#039;accès à ces moteurs. L&#039;utilisation de ces services d&#039;IA nécessite que l&#039;utilisateur accepte les conditions d&#039;utilisation de chaque éditeur, reçoive une clé API permettant de modifier la configuration de {{Product}}, et paie les frais de redevance de la société d&#039;IA concernée.&lt;br /&gt;
La seule exception concerne Ollama qui peut être utilisé hors ligne gratuitement et être installé en local ou sur un serveur de votre choix.}}&lt;br /&gt;
&lt;br /&gt;
==Options de configuration==&lt;br /&gt;
&lt;br /&gt;
{{Product}} vous permet de configurer et de contrôler pleinement vos informations personnelles de différentes façons. Vous pouvez ainsi :&lt;br /&gt;
&lt;br /&gt;
* Désactiver la fonctionnalité IA complète à partir d&#039;un paramètre unique.&lt;br /&gt;
* Activer ou désactiver chacun des quatre moteurs.&lt;br /&gt;
* Sélectionner le moteur par défaut de chacun des éléments d&#039;interface utilisateur (fenêtre de chat et menu éditeur).&lt;br /&gt;
&lt;br /&gt;
Toutes ces fonctionnalités peuvent être configurées dans la fenêtre Options de l&#039;EDI. Consultez la page [[Options relatives à l&#039;audit de code intelligent|Configuration de l&#039;audit de code intelligent]] pour plus d&#039;informations sur chaque rubrique.&lt;br /&gt;
&lt;br /&gt;
* Les actions suivantes ont aussi été implémentées pour sécuriser le système.&lt;br /&gt;
* Les clés API sont stockées dans un format chiffré.&lt;br /&gt;
* Vous avez la possibilité d&#039;utiliser un moteur local, hors ligne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Commandes du menu Editeur==&lt;br /&gt;
&lt;br /&gt;
Le menu Editeur propose des opérations préconfigurées pour le code sélectionné dans l&#039;éditeur. Le but est d&#039;analyser et d&#039;optimiser une partie du code source de votre application.&lt;br /&gt;
&lt;br /&gt;
Le moteur LLM réagit en renvoyant le résultat dans une fenêtre de l&#039;éditeur sous forme de commentaire après le code analysé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Commandes disponibles :===&lt;br /&gt;
&lt;br /&gt;
Voici les commandes disponibles pour l&#039;audit de code intelligent :&lt;br /&gt;
&lt;br /&gt;
[[Image:Smart CodeInsight-Display.png|450x450px|link=]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Chat IA&#039;&#039;&#039; : ouvre la vue [[#Fenêtre de chat IA|Fenêtre de chat IA]].&lt;br /&gt;
* &#039;&#039;&#039;Trouver des bogues&#039;&#039;&#039; : recherche des bogues potentiels dans le code sélectionné.&lt;br /&gt;
* &#039;&#039;&#039;Expliquer le code&#039;&#039;&#039; : explique le code sélectionné.&lt;br /&gt;
* &#039;&#039;&#039;Ajouter un commentaire&#039;&#039;&#039; : ajoute des commentaires au code sélectionné.&lt;br /&gt;
* &#039;&#039;&#039;Achever le code&#039;&#039;&#039; : termine le code sélectionné.&lt;br /&gt;
* &#039;&#039;&#039;Optimiser le code&#039;&#039;&#039; : optimise le code sélectionné.&lt;br /&gt;
* &#039;&#039;&#039;Ajouter un test unitaire&#039;&#039;&#039; : ajoute un test unitaire au code sélectionné.&lt;br /&gt;
* &#039;&#039;&#039;Convertir en assembleur&#039;&#039;&#039; : convertit le code sélectionné en code assembleur.&lt;br /&gt;
* &#039;&#039;&#039;Convertir en Delphi&#039;&#039;&#039; : convertit le code sélectionné en code Delphi (à partir du code C++ ou assembleur).&lt;br /&gt;
* &#039;&#039;&#039;Convertir en C++Builder&#039;&#039;&#039; : convertit le code sélectionné en code C++Builder.&lt;br /&gt;
* &#039;&#039;&#039;Trouver l&#039;en-tête (IA)&#039;&#039;&#039; (dans C++) ou &#039;&#039;&#039;Rechercher une unité&#039;&#039;&#039; (dans Delphi) : ajoute l&#039;unité manquante aux instructions uses d&#039;une classe sélectionnée ou d&#039;un type de données.&lt;br /&gt;
* &#039;&#039;&#039;Afficher les résultats dans l&#039;éditeur :&#039;&#039;&#039; envoie la sortie dans l&#039;éditeur. ￼&lt;br /&gt;
* &#039;&#039;&#039;Afficher les résultats dans la fenêtre de&#039;&#039;&#039; &#039;&#039;&#039;chat&#039;&#039;&#039; : envoie la sortie dans la fenêtre de chat IA au format Markdown. ￼&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Compagnon RAD AI==&lt;br /&gt;
&lt;br /&gt;
RAD Studio introduit « RAD AI Companion », un chat et générateur de code web spécifiquement entraîné sur du contenu en lien avec RAD Studio. Le compagnon RAD AI s&#039;active depuis l&#039;EDI en sélectionnant {{Menu| Menu Aide &amp;amp;gt; [http://www.embarcadero.com/radaicompanion RAD AI Companion]}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Fenêtre de chat IA==&lt;br /&gt;
&lt;br /&gt;
La fenêtre de chat IA est une fiche ancrable de l&#039;EDI, qui fonctionne comme n&#039;importe quelle fenêtre de chat LLM. Vous pouvez taper une requête, choisir un moteur (ou utiliser le moteur par défaut) et attendre la réponse. Voici un rapide exemple :&lt;br /&gt;
&lt;br /&gt;
[[Image:ai chat window.png|350px|link=]]&lt;br /&gt;
&lt;br /&gt;
La fenêtre de chat comporte une zone de saisie qui fonctionne comme une ligne de commande. Voici les commandes disponibles :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chatgpt&amp;amp;gt; + Entrée&amp;lt;/code&amp;gt; : active ChatGpt comme moteur d&#039;IA actif (si celui-ci a été activé).&lt;br /&gt;
* &amp;lt;code&amp;gt;gemini&amp;amp;gt; + Entrée&amp;lt;/code&amp;gt; : active Gemini comme moteur d&#039;IA actif (si celui-ci a été activé).&lt;br /&gt;
* &amp;lt;code&amp;gt;claude&amp;amp;gt; + Entrée&amp;lt;/code&amp;gt; : active Claude comme moteur d&#039;IA actif (si celui-ci a été activé).&lt;br /&gt;
* &amp;lt;code&amp;gt;ollama&amp;amp;gt; + Entrée&amp;lt;/code&amp;gt; : active Ollama comme moteur d&#039;IA actif (si celui-ci a été activé).&lt;br /&gt;
* &amp;lt;code&amp;gt;clear&amp;amp;gt; + Entrée&amp;lt;/code&amp;gt; : efface la zone de réponse.&lt;br /&gt;
* &amp;lt;code&amp;gt;stop&amp;amp;gt; + Entrée&amp;lt;/code&amp;gt; : arrête la génération de la réponse (équivalent à un clic sur le bouton Stop).&lt;br /&gt;
* &amp;lt;code&amp;gt;Ctrl + Entrée&amp;lt;/code&amp;gt; : commence à générer la réponse (équivalent à un clic sur le bouton Start).&lt;br /&gt;
&lt;br /&gt;
En plus des requêtes standard, vous pouvez sélectionner un extrait de code spécifique dans la fenêtre de code et poser une &#039;&#039;&#039;nouvelle question&#039;&#039;&#039; ou &#039;&#039;&#039;demander une explication&#039;&#039;&#039; en utilisant l&#039;une des commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
[[Image:ai smartchat.png|450px|link=]]&lt;br /&gt;
&lt;br /&gt;
* $COL : est remplacé par le &#039;&#039;&#039;numéro de colonne&#039;&#039;&#039; sur lequel le curseur est placé dans la fenêtre éditeur de code active.&lt;br /&gt;
* $ROW : est remplacé par le &#039;&#039;&#039;numéro de ligne&#039;&#039;&#039; sur lequel le curseur est placé dans la fenêtre éditeur de code active.&lt;br /&gt;
* $CURTOKEN : est remplacé par le &#039;&#039;&#039;mot&#039;&#039;&#039; sur lequel le curseur est placé dans la fenêtre éditeur de code active. Cette commande peut être utile pour faire référence à une variable, une méthode ou un identificateur situé à l&#039;emplacement du curseur.&lt;br /&gt;
* $EDNAME : est remplacé par le &#039;&#039;&#039;nom de fichier complet&#039;&#039;&#039; de la fenêtre éditeur de code active. Cette commande peut être très utile si vous avez besoin du nom du fichier en cours avec son chemin d&#039;accès.&lt;br /&gt;
* $SELECTION : explique le code sélectionné dans l&#039;éditeur actif.&lt;br /&gt;
* $UNIT : explique le code de l&#039;unité complète.&lt;br /&gt;
&lt;br /&gt;
Consultez la page [[Macros de transfert|Macros de transfert]] pour plus d&#039;informations et d&#039;exemples.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Voir aussi===&lt;br /&gt;
&lt;br /&gt;
* [[Options relatives à l&#039;audit de code intelligent|Options relatives à l&#039;audit de code intelligent]]&lt;br /&gt;
* [[Configuring Ollama for Smart CodeInsight|Configuration d&#039;Ollama]]&lt;br /&gt;
* [[Create and implement your AI plugin|Créer et implémenter votre plugin IA]]&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=El%C3%A9ments_syntaxiques_fondamentaux_(Delphi)&amp;diff=218939</id>
		<title>Eléments syntaxiques fondamentaux (Delphi)</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=El%C3%A9ments_syntaxiques_fondamentaux_(Delphi)&amp;diff=218939"/>
		<updated>2026-09-08T13:59:54Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 version importée : LOC-23469&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
{{Parent|Eléments syntaxiques fondamentaux - Index}}&lt;br /&gt;
&lt;br /&gt;
Les éléments syntaxiques fondamentaux, appelés &#039;&#039;tokens&#039;&#039;, se combinent pour former des expressions, des déclarations et des instructions.&lt;br /&gt;
Une &#039;&#039;instruction&#039;&#039; décrit une action algorithmique qui peut être exécutée dans un programme. Une &#039;&#039;expression&#039;&#039; est une unité syntaxique située dans une instruction et qui désigne une valeur. Une &#039;&#039;déclaration&#039;&#039; définit un identificateur (par exemple le nom d’une fonction ou d’une variable) qui peut être employé dans des expressions ou des instructions et, si c’est nécessaire, alloue de la mémoire à l’identificateur.&lt;br /&gt;
&lt;br /&gt;
Cette rubrique présente le jeu de caractères du langage {{Delphi}} et décrit la syntaxe de déclaration :&lt;br /&gt;
&lt;br /&gt;
*Identificateurs&lt;br /&gt;
*Nombres&lt;br /&gt;
*Chaînes de caractères&lt;br /&gt;
*Libellés&lt;br /&gt;
*Commentaires du code source&lt;br /&gt;
&lt;br /&gt;
==Le jeu de caractères {{Delphi}}==&lt;br /&gt;
&lt;br /&gt;
Le langage {{Delphi}} utilise l’encodage de caractères Unicode pour son jeu de caractères, qui comprend les caractères Unicode alphabétiques et alphanumériques ainsi que le caractère de soulignement. {{Delphi}} ne tient pas compte de la casse. Le caractère espace et les caractères de contrôle ({{code|U+0000}} à {{code|U+001F}}, y compris {{code|U+000D}}, le caractère de retour ou de fin de ligne) sont des blancs.&lt;br /&gt;
&lt;br /&gt;
Le compilateur {{Product}} accepte un fichier codé en {{code|UCS-2}} ou {{code|UCS-4}} si le fichier contient une marque d’ordre des octets. L’utilisation de formats autres que UTF-8 peut ralentir la compilation ; toutefois, l’utilisation d’UTF-8 est recommandée. Tous les caractères d’un fichier source codé en {{code|UCS-4}} doivent pouvoir être représentés en {{code|UCS-2}} sans paires de substitution. Les codages {{code|UCS-2}} avec paires de substitution (y compris GB18030) ne sont acceptés que si l’option de compilation &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;codepage&amp;lt;/span&amp;gt; est spécifiée.&lt;br /&gt;
&lt;br /&gt;
==Tokens==&lt;br /&gt;
&lt;br /&gt;
Au niveau le plus élémentaire, un programme est une suite de tokens délimités par des séparateurs. Un token est la plus petite unité de texte significative d’un programme. Un séparateur est soit un blanc, soit un commentaire. Strictement parlant, il n’est pas toujours nécessaire de placer un séparateur entre deux tokens ; par exemple le fragment de code suivant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 Size:=20;Price:=10;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Est parfaitement correct. Néanmoins, pour respecter la pratique courante et les exigences de lisibilité, il est préférable de l’écrire sur deux lignes, de la manière suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
  Size := 20;&lt;br /&gt;
  Price := 10;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les tokens sont divisés en symboles spéciaux, identificateurs, mots réservés, directives, nombres, libellés et chaînes de caractères. La chaîne de caractères est le seul token qui peut contenir des séparateurs. Il doit obligatoirement y avoir un séparateur entre des identificateurs, mots réservés, nombres et libellés adjacents.&lt;br /&gt;
&lt;br /&gt;
===Symboles spéciaux===&lt;br /&gt;
&lt;br /&gt;
Les symboles spéciaux sont des caractères, ou des paires de caractères, non alphanumériques ayant un sens déterminé. Les caractères individuels suivants sont des symboles spéciaux :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;color:#004a80;&amp;quot;&amp;gt;# $ &amp;amp;amp; &#039; ( ) * + , - . /&amp;amp;nbsp;:&amp;amp;nbsp;; &amp;amp;lt; = &amp;amp;gt; @ [ ] ^ { }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les paires de caractères suivantes sont également des symboles spéciaux :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;color:#004a80;&amp;quot;&amp;gt;(* (. *) .) .. //&amp;amp;nbsp;:= &amp;amp;lt;= &amp;amp;gt;= &amp;amp;lt;&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le tableau suivant présente les paires de symboles utilisées dans {{Delphi}} et ayant des significations similaires (les paires de symboles {{code|{}}} et {{code|(* *)}} sont des caractères de commentaire décrits plus en détail dans [[Eléments syntaxiques fondamentaux (Delphi)#Commentaires et directives de compilation|Commentaires et directives de compilation]]) :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| frame=&amp;quot;hsides&amp;quot; border=&amp;quot;1&amp;quot; rules=&amp;quot;rows&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Symboles spéciaux&lt;br /&gt;
! Symboles spéciaux similaires&lt;br /&gt;
|-&lt;br /&gt;
|[   ]&lt;br /&gt;
|(.   .)&lt;br /&gt;
|-&lt;br /&gt;
|{   }&lt;br /&gt;
|(*   *)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Le crochet ouvrant &#039;&#039;&#039;{{code|[}}&#039;&#039;&#039; est similaire à la paire de caractères composée d’une parenthèse ouvrante et d’un point &#039;&#039;&#039;{{code|(.}}&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Le crochet fermant &#039;&#039;&#039;{{code|]}}&#039;&#039;&#039; est similaire à la paire de caractères composée d’un point et d’une parenthèse fermante &#039;&#039;&#039;{{code|.)}}&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
L’accolade ouvrante &#039;&#039;&#039;{{code|{}}&#039;&#039;&#039; est similaire à la paire de caractères composée d’une parenthèse ouvrante et d’un astérisque &#039;&#039;&#039;{{code|(*}}&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
L’accolade fermante &#039;&#039;&#039;{{code|}}}&#039;&#039;&#039; est similaire à la paire de caractères composée d’un astérisque et d’une parenthèse fermante &#039;&#039;&#039;{{code|*)}}&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{Note|&amp;lt;nowiki&amp;gt;%, ?, \, !, &amp;quot; (guillemets doubles), _ (trait de soulignement), | (barre verticale) et ~ (tilde) ne sont pas des caractères spéciaux.&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
===Identificateurs===&lt;br /&gt;
&lt;br /&gt;
Les identificateurs désignent les constantes, variables, champs, types, propriétés, procédures, fonctions, programmes, unités, bibliothèques et packages. La longueur d’un identificateur peut être quelconque, mais seuls les 255 premiers caractères sont significatifs. Un identificateur doit commencer par un caractère alphabétique, un caractère Unicode ou un caractère de soulignement (&#039;&#039;&#039;_&#039;&#039;&#039;) et ne peut contenir ni espace ni caractère Unicode considéré comme un espace. Les caractères alphanumériques, les caractères Unicode, les chiffres (y compris les caractères Unicode représentant des chiffres) et les caractères de soulignement sont autorisés après le premier caractère. Les mots réservés ne peuvent pas être utilisés comme identificateurs.&lt;br /&gt;
Comme le langage {{Delphi}} ne tient pas compte de la casse, un identificateur tel que &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;CalculateValue&amp;lt;/span&amp;gt; peut s’écrire de l’une des façons suivantes :&lt;br /&gt;
&lt;br /&gt;
  CalculateValue&lt;br /&gt;
  calculateValue&lt;br /&gt;
  calculatevalue&lt;br /&gt;
  CALCULATEVALUE&lt;br /&gt;
&lt;br /&gt;
Comme les noms des unités correspondent aux noms des fichiers, des incohérences de casse peuvent parfois affecter la compilation. Pour plus d’informations, voir la section [[Programmes et unités (Delphi)#Références d’unité et la clause uses|Références d’unité et la clause uses]] dans [[Programmes et unités (Delphi)|Programmes et unités (Delphi)]].&lt;br /&gt;
&lt;br /&gt;
====Identificateurs qualifiés====&lt;br /&gt;
&lt;br /&gt;
Quand vous utilisez un identificateur qui a été déclaré à plusieurs endroits, il est parfois nécessaire de qualifier l’identificateur. La syntaxe d’un identificateur qualifié est :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;identificateur1.identificateur2&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Où &#039;&#039;identificateur1&#039;&#039; qualifie &#039;&#039;identificateur2&#039;&#039;. Si, par exemple, deux unités déclarent une variable appelée &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;CurrentValue&amp;lt;/span&amp;gt;, vous pouvez spécifier que vous voulez accéder à &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;CurrentValue&amp;lt;/span&amp;gt; dans &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Unit2&amp;lt;/span&amp;gt; en écrivant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 Unit2.CurrentValue&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il est possible de chaîner les qualificateurs. Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 Form1.Button1.Click&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
appelle la méthode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Click&amp;lt;/span&amp;gt; de &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Button1&amp;lt;/span&amp;gt; dans &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Form1&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si vous ne qualifiez pas un identificateur, son interprétation est déterminée par les règles de portée décrites dans [[Déclarations et instructions (Delphi)#Blocs et portée|Blocs et portée]] dans [[Déclarations et instructions (Delphi)|Déclarations et instructions (Delphi)]].&lt;br /&gt;
&lt;br /&gt;
====Identificateurs étendus====&lt;br /&gt;
&lt;br /&gt;
Il se peut que vous rencontriez des identificateurs (par exemple, des types ou des méthodes d’une classe) portant le même nom qu’un mot réservé du langage {{Delphi}}. Par exemple, une classe peut avoir une méthode appelée &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;begin&amp;lt;/span&amp;gt;. Les mots réservés de {{Delphi}}, tels que &#039;&#039;&#039;begin&#039;&#039;&#039;, ne peuvent pas être utilisés comme noms d’identificateurs.&lt;br /&gt;
&lt;br /&gt;
Si vous qualifiez complètement l’identificateur, il n’y a alors plus de problème. Par exemple, si vous voulez utiliser le mot réservé &#039;&#039;&#039;type&#039;&#039;&#039; de {{Delphi}} comme nom d’identificateur, vous devez utiliser son nom qualifié complet :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 var TMyType.type&lt;br /&gt;
 // Using a fully qualified name avoids ambiguity with Delphi language keyword.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une solution plus concise consiste à utiliser l’opérateur esperluette (&#039;&#039;&#039;&amp;amp;amp;&#039;&#039;&#039;) pour résoudre les ambiguïtés entre les identificateurs et les mots réservés du langage {{Delphi}}. Le symbole &#039;&#039;&#039;&amp;amp;amp;&#039;&#039;&#039; empêche qu’un mot clé soit analysé comme tel (c’est-à-dire comme un mot réservé). Si vous rencontrez une méthode ou un type portant le même nom qu’un mot clé {{Delphi}}, vous pouvez omettre la spécification de l’espace de noms si vous faites précéder le nom de l’identificateur d’une esperluette. Mais lorsque vous &#039;&#039;&#039;déclarez&#039;&#039;&#039; un identificateur portant le même nom qu’un mot clé, vous &amp;lt;i&amp;gt;devez&amp;lt;/i&amp;gt; utiliser le symbole &amp;lt;b&amp;gt;&amp;amp;amp;&amp;lt;/b&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
  &amp;amp;Type = Integer;&lt;br /&gt;
  // Prefix with &#039;&amp;amp;&#039; is ok.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mots réservés===&lt;br /&gt;
&lt;br /&gt;
Les mots réservés suivants ne peuvent être redéfinis ou utilisés comme des identificateurs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mots réservés {{Delphi}} :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| frame=&amp;quot;hsides&amp;quot; border=&amp;quot;1&amp;quot; rules=&amp;quot;rows&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Expressions (Delphi)#Opérateurs logiques (bit-à-bit)|and]]&lt;br /&gt;
|[[Déclarations et instructions (Delphi)#Instructions composées|end]]&lt;br /&gt;
|[[Programmes et unités (Delphi)#La section interface|interface]]&lt;br /&gt;
|[[Types structurés (Delphi)#Enregistrements (traditionnels)|record]]&lt;br /&gt;
|[[Paramètres (Delphi)#Sémantique des paramètres|var]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Types structurés (Delphi)#Tableaux|array]]&lt;br /&gt;
|[[Exceptions (Delphi)#Déclenchement et gestion des exceptions|except]]&lt;br /&gt;
|[[Références de classes#Opérateur is|is]]&lt;br /&gt;
|[[Déclarations et instructions (Delphi)#Instructions repeat|repeat]]&lt;br /&gt;
|[[Déclarations et instructions (Delphi)#Instructions while|while]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Références de classes#Opérateur as|as]]&lt;br /&gt;
|[[Ecriture de bibliothèques à chargement dynamique|exports]]&lt;br /&gt;
|[[Déclarations et instructions (Delphi)#Instructions goto|label]]&lt;br /&gt;
|[[Constantes déclarées#Chaînes de ressources|resourcestring]]&lt;br /&gt;
|[[Déclarations et instructions (Delphi)#Instructions with|with]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Syntaxe assembleur|asm]]&lt;br /&gt;
|[[Types structurés (Delphi)#Types fichiers (Win32)|file]]&lt;br /&gt;
|[[Ecriture de bibliothèques à chargement dynamique|library]]&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;&lt;br /&gt;
|[[Types structurés (Delphi)#Ensembles|set]]&lt;br /&gt;
|[[Expressions (Delphi)#Opérateurs logiques (bit-à-bit)|xor]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Déclarations et instructions (Delphi)#Instructions composées|begin]]&lt;br /&gt;
|[[Programmes et unités (Delphi)#La section finalization|finalization]]&lt;br /&gt;
|[[Expressions (Delphi)#Opérateurs arithmétiques|mod]]&lt;br /&gt;
|[[Expressions (Delphi)#Opérateurs logiques (bit-à-bit)|shl]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Déclarations et instructions (Delphi)#Instructions case|case]]&lt;br /&gt;
|[[Exceptions (Delphi)#Instructions try...finally|finally]]&lt;br /&gt;
|[[Pointeurs et types pointeur (Delphi)|nil]]&lt;br /&gt;
|[[Expressions (Delphi)#Opérateurs logiques (bit-à-bit)|shr]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Classes et objets (Delphi)|class]]&lt;br /&gt;
|[[Déclarations et instructions (Delphi)#Instructions for|for]]&lt;br /&gt;
|[[Expressions (Delphi)#Opérateurs logiques (bit-à-bit)|not]]&lt;br /&gt;
|[[Chaîne|string]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Constantes déclarées|const]]&lt;br /&gt;
|[[Procédures et fonctions (Delphi)|function]]&lt;br /&gt;
|[[Classes et objets (Delphi)#Types objet|object]]&lt;br /&gt;
|[[Déclarations et instructions (Delphi)#Instructions if|then]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Classes et objets (Delphi)|constructor]]&lt;br /&gt;
|[[Déclarations et instructions (Delphi)#Instructions goto|goto]]&lt;br /&gt;
|of&lt;br /&gt;
|[[Variables (Delphi)#Variables locales de thread|threadvar]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Classes et objets (Delphi)|destructor]]&lt;br /&gt;
|[[Déclarations et instructions (Delphi)#Instructions if|if]]&lt;br /&gt;
|[[Expressions (Delphi)#Opérateurs logiques (bit-à-bit)|or]]&lt;br /&gt;
|[[Déclarations et instructions (Delphi)#Instructions for|to]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Objets automation (Win32 seulement)|dispinterface]]&lt;br /&gt;
|[[Programmes et unités (Delphi)#La section implementation|implementation]]&lt;br /&gt;
|[[Types structurés (Delphi)|packed]]&lt;br /&gt;
|[[Exceptions (Delphi)|try]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Expressions (Delphi)#Opérateurs arithmétiques|div]]&lt;br /&gt;
|[[In|in]]&lt;br /&gt;
|[[Procédures et fonctions (Delphi)|procedure]]&lt;br /&gt;
|[[Types simples (Delphi)#Types énumérés|type]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Déclarations et instructions (Delphi)#Instructions for|do]]&lt;br /&gt;
|[[Méthodes (Delphi)#Inherited|inherited]]&lt;br /&gt;
|[[Programmes et unités (Delphi)|program]]&lt;br /&gt;
|[[Programmes et unités (Delphi)|unit]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Déclarations et instructions (Delphi)#Instructions for|downto]]&lt;br /&gt;
|[[Programmes et unités (Delphi)#La section initialization|initialization]]&lt;br /&gt;
|[[Propriétés (Delphi)|property]]&lt;br /&gt;
|[[Déclarations et instructions (Delphi)#Instructions repeat|until]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Déclarations et instructions (Delphi)#Instructions if|else]]&lt;br /&gt;
|[[Utilisation du code assembleur inline|inline]]&lt;br /&gt;
|[[Exceptions (Delphi)#Déclenchement et gestion des exceptions|raise]]&lt;br /&gt;
|[[Programmes et unités (Delphi)#Références d’unité et la clause uses|uses]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Note|Outre les mots spécifiés dans le tableau ci-dessus, &#039;&#039;&#039;private&#039;&#039;&#039;, &#039;&#039;&#039;protected&#039;&#039;&#039;, &#039;&#039;&#039;public&#039;&#039;&#039;, &#039;&#039;&#039;published&#039;&#039;&#039; et &#039;&#039;&#039;automated&#039;&#039;&#039; se comportent comme des mots réservés [[Classes et objets (Delphi)#Visibilité des membres de classe|à l’intérieur de la déclaration du type de classe]] et sont traités ailleurs comme des directives. Les mots &#039;&#039;&#039;at&#039;&#039;&#039; et &#039;&#039;&#039;on&#039;&#039;&#039; ont aussi des significations spéciales, et doivent être traités comme des mots réservés. Les mots clés &#039;&#039;&#039;of object&#039;&#039;&#039; sont utilisés pour définir les [[Types procéduraux (Delphi)#Pointeurs de méthode|pointeurs de méthode]].}}&lt;br /&gt;
&lt;br /&gt;
===Directives===&lt;br /&gt;
&lt;br /&gt;
{{Delphi}} comporte plusieurs types de directives. Une des significations de &amp;quot;directive&amp;quot; est un mot qui est sensible à certains endroits du code source. Ce type de directive a une signification particulière en langage {{Delphi}}, mais à la différence d’un mot réservé, il apparaît seulement dans des contextes où il ne peut y avoir d’identificateurs définis par l’utilisateur. De ce fait, vous pouvez (même si cela est déconseillé) définir un identificateur identique à une directive.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Directives :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| frame=&amp;quot;hsides&amp;quot; border=&amp;quot;1&amp;quot; rules=&amp;quot;rows&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Variables (Delphi)#Adresses absolues|absolute]]&lt;br /&gt;
| export&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt;&lt;br /&gt;
| [[Ecriture de bibliothèques à chargement dynamique|name]]&lt;br /&gt;
| [[Classes et objets (Delphi)#Visibilité des membres de classe|protected]]&lt;br /&gt;
| [[Méthodes (Delphi)#Méthodes statiques de classe|static]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Méthodes (Delphi)#Méthodes abstraites|abstract]]&lt;br /&gt;
| [[Procédures et fonctions (Delphi)#Déclarations externes|external]]&lt;br /&gt;
| near&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| [[Classes et objets (Delphi)#Visibilité des membres de classe|public]]&lt;br /&gt;
| [[Procédures et fonctions (Delphi)#Conventions d’appel|stdcall]]&lt;br /&gt;
|-&lt;br /&gt;
| assembler&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt;&lt;br /&gt;
| far&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| [[Propriétés (Delphi)|nodefault]]&lt;br /&gt;
| [[Classes et objets (Delphi)#Visibilité des membres de classe|published]]&lt;br /&gt;
| [[Classes et objets (Delphi)#Spécificateurs de visibilité stricte|strict]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Classes et objets (Delphi)#Membres automatisés (Win32 seulement)|automated]]&lt;br /&gt;
|[[Méthodes (Delphi)#Méthodes finales|final]]&lt;br /&gt;
|[[Déclarations et instructions (Delphi)#La directive noreturn|noreturn]]&lt;br /&gt;
|[[Propriétés (Delphi)|read]]&lt;br /&gt;
|[[Propriétés (Delphi)#Spécificateurs de stockage|stored]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Procédures et fonctions (Delphi)#Conventions d’appel|cdecl]]&lt;br /&gt;
| [[Procédures et fonctions (Delphi)|forward]]&lt;br /&gt;
| [[Surcharge d&#039;opérateurs (Delphi)|operator]]&amp;lt;sup&amp;gt;10&amp;lt;/sup&amp;gt;&lt;br /&gt;
| [[Objets automation (Win32 seulement)#Propriétés des interfaces de répartition|readonly]]&lt;br /&gt;
| unsafe&lt;br /&gt;
|-&lt;br /&gt;
| [[Packages#La clause contains|contains]]&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt;&lt;br /&gt;
| [[Assistances de classes et d&#039;enregistrements (Delphi)|helper]]&amp;lt;sup&amp;gt;8&amp;lt;/sup&amp;gt;&lt;br /&gt;
| [[Paramètres (Delphi)#Paramètres de sortie|out]]&lt;br /&gt;
| [[Méthodes anonymes dans Delphi|reference]]&amp;lt;sup&amp;gt;9&lt;br /&gt;
&amp;lt;/sup&amp;gt;&lt;br /&gt;
| [[Procédures et fonctions (Delphi)#Déclarations externes|varargs]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Propriétés (Delphi)|default]]&lt;br /&gt;
| [[Utilisation de implements pour la délégation|implements]]&lt;br /&gt;
|  [[Méthodes (Delphi)#Surcharge des méthodes|overload]]&lt;br /&gt;
| [[Procédures et fonctions (Delphi)#Conventions d’appel|register]]&lt;br /&gt;
| [[Méthodes (Delphi)#Méthodes virtuelles et dynamiques|virtual]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Bibliothèques et packages (Delphi)#Chargement différé (Windows seulement)|delayed]]&lt;br /&gt;
| [[Propriétés (Delphi)#Spécificateurs d’indice|index]]&lt;br /&gt;
| [[Redéfinition des méthodes|override]]&lt;br /&gt;
| [[Méthodes (Delphi)#Reintroduce|reintroduce]]&lt;br /&gt;
| [[Procédures et fonctions (Delphi)#Conventions d’appel|winapi]]&amp;lt;sup&amp;gt;6&lt;br /&gt;
&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [[Déclarations et instructions (Delphi)#Directives de conseil|deprecated]]&amp;lt;sup&amp;gt;11&amp;lt;/sup&amp;gt;&lt;br /&gt;
| [[Utilisation du code assembleur inline|inline]]&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| [[Packages|package]]&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt;&lt;br /&gt;
| [[Packages#La clause requires|requires]]&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt;&lt;br /&gt;
| [[Propriétés (Delphi)|write]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Objets automation (Win32 seulement)|dispid]]&lt;br /&gt;
|[[Ecriture de bibliothèques à chargement dynamique|library]]&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;11&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;&lt;br /&gt;
&amp;lt;/sup&amp;gt;&lt;br /&gt;
| [[Procédures et fonctions (Delphi)#Conventions d’appel|pascal]]&lt;br /&gt;
| resident&amp;lt;sup&amp;gt;1&lt;br /&gt;
&amp;lt;/sup&amp;gt;&lt;br /&gt;
| [[Objets automation (Win32 seulement)#Propriétés des interfaces de répartition|writeonly]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Méthodes dynamiques|dynamic]]&lt;br /&gt;
| local&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;&lt;br /&gt;
&amp;lt;/sup&amp;gt;&lt;br /&gt;
| [[Déclarations et instructions (Delphi)#Directives de conseil|platform]]&amp;lt;sup&amp;gt;11&amp;lt;/sup&amp;gt;&lt;br /&gt;
| [[Procédures et fonctions (Delphi)#Conventions d’appel|safecall]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[Déclarations et instructions (Delphi)#Directives de conseil|experimental]]&amp;lt;sup&amp;gt;11&amp;lt;/sup&amp;gt;&lt;br /&gt;
| [[Méthodes (Delphi)#Méthodes de messages|message]]&lt;br /&gt;
| [[Classes et objets (Delphi)#Visibilité des membres de classe|private]]&lt;br /&gt;
| [[Classes et objets (Delphi)#Types classe|sealed]]&amp;lt;sup&amp;gt;5&lt;br /&gt;
&amp;lt;/sup&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;far&#039;&#039;&#039;, &#039;&#039;&#039;near&#039;&#039;&#039; et &#039;&#039;&#039;resident&#039;&#039;&#039; sont obsolètes.&lt;br /&gt;
# &#039;&#039;&#039;[[Utilisation du code assembleur inline|inline]]&#039;&#039;&#039; est utilisé comme style de directive à la fin de la déclaration de la procédure ou de la fonction pour marquer la procédure ou la fonction &amp;quot;inline&amp;quot;, {{f|radstudio|, mais était un mot réservé pour Turbo Pascal}}. &lt;br /&gt;
# &#039;&#039;&#039;[[Ecriture de bibliothèques à chargement dynamique|library]]&#039;&#039;&#039; est aussi un mot clé quand il est utilisé en tant que premier token du code source du projet ; il indique une cible DLL. Sinon, il marque un symbole, de telle sorte qu’il produit un avertissement de bibliothèque lors de son utilisation.&lt;br /&gt;
# &#039;&#039;&#039;local&#039;&#039;&#039; était une directive Kylix et est ignoré pour {{Delphi}} pour Win32.&lt;br /&gt;
# &#039;&#039;&#039;[[Classes et objets (Delphi)#Types classe|sealed]]&#039;&#039;&#039; est une directive de classe avec l’ancienne syntaxe : &amp;quot;class sealed&amp;quot;. Une classe sealed ne peut pas être étendue ni dérivée (comme &amp;lt;code&amp;gt;final&amp;lt;/code&amp;gt; dans C++).&lt;br /&gt;
# &#039;&#039;&#039;[[Procédures et fonctions (Delphi)#Conventions d’appel|winapi]]&#039;&#039;&#039; définit la convention d’appel de la plate-forme par défaut. Par exemple, sur Win32, &#039;&#039;&#039;winapi&#039;&#039;&#039; est identique à &#039;&#039;&#039;stdcall&#039;&#039;&#039;.&lt;br /&gt;
# &#039;&#039;&#039;[[Packages|package]]&#039;&#039;&#039;, quand il est utilisé en tant que premier token, indique une cible package et active la syntaxe de package. &#039;&#039;&#039;[[Packages#La clause requires|requires]]&#039;&#039;&#039; et &#039;&#039;&#039;[[Packages#La clause contains|contains]]&#039;&#039;&#039; sont des directives uniquement dans la syntaxe de package.&lt;br /&gt;
# &#039;&#039;&#039;helper&#039;&#039;&#039; indique [[Assistances de classes et d&#039;enregistrements (Delphi)|&amp;quot;assistance de classe pour&amp;quot;]].&lt;br /&gt;
# &#039;&#039;&#039;[[Méthodes anonymes dans Delphi|reference]]&#039;&#039;&#039; indique une référence à une fonction ou à une procédure.&lt;br /&gt;
# &#039;&#039;&#039;[[Surcharge d&#039;opérateurs (Delphi)|operator]]&#039;&#039;&#039; indique un opérateur de classe.&lt;br /&gt;
# &#039;&#039;&#039;platform&#039;&#039;&#039;, &#039;&#039;&#039;deprecated&#039;&#039;&#039;, &#039;&#039;&#039;experimental&#039;&#039;&#039; et &#039;&#039;&#039;library&#039;&#039;&#039; sont des [[Déclarations et instructions (Delphi)#Directives de conseil|directives de conseil (ou d’avertissement)]]. Ces directives produisent des avertissements à la compilation.&lt;br /&gt;
# Les directives &#039;&#039;&#039;assembler&#039;&#039;&#039; et &#039;&#039;&#039;export&#039;&#039;&#039; n’ont pas de signification. Elles existent uniquement pour des questions de compatibilité avec les versions précédentes.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Types de directives====&lt;br /&gt;
&lt;br /&gt;
{{Delphi}} a deux types de directives, en plus du type de directive sensible au contexte décrit dans le tableau [[#Directives|Directives]] ci-dessus.&lt;br /&gt;
&lt;br /&gt;
Une &#039;&#039;&#039;directive&#039;&#039;&#039; sensible au contexte peut être un identificateur -- pas typiquement un mot clé -- que vous placez à la fin d’une déclaration pour modifier la signification de la déclaration. Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
  procedure P; forward;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ou :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
  procedure M; virtual; override;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ou :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
  property Foo: Integer read FFoo write FFoo default 42;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le dernier type de directive est la &#039;&#039;&#039;[[Liste des directives de compilation Delphi - Index|directive de compilation]]&#039;&#039;&#039; officielle, un commutateur ou une option qui influe sur le comportement du compilateur. Une directive de compilation est entourée d’accolades ({}) et commence par un signe dollar ($), comme ceci :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
  {$POINTERMATH ON}&lt;br /&gt;
&lt;br /&gt;
  {$D+} // DEBUGINFO ON&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme les autres types de directives, les &#039;&#039;&#039;directives de compilation&#039;&#039;&#039; ne sont pas des mots clés. Pour obtenir la liste des directives de compilation, voir la &#039;&#039;&#039;[[Liste des directives de compilation Delphi - Index|liste des directives de compilation {{Delphi}}]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Nombres===&lt;br /&gt;
&lt;br /&gt;
Les constantes entières et réelles peuvent être représentées en notation décimale comme une séquence de chiffres sans virgule ni espaces et préfixés par les opérateurs &#039;&#039;&#039;+&#039;&#039;&#039; ou &#039;&#039;&#039;-&#039;&#039;&#039; afin d’indiquer le signe. Par défaut les valeurs sont positives (ainsi 67258 est identique à +67258) et doivent se trouver à l’intérieur de l’intervalle du plus grand type prédéfini entier ou réel.&lt;br /&gt;
&lt;br /&gt;
Les nombres avec un séparateur décimal ou un exposant désignent des réels, alors que les autres nombres désignent des entiers. Quand le caractère E ou e apparaît dans un réel, cela signifie &amp;quot;multiplié par dix à la puissance&amp;quot;. Par exemple, 7E2 signifie 7 * 10^2, de même 12.25e+6 et 12.25e6 signifient tous les deux 12.25 * 10^6.&lt;br /&gt;
&lt;br /&gt;
Le signe dollar utilisé comme préfixe indique un nombre hexadécimal, par exemple $8F. Les nombres hexadécimaux non précédés d’un opérateur unaire &#039;&#039;&#039;-&#039;&#039;&#039; sont considérés comme des valeurs positives. Lors d’une affectation, si une valeur hexadécimale se trouve hors de l’intervalle du type destinataire, une erreur est générée, sauf pour le type &#039;&#039;&#039;Integer&#039;&#039;&#039; (entier 32 bits), cas dans lequel un avertissement est généré. Dans ce cas, les valeurs dépassant l’intervalle positif du type &#039;&#039;&#039;Integer&#039;&#039;&#039; sont considérées comme négatives, conformément à la représentation entière en complément à deux. Pour plus d’informations sur les types réels et entiers, voir [[A propos des types de données (Delphi)|A propos des types de données (Delphi)]]. Pour plus d’informations sur les types de données des nombres, voir [[Constantes déclarées|Constantes déclarées]].&lt;br /&gt;
&lt;br /&gt;
Le signe pourcentage utilisé comme préfixe indique un nombre binaire, par exemple {{code|%0010}}. Les nombres binaires n’utilisent que les chiffres 0 et 1.  &lt;br /&gt;
&lt;br /&gt;
L’utilisation du caractère de soulignement {{code|_}} comme séparateur de chiffres améliore la lisibilité. Lorsqu’il est correctement utilisé, ce caractère n’a aucune valeur et est ignoré par le compilateur. Les caractères de soulignement ne peuvent pas :&lt;br /&gt;
&lt;br /&gt;
* Apparaître au début ou à la fin.&lt;br /&gt;
* Être placés à côté d’un préfixe.&lt;br /&gt;
* Être doublés.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Résumé&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
{| frame=&amp;quot;hsides&amp;quot; border=&amp;quot;1&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Type de nombre&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Syntaxe&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Exemple&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Décimal&lt;br /&gt;
|&lt;br /&gt;
aucune&lt;br /&gt;
|&lt;br /&gt;
5000&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Hexadécimal&lt;br /&gt;
|&lt;br /&gt;
{{code|$}}&lt;br /&gt;
|&lt;br /&gt;
{{code|$FF}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Binaire&lt;br /&gt;
|&lt;br /&gt;
{{code|%}}&lt;br /&gt;
|&lt;br /&gt;
%1010&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Séparateur de chiffres&lt;br /&gt;
|&lt;br /&gt;
{{code|_}}&lt;br /&gt;
|&lt;br /&gt;
2_000_000&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Virgule flottante&lt;br /&gt;
|&lt;br /&gt;
{{code|.}} et {{code|E}}&lt;br /&gt;
|&lt;br /&gt;
1.23e4&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Code de caractère&lt;br /&gt;
|&lt;br /&gt;
{{code|#}}&lt;br /&gt;
|&lt;br /&gt;
{{code|#75}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Libellés===&lt;br /&gt;
&lt;br /&gt;
Vous pouvez utiliser un identificateur ou un nombre entier non négatif en tant que libellé. Le compilateur {{Delphi}} autorise les libellés numériques allant de 0 à 4294967295 (intervalle uint32).&lt;br /&gt;
&lt;br /&gt;
Les libellés sont utilisés dans les instructions &#039;&#039;&#039;goto&#039;&#039;&#039;. Pour plus d’informations sur les instructions &#039;&#039;&#039;goto&#039;&#039;&#039; et les libellés, voir [[Déclarations et instructions (Delphi)#Instructions goto|Instructions Goto]] dans [[Déclarations et instructions (Delphi)|Déclarations et instructions (Delphi)]].&lt;br /&gt;
&lt;br /&gt;
===Chaînes de caractères===&lt;br /&gt;
&lt;br /&gt;
Une chaîne de caractères (appelée également littéral chaîne ou constante chaîne) est une chaîne délimitée, une chaîne de contrôle ou une combinaison de chaînes délimitées et de chaînes de contrôle. Il ne peut y avoir de séparateur qu’à l’intérieur des chaînes délimitées.&lt;br /&gt;
&lt;br /&gt;
Une chaîne délimitée est une séquence de caractères, d’un jeu de caractères ANSI ou multi-octets, écrits sur une seule ligne et placés entre apostrophes. Une chaîne délimitée ne contenant rien entre les apostrophes est une chaîne vide. Deux apostrophes consécutives à l’intérieur d’une chaîne délimitée désigne un seul caractère : une apostrophe.&lt;br /&gt;
&lt;br /&gt;
La chaîne est représentée en interne sous la forme d’une chaîne Unicode encodée en UTF-16. Les caractères du BMP (Basic Multilingual Plane) prennent 2 octets, et les autres caractères nécessitent 4 octets.&lt;br /&gt;
&lt;br /&gt;
Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
   &#039;Embarcadero&#039;        { Embarcadero }&lt;br /&gt;
   &#039;You&#039;&#039;ll see&#039;        { You&#039;ll see }&lt;br /&gt;
   &#039;アプリケーションを Unicode 対応にする&#039;&lt;br /&gt;
   &#039;&#039;&#039;&#039;                 { &#039; }&lt;br /&gt;
   &#039;&#039;                   { null string }&lt;br /&gt;
   &#039; &#039;                  { a space }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une chaîne de contrôle est une séquence constituée d’un ou de plusieurs caractères de contrôle, chacun d’eux étant constitué du symbole &#039;&#039;&#039;#&#039;&#039;&#039; suivi d’une constante entière non signée comprise entre 0 et 65 535 (décimal) ou entre $0 et $FFFF (hexadécimal) dans l’encodage UTF-16 ; et désigne le caractère correspondant à une valeur de code spécifiée. Chaque entier est représenté en interne par 2 octets dans la chaîne. Cela est utile pour représenter des caractères de contrôle et des caractères multi-octets. La chaîne de contrôle :&lt;br /&gt;
&lt;br /&gt;
 #89#111#117&lt;br /&gt;
&lt;br /&gt;
Est équivalente à la chaîne délimitée :&lt;br /&gt;
&lt;br /&gt;
 &#039;You&#039;&lt;br /&gt;
&lt;br /&gt;
Il est possible de combiner les chaînes délimitées et les chaînes de contrôle pour constituer des chaînes plus longues. Par exemple, vous pouvez utiliser :&lt;br /&gt;
&lt;br /&gt;
 &#039;Line 1&#039;#13#10&#039;Line 2&#039;&lt;br /&gt;
&lt;br /&gt;
pour placer une séquence retour chariot-passage à la ligne entre &amp;quot;Ligne 1&amp;quot; et &amp;quot;Ligne 2&amp;quot;. Néanmoins, il n’est pas possible de concaténer deux chaînes délimitées en procédant ainsi, en effet deux apostrophes se suivant sont interprétées comme un seul caractère. Pour concaténer des chaînes délimitées, utilisez l’opérateur &#039;&#039;&#039;+&#039;&#039;&#039; ou combinez-les en une seule chaîne délimitée.&lt;br /&gt;
&lt;br /&gt;
Une chaîne de caractères est compatible avec tout type de chaîne et avec le type &#039;&#039;&#039;PChar&#039;&#039;&#039;. Puisqu’un type &#039;&#039;&#039;AnsiString&#039;&#039;&#039; peut contenir des caractères multi-octets, une chaîne de caractères avec un caractère, mono ou multi-octets, est compatible avec tout type de caractère. Quand la syntaxe étendue est activée (avec la directive de compilation &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;{$X+}&amp;lt;/span&amp;gt;), une chaîne de caractères non vide de longueur n est compatible avec des tableaux basés sur zéro et des tableaux compactés de n caractères. Pour de plus amples informations, voir [[A propos des types de données (Delphi)|A propos des types de données (Delphi)]].&lt;br /&gt;
&lt;br /&gt;
Depuis RAD Studio 12.0, les littéraux chaîne peuvent dépasser 255 caractères ; en d’autres termes, les littéraux chaîne ne sont pas limités au type Pascal ShortString classique. Le langage ajoute le support des chaînes multilignes. Pour de plus amples information sur les chaînes multilignes, consultez notre page [[Types chaîne (Delphi)|Types de chaînes (Delphi)]], sous Littéraux chaîne longs et multilignes.&lt;br /&gt;
&lt;br /&gt;
==Commentaires et directives de compilation==&lt;br /&gt;
&lt;br /&gt;
Les commentaires ne sont pas pris en compte par le compilateur sauf quand ils agissent comme séparateur (en délimitant des tokens consécutifs) ou comme directive de compilation.&lt;br /&gt;
&lt;br /&gt;
Il y a plusieurs manières de construire des commentaires :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 { Text between left and right braces is a comment. }&lt;br /&gt;
 (* Text between left-parenthesis-plus-asterisk and an&lt;br /&gt;
  asterisk-plus-right-parenthesis is also a comment *)&lt;br /&gt;
 // Text between double-slash and end of line is a comment.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les commentaires de même type ne peuvent pas être imbriqués. Par exemple, &amp;lt;code&amp;gt;(*{}*)&amp;lt;/code&amp;gt; fonctionne. Cette dernière forme est utile pour mettre en commentaire des sections de code contenant déjà des commentaires.&lt;br /&gt;
&lt;br /&gt;
Voici quelques recommandations sur l’utilisation (comment et quand) des trois types de caractères de commentaire :&lt;br /&gt;
&lt;br /&gt;
*Utilisez la double barre oblique (//) pour commenter des modifications temporaires effectuées durant la phase de développement. Vous pouvez utiliser le mécanisme &amp;lt;code&amp;gt;CTRL+/&amp;lt;/code&amp;gt; de l’éditeur de code afin d’insérer rapidement le caractère double barre oblique de commentaire tout en travaillant.&lt;br /&gt;
*Utilisez les caractères parenthèse-étoile &amp;quot;(*...*)&amp;quot; à la fois pour les commentaires de développement et pour le commentaire d’un bloc de code contenant d’autres commentaires. Ce caractère de commentaire permet à plusieurs lignes de source, incluant d’autres types de commentaires, de ne pas être pris en compte par le compilateur.&lt;br /&gt;
*Utilisez les accolades ({}) pour la documentation du source que vous souhaitez conserver dans le code.&lt;br /&gt;
&lt;br /&gt;
Un commentaire contenant le signe dollar (&#039;&#039;&#039;$&#039;&#039;&#039;) immédiatement après &#039;&#039;&#039;{&#039;&#039;&#039; ou &#039;&#039;&#039;(*&#039;&#039;&#039; est une directive de compilation. Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 {$WARNINGS OFF}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Indique au compilateur de ne pas générer de messages d’avertissement.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Expressions (Delphi)|Expressions (Delphi)]]&lt;br /&gt;
*[[Déclarations et instructions (Delphi)|Déclarations et instructions (Delphi)]]&lt;br /&gt;
*[[Programmes et unités (Delphi)#Références d’unité et la clause uses|Références d’unité et la clause uses]]&lt;br /&gt;
* [[Bibliothèques et packages (Delphi)#Chargement différé (Windows seulement)|Chargement différé]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:Guide du langage Delphi]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Fichier_d%27en-t%C3%AAte_C%2B%2B_(*.h,_*.hpp)&amp;diff=218937</id>
		<title>Fichier d&#039;en-tête C++ (*.h, *.hpp)</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Fichier_d%27en-t%C3%AAte_C%2B%2B_(*.h,_*.hpp)&amp;diff=218937"/>
		<updated>2026-09-03T07:26:30Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Types de fichiers - Index}}&lt;br /&gt;
&lt;br /&gt;
Les fichiers d&#039;en-tête C++ définissent une interface C++, généralement implémentée dans un  [[Fichier d&#039;implémentation C++|fichier d&#039;implémentation C++]].&lt;br /&gt;
&lt;br /&gt;
==Fichiers d&#039;en-tête {{CBuilder}}==&lt;br /&gt;
&lt;br /&gt;
Dans {{CBuilder}} :&lt;br /&gt;
&lt;br /&gt;
* Les [[Unité|unités]] contiennent généralement un fichier d&#039;en-tête C++ avec {{Path|{{Placeholder|nom d&#039;unité}}.h}} comme nom de fichier.&lt;br /&gt;
* Les projets contiennent un fichier d&#039;en-tête C++, {{Path|{{Placeholder|nom de projet}}PCH{{Placeholder|n}}.h}}.&lt;br /&gt;
&lt;br /&gt;
==Fichiers d&#039;en-tête C++ des packages {{Delphi}}==&lt;br /&gt;
&lt;br /&gt;
Lorsque vous [[Compilation de packages|construisez des packages  {{Delphi}}]], {{Product}} génère un fichier d&#039;en-tête C++ pour chaque  [[Unité|unité]] de votre package ({{Path|{{Placeholder|nom d&#039;unité}}.hpp}}), ainsi qu&#039;un fichier d&#039;en-tête C++ pour votre package ({{Path|{{Placeholder|nom de package}}.hpp}}), tant que l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Sortie - C/C++|Sortie - C/C++]]}} est &amp;quot;Générer tous les fichiers C++Builder (notamment les bibliothèques de packages)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Les projets C++ qui utilisent votre package ont besoin de ces fichiers d&#039;en-tête C++ pour la compilation.&lt;br /&gt;
&lt;br /&gt;
Lorsque vous construisez votre package {{Delphi}}, vos fichiers d&#039;en-tête C++ sont générés par défaut dans le dossier suivant :&lt;br /&gt;
&lt;br /&gt;
* Pour les plates-formes de bureau : {{Path|{{PublicDocumentsPath}}\hpp\&amp;amp;lt;platform&amp;amp;gt;}}&lt;br /&gt;
* Pour les plates-formes mobiles : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .hpp C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Sortie - C/C++|Sortie - C/C++]]}}.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Fichier d&#039;en-tête précompilé C++ (*.pch)|Fichier d&#039;en-tête précompilé C++]]&lt;br /&gt;
* [[Fichier d&#039;implémentation C++|Fichier d&#039;implémentation C++]]&lt;br /&gt;
&lt;br /&gt;
* [[Fichiers de packages créés lors d&#039;une compilation|Fichiers de packages créés lors d&#039;une compilation]]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Fichier d&#039;en-tete C++ (*.h, *.hpp)}}&lt;br /&gt;
[[Category:Référence EDI]]&lt;br /&gt;
[[Category:XE7]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:C++ Header File (*.h, *.hpp)]]&lt;br /&gt;
[[de:C++-Header-Datei]]&lt;br /&gt;
[[ja:C++ ヘッダー ファイル]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Fichier_d%27en-t%C3%AAte_C%2B%2B&amp;diff=218936</id>
		<title>Fichier d&#039;en-tête C++</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Fichier_d%27en-t%C3%AAte_C%2B%2B&amp;diff=218936"/>
		<updated>2026-09-03T07:26:12Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : Yukikoi a déplacé la page Fichier d&amp;#039;en-tête C++ vers Fichier d&amp;#039;en-tête C++ (*.h, *.hpp)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECTION [[Fichier d&#039;en-tête C++ (*.h, *.hpp)]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Fichier_d%27en-t%C3%AAte_C%2B%2B_(*.h,_*.hpp)&amp;diff=218935</id>
		<title>Fichier d&#039;en-tête C++ (*.h, *.hpp)</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Fichier_d%27en-t%C3%AAte_C%2B%2B_(*.h,_*.hpp)&amp;diff=218935"/>
		<updated>2026-09-03T07:26:12Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : Yukikoi a déplacé la page Fichier d&amp;#039;en-tête C++ vers Fichier d&amp;#039;en-tête C++ (*.h, *.hpp)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:{{PAGENAME}} (*.h, *.hpp)}}&lt;br /&gt;
{{Parent|Types de fichiers - Index}}&lt;br /&gt;
&lt;br /&gt;
Les fichiers d&#039;en-tête C++ définissent une interface C++, généralement implémentée dans un  [[Fichier d&#039;implémentation C++|fichier d&#039;implémentation C++]].&lt;br /&gt;
&lt;br /&gt;
==Fichiers d&#039;en-tête {{CBuilder}}==&lt;br /&gt;
&lt;br /&gt;
Dans {{CBuilder}} :&lt;br /&gt;
&lt;br /&gt;
* Les [[Unité|unités]] contiennent généralement un fichier d&#039;en-tête C++ avec {{Path|{{Placeholder|nom d&#039;unité}}.h}} comme nom de fichier.&lt;br /&gt;
* Les projets contiennent un fichier d&#039;en-tête C++, {{Path|{{Placeholder|nom de projet}}PCH{{Placeholder|n}}.h}}.&lt;br /&gt;
&lt;br /&gt;
==Fichiers d&#039;en-tête C++ des packages {{Delphi}}==&lt;br /&gt;
&lt;br /&gt;
Lorsque vous [[Compilation de packages|construisez des packages  {{Delphi}}]], {{Product}} génère un fichier d&#039;en-tête C++ pour chaque  [[Unité|unité]] de votre package ({{Path|{{Placeholder|nom d&#039;unité}}.hpp}}), ainsi qu&#039;un fichier d&#039;en-tête C++ pour votre package ({{Path|{{Placeholder|nom de package}}.hpp}}), tant que l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Sortie - C/C++|Sortie - C/C++]]}} est &amp;quot;Générer tous les fichiers C++Builder (notamment les bibliothèques de packages)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Les projets C++ qui utilisent votre package ont besoin de ces fichiers d&#039;en-tête C++ pour la compilation.&lt;br /&gt;
&lt;br /&gt;
Lorsque vous construisez votre package {{Delphi}}, vos fichiers d&#039;en-tête C++ sont générés par défaut dans le dossier suivant :&lt;br /&gt;
&lt;br /&gt;
* Pour les plates-formes de bureau : {{Path|{{PublicDocumentsPath}}\hpp\&amp;amp;lt;platform&amp;amp;gt;}}&lt;br /&gt;
* Pour les plates-formes mobiles : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .hpp C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Sortie - C/C++|Sortie - C/C++]]}}.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Fichier d&#039;en-tête précompilé C++ (*.pch)|Fichier d&#039;en-tête précompilé C++]]&lt;br /&gt;
* [[Fichier d&#039;implémentation C++|Fichier d&#039;implémentation C++]]&lt;br /&gt;
&lt;br /&gt;
* [[Fichiers de packages créés lors d&#039;une compilation|Fichiers de packages créés lors d&#039;une compilation]]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Fichier d&#039;en-tete C++ (*.h, *.hpp)}}&lt;br /&gt;
[[Category:Référence EDI]]&lt;br /&gt;
[[Category:XE7]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:C++ Header File (*.h, *.hpp)]]&lt;br /&gt;
[[de:C++-Header-Datei]]&lt;br /&gt;
[[ja:C++ ヘッダー ファイル]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Routines_intrins%C3%A8ques_de_Delphi&amp;diff=218930</id>
		<title>Routines intrinsèques de Delphi</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Routines_intrins%C3%A8ques_de_Delphi&amp;diff=218930"/>
		<updated>2026-05-09T03:34:58Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Catégories de l&#039;API - Index}}&lt;br /&gt;
Cette rubrique liste les routines intrinsèques de Delphi uniquement, exposées par l&#039;unité &amp;lt;code&amp;gt;System&amp;lt;/code&amp;gt;. Ces routines intrinsèques sont réellement gérées par le compilateur, au lieu de la bibliothèque d&#039;exécution. Le tableau spécifie également quel compilateur prend en charge chaque fonction&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039; Routine &#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039; Description &#039;&#039;&#039;&lt;br /&gt;
![[DCC32.EXE, le compilateur en ligne de commande Delphi|DCC32]]&lt;br /&gt;
![[DCC64.EXE, le compilateur en ligne de commande Delphi 64 bits|DCC64]]&lt;br /&gt;
![[DCCOSX64.EXE, le compilateur Delphi pour macOS 64 bits|DCCOSX64]]&lt;br /&gt;
![[DCCAARM.EXE, le compilateur Delphi pour Android|DCCAARM]]&lt;br /&gt;
![[DCCIOSARM64.EXE, le compilateur Delphi pour le périphérique iOS 64 bits|DCCIOSARM64]]&lt;br /&gt;
![[DCCLINUX64.EXE, le compilateur Delphi pour Linux|DCCLINUX64]]&lt;br /&gt;
![[DCCAARM64.EXE, le compilateur Delphi pour Android 64 bits|DCCAARM64]]&lt;br /&gt;
![[DCCOSXARM64.EXE, le compilateur Delphi pour le périphérique macOS 64 bits|DCCOSXARM64]]&lt;br /&gt;
![[DCCIOSSIMARM64.EXE, le compilateur Delphi pour le simulateur iOS 64 bits ARM|DCCIOSSIMARM64]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Abs|System.Abs]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie une valeur absolue.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Addr|System.Addr]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie un pointeur sur un objet spécifié.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Append|System.Append]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Prépare un fichier existant pour l&#039;ajout de texte.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Assert|System.Assert]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Teste si une expression booléenne vaut true.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Assign|System.Assign]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Associe le nom d&#039;un fichier externe à une variable fichier.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Assigned|System.Assigned]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Teste un pointeur nil (non assigné) ou une variable procédurale.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.AssignFile|System.AssignFile]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Associe le nom d&#039;un fichier externe à une variable fichier.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.AtomicCmpExchange|System.AtomicCmpExchange]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
AtomicCmpExchange est utilisé pour comparer et échanger des valeurs en mémoire.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.AtomicDecrement|System.AtomicDecrement]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
AtomicDecrement est utilisé pour décrémenter les valeurs en mémoire.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.AtomicExchange|System.AtomicExchange]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
AtomicExchange est utilisé pour échanger les valeurs en mémoire.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.AtomicIncrement|System.AtomicIncrement]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
AtomicDecrement est utilisé pour incrémenter les valeurs en mémoire. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.BlockRead|System.BlockRead]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Lit un ou plusieurs enregistrements d&#039;un fichier ouvert et les place dans une variable.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.BlockWrite|System.BlockWrite]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Ecrit un ou plusieurs enregistrements d&#039;une variable mémoire dans un fichier ouvert.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Break|System.Break]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Provoque l&#039;interruption d&#039;une boucle for, while ou repeat.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.BuiltInArcTan|System.BuiltInArcTan]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Calcule l&#039;arc-tangente de la valeur donnée. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|  &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
      [[lib_fr:System.BuiltInArcTan2|System.BuiltInArcTan2]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Calcule l&#039;angle et le quadrant d&#039;arc-tangente de la valeur donnée. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
      [[lib_fr:System.BuiltInCos|System.BuiltInCos]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Calcule le cosinus d&#039;un angle. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
      [[lib_fr:System.BuiltInLn|System.BuiltInLn]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Calcule le logarithme naturel d&#039;une expression réelle. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
      [[lib_fr:System.BuiltInLnXPlus1|System.BuiltInLnXPlus1]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Calcule le logarithme naturel de (X+1). &lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
      [[lib_fr:System.BuiltInLog10|System.BuiltInLog10]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Calcule le logarithme en base 10. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
      [[lib_fr:System.BuiltInLog2|System.BuiltInLog2]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Calcule le logarithme en base 2. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
      [[lib_fr:System.BuiltInSin|System.BuiltInSin]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Calcule le sinus de l&#039;angle. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
      [[lib_fr:System.BuiltInSqrt|System.BuiltInSqrt]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Calcule la racine carrée de X. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
      [[lib_fr:System.BuiltInTan|System.BuiltInTan]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Calcule la tangente de X. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
      [[lib_fr:System.Chr|System.Chr]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie le caractère correspondant à une valeur ASCII.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Close|System.Close]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Ferme l&#039;association entre une variable fichier et un fichier externe.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.CloseFile|System.CloseFile]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Ferme l&#039;association entre une variable fichier et un fichier disque externe.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Concat|System.Concat]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Concatène deux chaînes ou plus.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Continue|System.Continue]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Provoque le passage du contrôle de l&#039;exécution à l&#039;itération suivante dans une instruction for, while ou repeat.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Copy|System.Copy]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie une sous-chaîne d&#039;une chaîne ou un segment d&#039;un tableau dynamique.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Dec|System.Dec]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Décrémente une variable de 1 ou de N.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Default|System.Default]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie la représentation zéro de l&#039;identificateur de type &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Delete|System.Delete]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Retire une sous-chaîne d&#039;une chaîne.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Dispose|System.Dispose]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Libère la mémoire allouée à une variable dynamique.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Eof|System.Eof]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Détermine si la position en cours du pointeur se trouve en fin de fichier.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Eoln|System.Eoln]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Détermine si le pointeur de fichier se trouve en fin de ligne.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Erase|System.Erase]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Supprime un fichier externe.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Exclude|System.Exclude]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Retire un élément d&#039;un ensemble {{Delphi}}. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Exit|System.Exit]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Quitte la procédure en cours.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Fail|System.Fail]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Annule la construction d&#039;un objet (modèle d&#039;objet Turbo Pascal).&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.FilePos|System.FilePos]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie la position en cours dans un fichier.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.FileSize|System.FileSize]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie le nombre d&#039;enregistrements d&#039;un fichier.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.FillChar|System.FillChar]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Remplit des octets contigus avec une valeur spécifiée.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Finalize|System.Finalize]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Désinitialise une variable allouée dynamiquement.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Flush|System.Flush]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Efface le tampon associé à un fichier texte ouvert en sortie.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.FreeMem|System.FreeMem]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
FreeMem libère un bloc de mémoire.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.GetDir|System.GetDir]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie le répertoire en cours.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.GetMem|System.GetMem]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
GetMem alloue un bloc de mémoire.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.GetTypeKind|System.GetTypeKind]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie les informations de type à l&#039;exécution (RTTI) d&#039;un type donné.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Halt|System.Halt]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Initie la terminaison anormale d&#039;un programme.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.HasWeakRef|System.HasWeakRef]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie &#039;&#039;&#039;True&#039;&#039;&#039; si le type &#039;&#039;&#039;T&#039;&#039;&#039; est de type &#039;&#039;&#039;WEAKREF&#039;&#039;&#039;.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Hi|System.Hi]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie l&#039;octet de poids fort de X comme valeur non signée.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.High|System.High]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie la plus grande valeur dans l&#039;étendue d&#039;un argument.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Inc|System.Inc]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Incrémente une valeur ordinale (X) de 1 ou de N.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Include|System.Include]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Ajoute un élément à un ensemble {{Delphi}}. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Initialize|System.Initialize]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Initialise une variable allouée dynamiquement.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Insert|System.Insert]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Insère une sous-chaîne dans une chaîne commençant au point spécifié.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.IsConstValue|System.IsConstValue]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie le type de données booléen d&#039;une &amp;lt;code&amp;gt;valeur&amp;lt;/code&amp;gt;.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.IsManagedType|System.IsManagedType]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie true si &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt; est une &amp;lt;code&amp;gt;interface&amp;lt;/code&amp;gt;, une &amp;lt;code&amp;gt;chaîne&amp;lt;/code&amp;gt;, un &amp;lt;code&amp;gt;tableau dynamique&amp;lt;/code&amp;gt; ou un enregistrement contenant ces éléments. Une classe contenant un type géré renvoie false.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Length|System.Length]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie le nombre de caractères d&#039;une chaîne ou d&#039;éléments d&#039;un tableau.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Lo|System.Lo]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie l&#039;octet de poids faible de l&#039;argument X.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Low|System.Low]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie la valeur la moins élevée d&#039;une étendue.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.MemoryBarrier|System.MemoryBarrier]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Applique une contrainte de classement sur les opérations en mémoire. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.MulDivInt64|System.MulDivInt64]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie la valeur de cette expression : {{Code|Int64((Int128(AValue) * Int128(AMul)) div Int128(ADiv))}}.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.New|System.New]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Crée une nouvelle variable dynamique et initialise P de telle façon qu&#039;il pointe dessus.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Odd|System.Odd]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie true si l&#039;argument est un nombre impair.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Ord|System.Ord]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie la valeur ordinale d’une expression de type ordinal. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Pi|System.Pi]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie 3.1415926535897932385&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Pred|System.Pred]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie le prédécesseur de l&#039;argument.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Ptr|System.Ptr]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Convertit l&#039;adresse spécifiée en pointeur.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Read|System.Read]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Read lit les données d&#039;un fichier.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Readln|System.Readln]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Lit une ligne de texte dans un fichier.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.ReallocMem|System.ReallocMem]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
ReallocMem réalloue un bloc de mémoire.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Rename|System.Rename]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renomme un fichier externe.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Reset|System.Reset]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Ouvre un fichier existant.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.ReturnAddress|System.ReturnAddress]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie l&#039;adresse de retour de la fonction actuellement exécutée.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Rewrite|System.Rewrite]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Crée puis ouvre un nouveau fichier.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Round|System.Round]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie la valeur de X arrondie au plus proche entier.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.RunError|System.RunError]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Interrompt l&#039;exécution et génère une erreur d&#039;exécution.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Seek|System.Seek]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Déplace la position en cours dans un fichier vers le composant spécifié.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.SeekEof|System.SeekEof]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie le statut de fin de fichier, en ignorant les espaces.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.SeekEoln|System.SeekEoln]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie l&#039;état de fin de ligne d&#039;un fichier, en ignorant les espaces.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.SetLength|System.SetLength]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définit la longueur d&#039;une variable chaîne ou tableau dynamique.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.SetString|System.SetString]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définit le contenu et la longueur de la chaîne donnée.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.SetTextBuf|System.SetTextBuf]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Assigne un tampon d&#039;E/S à un fichier texte. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.SizeOf|System.SizeOf]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie le nombre d&#039;octets occupés par une variable ou un type.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Slice|System.Slice]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie une sous-section d&#039;un tableau.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Sqr|System.Sqr]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie le carré d&#039;un nombre.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Str|System.Str]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Formate une chaîne et la renvoie dans une variable.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Succ|System.Succ]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie le successeur de l&#039;argument.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Swap|System.Swap]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Inverse les octets de poids fort avec les octets de poids faible d&#039;un entier ou d&#039;un mot.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Trunc|System.Trunc]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Tronque un nombre réel en entier.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Truncate|System.Truncate]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Supprime tous les enregistrements situés après la position en cours dans le fichier. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.TypeHandle|System.TypeHandle]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie les informations de type à l&#039;exécution (RTTI) d&#039;un type donné.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.TypeInfo|System.TypeInfo]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie les informations de type à l&#039;exécution (RTTI) d&#039;un type donné.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.TypeOf|System.TypeOf]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Routine désapprouvée.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Val|System.Val]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Convertit une chaîne en sa représentation numérique.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.VarArrayRedim|System.VarArrayRedim]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Redimensionne un tableau de Variants.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.VarCast|System.VarCast]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Convertit un variant dans le type spécifié.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.VarClear|System.VarClear]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vide un Variant afin qu&#039;il soit non assigné. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.VarCopy|System.VarCopy]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Copie un Variant dans un autre Variant.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Write|System.Write]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Ecrit dans un fichier typé ou dans un fichier texte.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Writeln|System.Writeln]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Ecrit dans un fichier texte et ajoute un marqueur de fin de ligne.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Catégories de l&#039;API - Index|Catégories de l&#039;API - Index]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Référence RAD Studio]]&lt;br /&gt;
[[Category:Référence RTL]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Routines_intrins%C3%A8ques_de_Delphi&amp;diff=218929</id>
		<title>Routines intrinsèques de Delphi</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Routines_intrins%C3%A8ques_de_Delphi&amp;diff=218929"/>
		<updated>2026-05-09T03:34:56Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Catégories de l&#039;API - Index}}&lt;br /&gt;
Cette rubrique liste les routines intrinsèques de Delphi uniquement, exposées par l&#039;unité &amp;lt;code&amp;gt;System&amp;lt;/code&amp;gt;. Ces routines intrinsèques sont réellement gérées par le compilateur, au lieu de la bibliothèque d&#039;exécution. Le tableau spécifie également quel compilateur prend en charge chaque fonction&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039; Routine &#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039; Description &#039;&#039;&#039;&lt;br /&gt;
![[DCC32.EXE, le compilateur en ligne de commande Delphi|DCC32]]&lt;br /&gt;
![[DCC64.EXE, le compilateur en ligne de commande Delphi 64 bits|DCC64]]&lt;br /&gt;
![[DCCOSX64.EXE, le compilateur Delphi pour macOS 64 bits|DCCOSX64]]&lt;br /&gt;
![[DCCAARM.EXE, le compilateur Delphi pour Android|DCCAARM]]&lt;br /&gt;
![[DCCIOSARM64.EXE, le compilateur Delphi pour le périphérique iOS 64 bits|DCCIOSARM64]]&lt;br /&gt;
![[DCCLINUX64.EXE, le compilateur Delphi pour Linux|DCCLINUX64]]&lt;br /&gt;
![[DCCAARM64.EXE, le compilateur Delphi pour Android 64 bits|DCCAARM64]]&lt;br /&gt;
![[DCCOSXARM64.EXE, le compilateur Delphi pour le périphérique macOS 64 bits|DCCOSXARM64]]&lt;br /&gt;
![[DCCIOSSIMARM64.EXE, le compilateur Delphi pour le simulateur iOS 64 bits ARM|DCCIOSSIMARM64]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Abs|System.Abs]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie une valeur absolue.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Addr|System.Addr]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie un pointeur sur un objet spécifié.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Append|System.Append]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Prépare un fichier existant pour l&#039;ajout de texte.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Assert|System.Assert]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Teste si une expression booléenne vaut true.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Assign|System.Assign]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Associe le nom d&#039;un fichier externe à une variable fichier.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Assigned|System.Assigned]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Teste un pointeur nil (non assigné) ou une variable procédurale.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.AssignFile|System.AssignFile]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Associe le nom d&#039;un fichier externe à une variable fichier.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.AtomicCmpExchange|System.AtomicCmpExchange]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
AtomicCmpExchange est utilisé pour comparer et échanger des valeurs en mémoire.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.AtomicDecrement|System.AtomicDecrement]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
AtomicDecrement est utilisé pour décrémenter les valeurs en mémoire.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.AtomicExchange|System.AtomicExchange]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
AtomicExchange est utilisé pour échanger les valeurs en mémoire.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.AtomicIncrement|System.AtomicIncrement]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
AtomicDecrement est utilisé pour incrémenter les valeurs en mémoire. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.BlockRead|System.BlockRead]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Lit un ou plusieurs enregistrements d&#039;un fichier ouvert et les place dans une variable.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.BlockWrite|System.BlockWrite]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Ecrit un ou plusieurs enregistrements d&#039;une variable mémoire dans un fichier ouvert.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Break|System.Break]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Provoque l&#039;interruption d&#039;une boucle for, while ou repeat.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.BuiltInArcTan|System.BuiltInArcTan]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Calcule l&#039;arc-tangente de la valeur donnée. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|  &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
      [[lib_fr:System.BuiltInArcTan2|System.BuiltInArcTan2]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Calcule l&#039;angle et le quadrant d&#039;arc-tangente de la valeur donnée. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
      [[lib_fr:System.BuiltInCos|System.BuiltInCos]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Calcule le cosinus d&#039;un angle. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
      [[lib_fr:System.BuiltInLn|System.BuiltInLn]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Calcule le logarithme naturel d&#039;une expression réelle. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
      [[lib_fr:System.BuiltInLnXPlus1|System.BuiltInLnXPlus1]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Calcule le logarithme naturel de (X+1). &lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
      [[lib_fr:System.BuiltInLog10|System.BuiltInLog10]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Calcule le logarithme en base 10. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
      [[lib_fr:System.BuiltInLog2|System.BuiltInLog2]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Calcule le logarithme en base 2. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
      [[lib_fr:System.BuiltInSin|System.BuiltInSin]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Calcule le sinus de l&#039;angle. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
      [[lib_fr:System.BuiltInSqrt|System.BuiltInSqrt]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Calcule la racine carrée de X. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
      [[lib_fr:System.BuiltInTan|System.BuiltInTan]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Calcule la tangente de X. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
      [[lib_fr:System.Chr|System.Chr]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie le caractère correspondant à une valeur ASCII.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Close|System.Close]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Ferme l&#039;association entre une variable fichier et un fichier externe.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.CloseFile|System.CloseFile]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Ferme l&#039;association entre une variable fichier et un fichier disque externe.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Concat|System.Concat]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Concatène deux chaînes ou plus.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Continue|System.Continue]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Provoque le passage du contrôle de l&#039;exécution à l&#039;itération suivante dans une instruction for, while ou repeat.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Copy|System.Copy]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie une sous-chaîne d&#039;une chaîne ou un segment d&#039;un tableau dynamique.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Dec|System.Dec]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Décrémente une variable de 1 ou de N.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Default|System.Default]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie la représentation zéro de l&#039;identificateur de type &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Delete|System.Delete]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Retire une sous-chaîne d&#039;une chaîne.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Dispose|System.Dispose]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Libère la mémoire allouée à une variable dynamique.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Eof|System.Eof]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Détermine si la position en cours du pointeur se trouve en fin de fichier.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Eoln|System.Eoln]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Détermine si le pointeur de fichier se trouve en fin de ligne.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Erase|System.Erase]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Supprime un fichier externe.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Exclude|System.Exclude]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Retire un élément d&#039;un ensemble {{Delphi}}. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Exit|System.Exit]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Quitte la procédure en cours.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Fail|System.Fail]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Annule la construction d&#039;un objet (modèle d&#039;objet Turbo Pascal).&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.FilePos|System.FilePos]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie la position en cours dans un fichier.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.FileSize|System.FileSize]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie le nombre d&#039;enregistrements d&#039;un fichier.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.FillChar|System.FillChar]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Remplit des octets contigus avec une valeur spécifiée.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Finalize|System.Finalize]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Désinitialise une variable allouée dynamiquement.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Flush|System.Flush]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Efface le tampon associé à un fichier texte ouvert en sortie.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.FreeMem|System.FreeMem]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
FreeMem libère un bloc de mémoire.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.GetDir|System.GetDir]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie le répertoire en cours.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.GetMem|System.GetMem]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
GetMem alloue un bloc de mémoire.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.GetTypeKind|System.GetTypeKind]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie les informations de type à l&#039;exécution (RTTI) d&#039;un type donné.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Halt|System.Halt]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Initie la terminaison anormale d&#039;un programme.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.HasWeakRef|System.HasWeakRef]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie &#039;&#039;&#039;True&#039;&#039;&#039; si le type &#039;&#039;&#039;T&#039;&#039;&#039; est de type &#039;&#039;&#039;WEAKREF&#039;&#039;&#039;.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Hi|System.Hi]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie l&#039;octet de poids fort de X comme valeur non signée.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.High|System.High]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie la plus grande valeur dans l&#039;étendue d&#039;un argument.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Inc|System.Inc]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Incrémente une valeur ordinale (X) de 1 ou de N.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Include|System.Include]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Ajoute un élément à un ensemble {{Delphi}}. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Initialize|System.Initialize]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Initialise une variable allouée dynamiquement.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Insert|System.Insert]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Insère une sous-chaîne dans une chaîne commençant au point spécifié.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.IsConstValue|System.IsConstValue]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie le type de données booléen d&#039;une &amp;lt;code&amp;gt;valeur&amp;lt;/code&amp;gt;.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.IsManagedType|System.IsManagedType]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie true si &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt; est une &amp;lt;code&amp;gt;interface&amp;lt;/code&amp;gt;, une &amp;lt;code&amp;gt;chaîne&amp;lt;/code&amp;gt;, un &amp;lt;code&amp;gt;tableau dynamique&amp;lt;/code&amp;gt; ou un enregistrement contenant ces éléments. Une classe contenant un type géré renvoie false.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Length|System.Length]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie le nombre de caractères d&#039;une chaîne ou d&#039;éléments d&#039;un tableau.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Lo|System.Lo]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie l&#039;octet de poids faible de l&#039;argument X.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Low|System.Low]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie la valeur la moins élevée d&#039;une étendue.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.MemoryBarrier|System.MemoryBarrier]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Applique une contrainte de classement sur les opérations en mémoire. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.MulDivInt64|System.MulDivInt64]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie la valeur de cette expression : {{Code|Int64((Int128(AValue) * Int128(AMul)) div Int128(ADiv))}}.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.New|System.New]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Crée une nouvelle variable dynamique et initialise P de telle façon qu&#039;il pointe dessus.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Odd|System.Odd]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie true si l&#039;argument est un nombre impair.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Ord|System.Ord]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie la valeur ordinale d’une expression de type ordinal. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Pi|System.Pi]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie 3.1415926535897932385&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Pred|System.Pred]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie le prédécesseur de l&#039;argument.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Ptr|System.Ptr]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Convertit l&#039;adresse spécifiée en pointeur.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Read|System.Read]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Read lit les données d&#039;un fichier.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Readln|System.Readln]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Lit une ligne de texte dans un fichier.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.ReallocMem|System.ReallocMem]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
ReallocMem réalloue un bloc de mémoire.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Rename|System.Rename]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renomme un fichier externe.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Reset|System.Reset]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Ouvre un fichier existant.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.ReturnAddress|System.ReturnAddress]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie l&#039;adresse de retour de la fonction actuellement exécutée.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Rewrite|System.Rewrite]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Crée puis ouvre un nouveau fichier.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Round|System.Round]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie la valeur de X arrondie au plus proche entier.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.RunError|System.RunError]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Interrompt l&#039;exécution et génère une erreur d&#039;exécution.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Seek|System.Seek]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Déplace la position en cours dans un fichier vers le composant spécifié.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.SeekEof|System.SeekEof]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie le statut de fin de fichier, en ignorant les espaces.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.SeekEoln|System.SeekEoln]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie l&#039;état de fin de ligne d&#039;un fichier, en ignorant les espaces.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.SetLength|System.SetLength]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définit la longueur d&#039;une variable chaîne ou tableau dynamique.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.SetString|System.SetString]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définit le contenu et la longueur de la chaîne donnée.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.SetTextBuf|System.SetTextBuf]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Assigne un tampon d&#039;E/S à un fichier texte. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.SizeOf|System.SizeOf]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie le nombre d&#039;octets occupés par une variable ou un type.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Slice|System.Slice]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie une sous-section d&#039;un tableau.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Sqr|System.Sqr]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie le carré d&#039;un nombre.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Str|System.Str]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Formate une chaîne et la renvoie dans une variable.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Succ|System.Succ]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie le successeur de l&#039;argument.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Swap|System.Swap]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Inverse les octets de poids fort avec les octets de poids faible d&#039;un entier ou d&#039;un mot.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Trunc|System.Trunc]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Tronque un nombre réel en entier.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Truncate|System.Truncate]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Supprime tous les enregistrements situés après la position en cours dans le fichier. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.TypeHandle|System.TypeHandle]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie les informations de type à l&#039;exécution (RTTI) d&#039;un type donné.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.TypeInfo|System.TypeInfo]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Renvoie les informations de type à l&#039;exécution (RTTI) d&#039;un type donné.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.TypeOf|System.TypeOf]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Routine désapprouvée.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Val|System.Val]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Convertit une chaîne en sa représentation numérique.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.VarArrayRedim|System.VarArrayRedim]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Redimensionne un tableau de Variants.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.VarCast|System.VarCast]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Convertit un variant dans le type spécifié.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.VarClear|System.VarClear]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vide un Variant afin qu&#039;il soit non assigné. &lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.VarCopy|System.VarCopy]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Copie un Variant dans un autre Variant.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Write|System.Write]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Ecrit dans un fichier typé ou dans un fichier texte.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
[[lib_fr:System.Writeln|System.Writeln]]&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Ecrit dans un fichier texte et ajoute un marqueur de fin de ligne.&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Catégories de l&#039;API - Index|Catégories de l&#039;API - Index]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Référence RAD Studio]]&lt;br /&gt;
[[Category:Référence RTL]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Style_EDI&amp;diff=218928</id>
		<title>Style EDI</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Style_EDI&amp;diff=218928"/>
		<updated>2026-05-09T03:34:56Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Interface utilisateur}}&lt;br /&gt;
&lt;br /&gt;
{{Menu|Outils &amp;amp;gt; Options &amp;amp;gt; Interface utilisateur &amp;amp;gt; Style de l&#039;EDI}}&lt;br /&gt;
&lt;br /&gt;
La fenêtre Style de l&#039;EDI vous permet d&#039;appliquer différents thèmes à l&#039;EDI avec un schéma de couleurs spécifique à chaque thème. Vous obtenez une apparence adaptée à une utilisation prolongée ou à un environnement à faible luminosité.&lt;br /&gt;
&lt;br /&gt;
Dans la fenêtre Style de l&#039;EDI, vous pouvez choisir d&#039;appliquer l&#039;un des thèmes suivants :&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Clair&#039;&#039;&#039; : style par défaut de l&#039;EDI. Applique un schéma de couleurs blanc.&lt;br /&gt;
* &#039;&#039;&#039;Foncé/Sombre&#039;&#039;&#039; : applique un schéma de couleurs avec un arrière-plan foncé, adapté à une utilisation de nuit.&lt;br /&gt;
* &#039;&#039;&#039;Mountain Mist&#039;&#039;&#039; : applique un schéma de couleurs clair, semblable au style Clair, mais avec des couleurs plus douces.&lt;br /&gt;
* &#039;&#039;&#039;Style VCL personnalisé&#039;&#039;&#039; : cette option vous permet de choisir un style VCL dans une liste déroulante. Vous disposez de nombreuses options pour personnaliser l&#039;EDI à votre convenance. Cela vous permet de combiner notamment les styles précédemment mentionnés.&lt;br /&gt;
&lt;br /&gt;
De plus, au-dessus de ces options, vous pouvez activer l&#039;option &#039;&#039;&#039;Faire correspondre au thème Windows&#039;&#039;&#039; si vous voulez que votre style de l&#039;EDI corresponde à celui de votre système d&#039;exploitation Windows. Une fois le style sélectionné, cliquez sur &#039;&#039;&#039;Enregistrer&#039;&#039;&#039; pour l&#039;appliquer et voir les modifications.&lt;br /&gt;
&lt;br /&gt;
[[File:IDE Style.png|link=|border]]&lt;br /&gt;
&lt;br /&gt;
{{Note| La case à cocher &#039;&#039;&#039;Faire correspondre au thème Windows&#039;&#039;&#039; est activée par défaut.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comme alternative, vous pouvez aussi activer l&#039;une de ces options dans le menu de la liste déroulante disponible sur la barre supérieure, à côté de la zone de liste déroulante des dispositions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:IDEstyle.png|link=|border]]&lt;br /&gt;
&lt;br /&gt;
{{Remarque|Les paramètres relatifs au thème de l&#039;EDI n&#039;affectent pas les concepteurs de fiche VCL et FireMonkey. Ils gardent leur apparence existante.}}&lt;br /&gt;
&lt;br /&gt;
==SpeedSetting de couleur pour l&#039;éditeur et l&#039;inspecteur d&#039;objets==&lt;br /&gt;
&lt;br /&gt;
Sous chaque option de style, vous pouvez sélectionner des préférences de schéma de couleurs dans les listes déroulantes &#039;&#039;&#039;Option prédéfinie de l&#039;éditeur de couleurs&#039;&#039;&#039; et &#039;&#039;&#039;Option prédéfinie de l&#039;inspecteur d&#039;objets&#039;&#039;&#039; pour le thème sélectionné. Cela vous permet de personnaliser davantage les préférences de couleurs appliquées à votre schéma de couleurs, de modifier les couleurs des fontes de l&#039;EDI, et aussi les couleurs d&#039;arrière-plan. {{Product}} {{Version}} assigne automatiquement un réglage prédéfini différent pour l&#039;éditeur et l&#039;inspecteur d&#039;objets afin qu&#039;ils correspondent au schéma de couleurs choisi.&lt;br /&gt;
&lt;br /&gt;
Quel que soit le thème sélectionné, vous pouvez sélectionner n&#039;importe quel schéma de couleurs dans les options prédéfinies de l&#039;éditeur de couleurs et de l&#039;inspecteur d&#039;objets. Vous pouvez ensuite le personnaliser davantage si vous choisissez &#039;&#039;&#039;Style VCL personnalisé&#039;&#039;&#039; comme style préféré, car il offre des combinaisons quasiment illimitées. Par ailleurs, ces options sont également accessibles via l&#039;option &#039;&#039;&#039;Editeur&#039;&#039;&#039; dans la liste déroulante de la barre supérieure, à côté de la zone de liste déroulante présentée ci-dessus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;• Le thème sombre a été développé pour Embarcadero par [http://www.delphistyles.com DelphiStyles.com]&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Style_EDI&amp;diff=218927</id>
		<title>Style EDI</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Style_EDI&amp;diff=218927"/>
		<updated>2026-05-09T03:34:56Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Interface utilisateur}}&lt;br /&gt;
&lt;br /&gt;
{{Menu|Outils &amp;amp;gt; Options &amp;amp;gt; Interface utilisateur &amp;amp;gt; Style de l&#039;EDI}}&lt;br /&gt;
&lt;br /&gt;
La fenêtre Style de l&#039;EDI vous permet d&#039;appliquer différents thèmes à l&#039;EDI avec un schéma de couleurs spécifique à chaque thème. Vous obtenez une apparence adaptée à une utilisation prolongée ou à un environnement à faible luminosité.&lt;br /&gt;
&lt;br /&gt;
Dans la fenêtre Style de l&#039;EDI, vous pouvez choisir d&#039;appliquer l&#039;un des thèmes suivants :&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Clair&#039;&#039;&#039; : style par défaut de l&#039;EDI. Applique un schéma de couleurs blanc.&lt;br /&gt;
* &#039;&#039;&#039;Foncé/Sombre&#039;&#039;&#039; : applique un schéma de couleurs avec un arrière-plan foncé, adapté à une utilisation de nuit.&lt;br /&gt;
* &#039;&#039;&#039;Mountain Mist&#039;&#039;&#039; : applique un schéma de couleurs clair, semblable au style Clair, mais avec des couleurs plus douces.&lt;br /&gt;
* &#039;&#039;&#039;Style VCL personnalisé&#039;&#039;&#039; : cette option vous permet de choisir un style VCL dans une liste déroulante. Vous disposez de nombreuses options pour personnaliser l&#039;EDI à votre convenance. Cela vous permet de combiner notamment les styles précédemment mentionnés.&lt;br /&gt;
&lt;br /&gt;
De plus, au-dessus de ces options, vous pouvez activer l&#039;option &#039;&#039;&#039;Faire correspondre au thème Windows&#039;&#039;&#039; si vous voulez que votre style de l&#039;EDI corresponde à celui de votre système d&#039;exploitation Windows. Une fois le style sélectionné, cliquez sur &#039;&#039;&#039;Enregistrer&#039;&#039;&#039; pour l&#039;appliquer et voir les modifications.&lt;br /&gt;
&lt;br /&gt;
[[File:IDE Style.png|link=|border]]&lt;br /&gt;
&lt;br /&gt;
{{Note| La case à cocher &#039;&#039;&#039;Faire correspondre au thème Windows&#039;&#039;&#039; est activée par défaut.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comme alternative, vous pouvez aussi activer l&#039;une de ces options dans le menu de la liste déroulante disponible sur la barre supérieure, à côté de la zone de liste déroulante des dispositions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:IDEstyle.png|link=|border]]&lt;br /&gt;
&lt;br /&gt;
{{Remarque|Les paramètres relatifs au thème de l&#039;EDI n&#039;affectent pas les concepteurs de fiche VCL et FireMonkey. Ils gardent leur apparence existante.}}&lt;br /&gt;
&lt;br /&gt;
==SpeedSetting de couleur pour l&#039;éditeur et l&#039;inspecteur d&#039;objets==&lt;br /&gt;
&lt;br /&gt;
Sous chaque option de style, vous pouvez sélectionner des préférences de schéma de couleurs dans les listes déroulantes &#039;&#039;&#039;Option prédéfinie de l&#039;éditeur de couleurs&#039;&#039;&#039; et &#039;&#039;&#039;Option prédéfinie de l&#039;inspecteur d&#039;objets&#039;&#039;&#039; pour le thème sélectionné. Cela vous permet de personnaliser davantage les préférences de couleurs appliquées à votre schéma de couleurs, de modifier les couleurs des fontes de l&#039;EDI, et aussi les couleurs d&#039;arrière-plan. {{Product}} {{Version}} assigne automatiquement un réglage prédéfini différent pour l&#039;éditeur et l&#039;inspecteur d&#039;objets afin qu&#039;ils correspondent au schéma de couleurs choisi.&lt;br /&gt;
&lt;br /&gt;
Quel que soit le thème sélectionné, vous pouvez sélectionner n&#039;importe quel schéma de couleurs dans les options prédéfinies de l&#039;éditeur de couleurs et de l&#039;inspecteur d&#039;objets. Vous pouvez ensuite le personnaliser davantage si vous choisissez &#039;&#039;&#039;Style VCL personnalisé&#039;&#039;&#039; comme style préféré, car il offre des combinaisons quasiment illimitées. Par ailleurs, ces options sont également accessibles via l&#039;option &#039;&#039;&#039;Editeur&#039;&#039;&#039; dans la liste déroulante de la barre supérieure, à côté de la zone de liste déroulante présentée ci-dessus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;• Le thème sombre a été développé pour Embarcadero par [http://www.delphistyles.com DelphiStyles.com]&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Extensions_des_fichiers_g%C3%A9n%C3%A9r%C3%A9s_par_RAD_Studio&amp;diff=218926</id>
		<title>Extensions des fichiers générés par RAD Studio</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Extensions_des_fichiers_g%C3%A9n%C3%A9r%C3%A9s_par_RAD_Studio&amp;diff=218926"/>
		<updated>2026-05-09T03:34:56Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Types de fichiers - Index}}&lt;br /&gt;
&lt;br /&gt;
Le tableau suivant présente la liste des extensions de fichiers générées par {{Variables|Product}}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;{{Note| MSBuild requiert que l&#039;extension de tous les fichiers projet se termine par &#039;proj&#039; (par exemple, MSBuild utilise le masque &amp;lt;code&amp;gt;*.*proj&amp;lt;/code&amp;gt;).}}&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le tableau suivant explique les différentes valeurs de la colonne &#039;&#039;&#039;&amp;quot;Conserver dans le VCS ?&amp;quot;&#039;&#039;&#039; du tableau ci-dessous :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Valeur&lt;br /&gt;
!Description&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|&lt;br /&gt;
Vous devez conserver ce fichier sous contrôle de version.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|&lt;br /&gt;
Vous ne devez pas conserver ce fichier sous contrôle de version.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Facultativement&lt;br /&gt;
|&lt;br /&gt;
Vous pouvez conserver ce fichier sous contrôle de version si vous souhaitez que toute votre équipe l&#039;utilise, mais vous pouvez aussi le garder pour vous.&lt;br /&gt;
Par exemple, si vous voulez que les membres de votre équipe utilisent les mêmes options CodeGuard pour votre projet, vous pouvez conserver le fichier {{Path|.cgi}} généré sous contrôle de version. Si vous voulez laisser les membres de votre équipe utiliser leurs propres paramètres CodeGuard pour votre projet, n&#039;ajoutez pas le fichier {{Path|.cgi}} à votre système de contrôle de version.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|&lt;br /&gt;
Vous ne devez conserver ce fichier sous contrôle de version que s&#039;il est requis pour construire votre application et que votre projet ne le construit pas.&lt;br /&gt;
Par exemple, vous devez conserver les fichiers binaires des bibliothèques tierces parties si vous n&#039;avez pas leurs sources ou si votre projet ne construit pas ces bibliothèques. Cependant, si votre projet construit une bibliothèque, vous n&#039;avez pas besoin de conserver le fichier binaire de cette bibliothèque dans votre système de contrôle de version.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Extension de fichier&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Conserver dans le [[Gestionnaire de l&#039;historique|VCS]] ?&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 a&lt;br /&gt;
|&lt;br /&gt;
* &#039;&#039;libname.a&#039;&#039; : fichier de bibliothèque statique (format COFF) produit par le compilateur amélioré par Clang [[BCC64X|BCC64X]]. (Cette chaîne d&#039;outils supporte aussi lib ; voir ci-dessous.)&lt;br /&gt;
* &#039;&#039;Name.a&#039;&#039; : fichier bibliothèque statique (format ELF) produit par les [[Compilateurs C++ améliorés par Clang|compilateurs C++ améliorés par Clang]] tels que les [[Fichier de bibliothèque statique de package|fichiers de bibliothèque statique de package]].&lt;br /&gt;
&lt;br /&gt;
Pour de plus amples informations, voir :&lt;br /&gt;
*[[Compilation et construction des applications multi-périphériques|Compilation et construction des applications multi-périphériques]]&lt;br /&gt;
*[[Construction de packages statiques|Construction de packages statiques]]&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 apk&lt;br /&gt;
|&lt;br /&gt;
Fichier package d&#039;application Android. Voir [[Déploiement de votre application Android signée|Déploiement de votre application Android signée]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
 bdsproj&lt;br /&gt;
|&lt;br /&gt;
Fichier des options de projet pour BDS 2006 et version antérieure (remplacé par &amp;lt;code&amp;gt;.dproj&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;.cbproj&amp;lt;/code&amp;gt;).&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
 bdsgroup&lt;br /&gt;
|&lt;br /&gt;
Groupe de projets pour BDS 2006 et les produits antérieurs.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 bpi&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de bibliothèque d&#039;importation de package|Fichier de bibliothèque d&#039;importation de package]].&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 bpl&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de bibliothèque partagée de package|Fichier de bibliothèque partagée de package]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 cbproj&lt;br /&gt;
|&lt;br /&gt;
Fichier projet C++. Contient les paramètres en cours des options de projet, tels que les paramètres du compilateur et du lieur, les répertoires, les directives conditionnelles et les paramètres de la ligne de commande. (Définissez ces options à l&#039;aide de &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Projet &amp;amp;gt; Options&#039;&#039;&#039;&amp;lt;/font&amp;gt;.) A la compilation, produit un fichier &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.dll&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;.ocx&amp;lt;/code&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|cmd}}&lt;br /&gt;
|&lt;br /&gt;
 cfg&lt;br /&gt;
|&lt;br /&gt;
Fichier de configuration de projet utilisé pour les compilations en ligne de commande, comme suit :&lt;br /&gt;
*dcc32.cfg pour {{f|radstudio|dcc32.exe}}{{f|appmethod|Windows 32 bits }}&lt;br /&gt;
*dcc64.cfg pour {{f|radstudio|dcc64.exe}}{{f|appmethod|Windows 64 bits }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour Windows 32 bits, par exemple, le compilateur {{Delphi}} recherche un fichier &amp;lt;code&amp;gt;dcc32.cfg&amp;lt;/code&amp;gt; dans le répertoire de l&#039;exécutable du compilateur, puis un fichier &amp;lt;code&amp;gt;dcc32.cfg&amp;lt;/code&amp;gt; dans le répertoire en cours, et enfin un fichier &amp;lt;code&amp;gt;nomprojet.cfg&amp;lt;/code&amp;gt; dans le répertoire du projet. {{f|cmd|Vous pouvez taper &amp;lt;code&amp;gt;dcc32 nomprojet&amp;lt;/code&amp;gt; sur la ligne de commande et compiler le projet avec les options spécifiées dans l&#039;EDI. }}&lt;br /&gt;
|&lt;br /&gt;
Facultativement&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 cgi&lt;br /&gt;
|&lt;br /&gt;
Le fichier CG32.cgi contient les informations de configuration pour CodeGuard, un utilitaire utilisé pour le suivi des redéfinitions en mémoire dans des exécutables C++ liés statiquement. Voir [[Utilisation de CodeGuard|Utilisation de CodeGuard]].&lt;br /&gt;
|&lt;br /&gt;
Facultativement&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 cgl&lt;br /&gt;
|&lt;br /&gt;
CodeGuard génère un fichier journal, &amp;lt;code&amp;gt;&amp;amp;lt;nom_projet&amp;amp;gt;.cgl&amp;lt;/code&amp;gt;. Voir [[Présentation de CodeGuard|Présentation de CodeGuard]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 cpp&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;implémentation C++|Fichier d&#039;implémentation C++]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 csm&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête précompilé C++ (*.pch)|Fichier d&#039;en-tête précompilé C++]] dans les versions antérieures de {{CBuilder}}, comme C++Builder 5.&lt;br /&gt;
|&lt;br /&gt;
Facultativement&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 d&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de dépendance C++|Fichier de dépendance C++]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dcp&lt;br /&gt;
|&lt;br /&gt;
[[Fichier package compilé Delphi (*.dcp)|Fichier package compilé Delphi]].&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dcu&lt;br /&gt;
|&lt;br /&gt;
[[Fichier unité compilé Delphi (*.dcu)|Fichier unité compilé Delphi]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dct&lt;br /&gt;
|&lt;br /&gt;
Tous les changements de [[Création et utilisation des modèles de composants|modèles de composants]] que vous effectuez dans {{Product}} sont stockés dans {{Path|{{AppDataPath}}\bds.dct}}.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 deployproj&lt;br /&gt;
|&lt;br /&gt;
Le fichier de configuration du [[Gestionnaire de déploiement|Gestionnaire de déploiement]] pour votre projet.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
 dfm&lt;br /&gt;
|&lt;br /&gt;
Un fichier fiche VCL Windows.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dll&lt;br /&gt;
|&lt;br /&gt;
Un fichier bibliothèque de liaison dynamique. Pour de plus amples informations, voir [[Création de packages et de DLL|Création de packages et de DLL]].&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dpk&lt;br /&gt;
|&lt;br /&gt;
[[Fichier source de package Delphi|Fichier source de package Delphi]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dpr&lt;br /&gt;
|&lt;br /&gt;
Source de projet {{Delphi}}. A la compilation, produit un fichier &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.dll&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;.ocx&amp;lt;/code&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dproj&lt;br /&gt;
|&lt;br /&gt;
Fichier projet {{Delphi}} créé par l&#039;EDI. Contient les paramètres en cours des options de projet, tels que les paramètres du compilateur et du lieur, les répertoires, les directives conditionnelles et les paramètres de la ligne de commande. Définissez ces options avec &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Projet &amp;amp;gt; Options&#039;&#039;&#039;&amp;lt;/font&amp;gt;. Ce fichier n&#039;est pas utilisé lors de la compilation d&#039;un projet depuis la ligne de commande, avec le compilateur en ligne de commande.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 drc&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de chaînes de ressources Delphi (*.drc)|Fichier de chaînes de ressources Delphi]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dres&lt;br /&gt;
|&lt;br /&gt;
Fichier de ressources compilé {{Delphi}}. Cette extension est utilisée quand vous ajoutez une ressource à un projet, telle qu&#039;une icône ou une image. Le fichier &amp;lt;code&amp;gt;.dres&amp;lt;/code&amp;gt; est seulement utilisé lors de la liaison.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dsk&lt;br /&gt;
|&lt;br /&gt;
Fichier utilisé pour enregistrer le bureau du projet quand l&#039;option &#039;&#039;&#039;d&#039;auto-enregistrement Bureau du projet&#039;&#039;&#039; est activée sur &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Outils &amp;amp;gt; Options &amp;amp;gt; [[Options d&#039;environnement|Options d&#039;environnement]]&#039;&#039;&#039;&amp;lt;/font&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dst&lt;br /&gt;
|&lt;br /&gt;
Fichier utilisé pour enregistrer le paramètre de vitesse du bureau, comme défini dans la zone de liste déroulante bureau de la barre d&#039;outils de l&#039;EDI.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dsv&lt;br /&gt;
|&lt;br /&gt;
Fichier utilisé pour enregistrer l&#039;état des vues avant de fermer un projet lorsque l&#039;option &#039;&#039;&#039;Enregistrer l&#039;état de l&#039;éditeur à la fermeture d&#039;un onglet&#039;&#039;&#039; est activée {{Menu|Outils &amp;amp;gt; Options &amp;amp;gt; EDI &amp;amp;gt; [[Enregistrement et récupération#Auto-enregistrement|Enregistrement et récupération]]}}.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dwo&lt;br /&gt;
|&lt;br /&gt;
Fichier objet Split DWARF contenant des informations de débogage produites par le compilateur amélioré par Clang Windows 64 bits. Pour de plus amples informations, voir, [[Débogage des applications C++ Builder Windows 64 bits#Réduction de la consommation mémoire du lieur grâce à Split Dwarf|Split DWARF]]. &lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dSYM&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de débogage DSYM|Fichier de débogage dSYM]].&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dylib&lt;br /&gt;
|&lt;br /&gt;
Une bibliothèque dynamique (&amp;lt;code&amp;gt;.dll&amp;lt;/code&amp;gt;) ou un package (&amp;lt;code&amp;gt;.bpl&amp;lt;/code&amp;gt;) compilé pour la plate-forme macOS. Voir [[Applications multi-périphériques - Index|Applications multi-périphériques - Index]] et [[Compilation et construction des applications multi-périphériques#Fichiers de sortie pour les cibles multi-périphériques|Fichiers de sortie pour les cibles multi-périphériques]].&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dylib.rsm&lt;br /&gt;
|&lt;br /&gt;
Fichier de symboles de débogage distant pour {{Delphi}} pour macOS. Voir &amp;lt;code&amp;gt;.rsm&amp;lt;/code&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 entitlements&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des droits d&#039;application Apple (*.entitlements)|Fichier des droits d&#039;une application Apple]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 exe&lt;br /&gt;
|&lt;br /&gt;
Fichier exécutable Windows.&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 exe.incr&lt;br /&gt;
|&lt;br /&gt;
Informations de construction incrémentielle.&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&amp;lt;br /&amp;gt;&lt;br /&gt;
Facultativement&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 fmx&lt;br /&gt;
|&lt;br /&gt;
Fichier fiche multi-périphérique Voir [[Création d&#039;une application FireMonkey|Création d&#039;une application FireMonkey]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 fsf&lt;br /&gt;
|&lt;br /&gt;
Fichier de styles binaire {{FM}}. Similaire au fichier &amp;lt;code&amp;gt;.style&amp;lt;/code&amp;gt;. Voir [[Personnalisation des applications FireMonkey avec les styles|Personnalisation des applications FireMonkey avec les styles]].&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 groupproj&lt;br /&gt;
|&lt;br /&gt;
Groupe de projets.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 h&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête C++|Fichier d&#039;en-tête C++]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 hpp&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête C++|Fichier d&#039;en-tête C++]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 i&lt;br /&gt;
|&lt;br /&gt;
Sortie du préprocesseur C++ (non enregistrée par défaut). Chaque [[Fichier d&#039;implémentation C++|fichier d&#039;implémentation C++]] et tous ses [[Fichier d&#039;en-tête C++|fichiers en-tête C++]] sont prétraités dans un fichier  &amp;lt;code&amp;gt;.i&amp;lt;/code&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 identcache&lt;br /&gt;
|&lt;br /&gt;
Informations utilisées pour le refactoring.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 ilc&lt;br /&gt;
 ild&lt;br /&gt;
 ilf&lt;br /&gt;
 ilr&lt;br /&gt;
 ils&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;état du lieur C++ (*.ilc, *.ild, *.ilf, *.ilr, *.ils)|Fichier d&#039;état de la liaison incrémentielle C++]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 info.plist&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des informations d&#039;application Apple (*.info.plist)|Fichier des informations d&#039;application Apple]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 ipa&lt;br /&gt;
|&lt;br /&gt;
Fichier archive d&#039;application pour une app iOS.  Généré pour les configurations de plate-forme Ad hoc et Magasin d&#039;applications.  Voir [[Déploiement de votre application iOS pour une distribution Ad-hoc|Déploiement de votre application iOS pour une distribution Ad-hoc]] et [[Déploiement de votre application iOS pour soumission à l&#039;App Store|Déploiement de votre application iOS pour soumission à l&#039;App Store]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 lib&lt;br /&gt;
|&lt;br /&gt;
Cela peut être l&#039;un quelconque des éléments suivants :&lt;br /&gt;
*Un fichier bibliothèque statique, tel qu&#039;un [[Fichier de bibliothèque statique de package|fichier bibliothèque statique de package]].&lt;br /&gt;
*Une bibliothèque d&#039;importation pour les plates-formes Win32 et Win64 {{f|radstudio|(créée par [[IMPLIB.EXE, l&#039;outil bibliothèque d&#039;importation pour Win32|IMPLIB.EXE, l&#039;outil bibliothèque d&#039;importation pour Win32]] ou [[Utilisation de ILINK32 et ILINK64 en ligne de commande|Utilisation de ILINK32 et ILINK64 en ligne de commande]])}}&lt;br /&gt;
*Les deux éléments ci-dessus (comme les bibliothèques d&#039;importation rtldll, qui sont des bibliothèques d&#039;importation avec certains modules d&#039;objet supplémentaires)&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 local&lt;br /&gt;
|&lt;br /&gt;
Options de projet spécifiques à l&#039;utilisateur.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 map&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de débogage map|Fichier de débogage map]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 nfn&lt;br /&gt;
|&lt;br /&gt;
Un fichier maintenu par les outils de traduction, contenant les chaînes traduites et d&#039;autres données affichées dans le gestionnaire de traductions. Il existe un fichier &amp;lt;code&amp;gt;.nfn&amp;lt;/code&amp;gt; distinct pour chaque fiche de votre application et chaque langue cible.&lt;br /&gt;
|&lt;br /&gt;
Facultativement&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 o&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++ (*.obj, *.o)|Fichier objet C++]] ou une unité de traduction compilée.&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 obj&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++ (*.obj, *.o)|Fichier objet C++]] ou une unité de traduction compilée.&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|activex}}&lt;br /&gt;
|&lt;br /&gt;
 ocx&lt;br /&gt;
|&lt;br /&gt;
OCX (OLE Control eXtension), créé par [[Expert Contrôle ActiveX ou Fiche Active|l&#039;expert Fiche Active]].&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 optset&lt;br /&gt;
|&lt;br /&gt;
Fichier jeu d&#039;options nommé stockant les options de configuration, séparément des projets. Voir [[Présentation des jeux d&#039;options|Présentation des jeux d&#039;options]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|radstudio}}&lt;br /&gt;
|&lt;br /&gt;
 otares&lt;br /&gt;
|&lt;br /&gt;
Fichier avec des ressources inconnues générées pendant la mise à niveau du projet pré XE2. Des ressources inconnues sont des ressources qui ne sont pas incluses dans la configuration de construction, comme les informations de version, les icônes, les manifestes ou les styles.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 pas&lt;br /&gt;
|&lt;br /&gt;
[[Fichier source Delphi|Fichier source {{Delphi}}]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 pch&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête précompilé C++ (*.pch)|Fichier d&#039;en-tête précompilé C++]].&lt;br /&gt;
|&lt;br /&gt;
Facultativement&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 pdi&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;informations de dépendance de package C++ (*.pdi)|Fichier d&#039;informations de dépendance de package C++]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 plist&lt;br /&gt;
|&lt;br /&gt;
Fichier liste de propriétés. Les listes de propriétés sont générées pour les plates-formes cibles macOS ARM 64 bits, macOS 64 bits et Périphérique iOS 64 bits. Voir [[Compilation et construction des applications multi-périphériques|Compilation et construction des applications multi-périphériques]].&lt;br /&gt;
&#039;&#039;&#039;{{Product}}&#039;&#039;&#039; génère les fichiers de listes de propriétés suivants :&lt;br /&gt;
*[[Fichier des droits d&#039;application Apple (*.entitlements)|{{Placeholder|project}}.entitlements]]&lt;br /&gt;
*[[Fichier des informations d&#039;application Apple (*.info.plist)|{{Placeholder|project}}.info.plist]]&lt;br /&gt;
*[[Fichier des règles de ressources d&#039;application Apple|ResourceRules.plist]]&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 profile&lt;br /&gt;
|&lt;br /&gt;
Un [[Gestionnaire de profils de connexion|profil de connexion]] qui décrit la connexion au Platform Assistant s&#039;exécutant sur un système distant, pour le développement d&#039;applications multi-périphériques ciblant la plate-forme macOS ou iOS.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 res, rc&lt;br /&gt;
|&lt;br /&gt;
Fichiers de ressources compilés et non compilés.&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 ridl&lt;br /&gt;
|&lt;br /&gt;
Langage de définition d&#039;interface restreinte. Fichier texte utilisé par [[Editeur de bibliothèques de types|l&#039;éditeur de bibliothèques de types]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 rps&lt;br /&gt;
|&lt;br /&gt;
Ancienne extension pour un [[Référentiel de traductions|référentiel de traductions]] ITE/ETM ; prise en charge pour l&#039;accès en lecture seule. Les référentiels de traductions sont à présent enregistrés dans les fichiers &amp;lt;code&amp;gt;.tmx&amp;lt;/code&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
Facultativement&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 rsp&lt;br /&gt;
|&lt;br /&gt;
Fichier de réponse utilisé par le lieur C++.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 rsm&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de débogage RSM|Fichier de débogage RSM]], utilisé pour le [[Présentation du débogage distant|débogage distant]] dans les projets {{Delphi}}. Activé par l&#039;option &#039;&#039;&#039;Inclure les symboles de débogage distant&#039;&#039;&#039; sur {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Liaison (Delphi)|Liaison]]}}.&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 sdk&lt;br /&gt;
|&lt;br /&gt;
Un [[Gestionnaire de SDK|SDK]] qui décrit une plate-forme cible, et une combinaison des fichiers nécessaires à la construction d&#039;applications pour cette plate-forme.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 so&lt;br /&gt;
|&lt;br /&gt;
C&#039;est l&#039;extension de fichier des bibliothèques partagées dans des systèmes comme Unix, tels que macOS et Linux.&lt;br /&gt;
Lorsque vous construisez une [[Application multi-périphérique|application multi-périphérique]] pour [[Développement d&#039;applications mobiles Android|Android]], {{Variables|Product}} génère une bibliothèque partagée avec cette extension de fichier qui implémente la logique du projet, étant donné qu&#039;Android est basé sur Linux.&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 stat&lt;br /&gt;
|&lt;br /&gt;
Lorsque vous fermez le projet, {{Product}} enregistre les [[Statistiques du projet|statistiques du projet]] dans le fichier &#039;&#039;&amp;amp;lt;NomProjet&amp;amp;gt;.stat&#039;&#039;. Si vous le souhaitez, vous pouvez conserver ce fichier dans le contrôle de version.&lt;br /&gt;
|&lt;br /&gt;
Facultativement&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 style&lt;br /&gt;
|&lt;br /&gt;
Fichier de styles {{FM}}. Voir [[Personnalisation des applications FireMonkey avec les styles|Personnalisation des applications FireMonkey avec les styles]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 sym&lt;br /&gt;
|&lt;br /&gt;
Fichier de symboles. {{CBuilder}} utilise &amp;lt;code&amp;gt;tlibimp.sym&amp;lt;/code&amp;gt; pour mapper les noms de symboles dans les bibliothèques de types. Pour de plus amples informations, voir [[Mappage des noms de symboles dans une bibliothèque de types|Mappage des noms de symboles dans une bibliothèque de types]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 targets&lt;br /&gt;
|&lt;br /&gt;
Fichier targets, un fichier XML compatible MSBuild que vous ajoutez à votre projet afin de permettre la personnalisation du processus de construction. Il contient des scripts MSBuild ainsi que d&#039;autres informations.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 tds&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de débogage TDS|Fichier de débogage TDS]].&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 tgproj&lt;br /&gt;
|&lt;br /&gt;
Projet de conception de la modélisation.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 tlb&lt;br /&gt;
|&lt;br /&gt;
Bibliothèque de types.&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 tmx&lt;br /&gt;
|&lt;br /&gt;
Le [[Référentiel de traductions|référentiel de traductions]] stocke les données dans un fichier &amp;lt;code&amp;gt;.tmx&amp;lt;/code&amp;gt; au format XML. Vous pouvez maintenir plusieurs référentiels en enregistrant plusieurs fichiers &amp;lt;code&amp;gt;.tmx&amp;lt;/code&amp;gt;. Voir [[Gestionnaire de traductions dans l&#039;EDI|Gestionnaire de traductions dans l&#039;EDI]].&lt;br /&gt;
|&lt;br /&gt;
Facultativement&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 todo&lt;br /&gt;
|&lt;br /&gt;
Liste A faire du projet.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|radstudio}}&lt;br /&gt;
|&lt;br /&gt;
 tvsconfig&lt;br /&gt;
|&lt;br /&gt;
Fichier de configuration de la modélisation.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|radstudio}}&lt;br /&gt;
|&lt;br /&gt;
 txvpck, txvcls&lt;br /&gt;
|&lt;br /&gt;
Informations pour un diagramme de modèle.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
 vsf&lt;br /&gt;
|&lt;br /&gt;
Fichier de style VCL, activé dans la page [[Apparence de l&#039;application|Apparence de l&#039;application]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 vlb&lt;br /&gt;
|&lt;br /&gt;
Fichier LiveBindings visuel.  Voir [[Concepteur LiveBindings|Concepteur LiveBindings]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 xml&lt;br /&gt;
|&lt;br /&gt;
[https://en.wikipedia.org/wiki/XML XML] est un langage de balisage pour les fichiers de données. La liste suivante contient des exemples de fichiers XML générés par &#039;&#039;&#039;{{Product}}&#039;&#039;&#039; :&lt;br /&gt;
*[[Déclarations globales de sortie XML du compilateur|{{Placeholder|projet}}.xml, {{Placeholder|unité}}.xml]]&lt;br /&gt;
*[[Fichier manifest d&#039;application Android (AndroidManifest.xml)|AndroidManifest.xml]]&lt;br /&gt;
*[[Personnalisation de votre fichier info.plist|info.plist.TemplateOSX.xml]]&lt;br /&gt;
*[[Personnalisation de votre fichier info.plist|info.plist.TemplateiOS.xml]]&lt;br /&gt;
|&lt;br /&gt;
Facultativement&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 #nn&lt;br /&gt;
|&lt;br /&gt;
Ici #nn = #00, #01, #02, et ainsi de suite. [[Fichier de type de débogage C++|Fichier de type de débogage C++]].&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Packages et DLL standard|Packages et DLL standard]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Référence EDI]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Extensions_des_fichiers_g%C3%A9n%C3%A9r%C3%A9s_par_RAD_Studio&amp;diff=218925</id>
		<title>Extensions des fichiers générés par RAD Studio</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Extensions_des_fichiers_g%C3%A9n%C3%A9r%C3%A9s_par_RAD_Studio&amp;diff=218925"/>
		<updated>2026-05-09T03:34:55Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Types de fichiers - Index}}&lt;br /&gt;
&lt;br /&gt;
Le tableau suivant présente la liste des extensions de fichiers générées par {{Variables|Product}}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;{{Note| MSBuild requiert que l&#039;extension de tous les fichiers projet se termine par &#039;proj&#039; (par exemple, MSBuild utilise le masque &amp;lt;code&amp;gt;*.*proj&amp;lt;/code&amp;gt;).}}&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le tableau suivant explique les différentes valeurs de la colonne &#039;&#039;&#039;&amp;quot;Conserver dans le VCS ?&amp;quot;&#039;&#039;&#039; du tableau ci-dessous :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Valeur&lt;br /&gt;
!Description&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|&lt;br /&gt;
Vous devez conserver ce fichier sous contrôle de version.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|&lt;br /&gt;
Vous ne devez pas conserver ce fichier sous contrôle de version.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Facultativement&lt;br /&gt;
|&lt;br /&gt;
Vous pouvez conserver ce fichier sous contrôle de version si vous souhaitez que toute votre équipe l&#039;utilise, mais vous pouvez aussi le garder pour vous.&lt;br /&gt;
Par exemple, si vous voulez que les membres de votre équipe utilisent les mêmes options CodeGuard pour votre projet, vous pouvez conserver le fichier {{Path|.cgi}} généré sous contrôle de version. Si vous voulez laisser les membres de votre équipe utiliser leurs propres paramètres CodeGuard pour votre projet, n&#039;ajoutez pas le fichier {{Path|.cgi}} à votre système de contrôle de version.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|&lt;br /&gt;
Vous ne devez conserver ce fichier sous contrôle de version que s&#039;il est requis pour construire votre application et que votre projet ne le construit pas.&lt;br /&gt;
Par exemple, vous devez conserver les fichiers binaires des bibliothèques tierces parties si vous n&#039;avez pas leurs sources ou si votre projet ne construit pas ces bibliothèques. Cependant, si votre projet construit une bibliothèque, vous n&#039;avez pas besoin de conserver le fichier binaire de cette bibliothèque dans votre système de contrôle de version.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Extension de fichier&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Conserver dans le [[Gestionnaire de l&#039;historique|VCS]] ?&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 a&lt;br /&gt;
|&lt;br /&gt;
* &#039;&#039;libname.a&#039;&#039; : fichier de bibliothèque statique (format COFF) produit par le compilateur amélioré par Clang [[BCC64X|BCC64X]]. (Cette chaîne d&#039;outils supporte aussi lib ; voir ci-dessous.)&lt;br /&gt;
* &#039;&#039;Name.a&#039;&#039; : fichier bibliothèque statique (format ELF) produit par les [[Compilateurs C++ améliorés par Clang|compilateurs C++ améliorés par Clang]] tels que les [[Fichier de bibliothèque statique de package|fichiers de bibliothèque statique de package]].&lt;br /&gt;
&lt;br /&gt;
Pour de plus amples informations, voir :&lt;br /&gt;
*[[Compilation et construction des applications multi-périphériques|Compilation et construction des applications multi-périphériques]]&lt;br /&gt;
*[[Construction de packages statiques|Construction de packages statiques]]&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 apk&lt;br /&gt;
|&lt;br /&gt;
Fichier package d&#039;application Android. Voir [[Déploiement de votre application Android signée|Déploiement de votre application Android signée]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
 bdsproj&lt;br /&gt;
|&lt;br /&gt;
Fichier des options de projet pour BDS 2006 et version antérieure (remplacé par &amp;lt;code&amp;gt;.dproj&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;.cbproj&amp;lt;/code&amp;gt;).&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
 bdsgroup&lt;br /&gt;
|&lt;br /&gt;
Groupe de projets pour BDS 2006 et les produits antérieurs.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 bpi&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de bibliothèque d&#039;importation de package|Fichier de bibliothèque d&#039;importation de package]].&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 bpl&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de bibliothèque partagée de package|Fichier de bibliothèque partagée de package]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 cbproj&lt;br /&gt;
|&lt;br /&gt;
Fichier projet C++. Contient les paramètres en cours des options de projet, tels que les paramètres du compilateur et du lieur, les répertoires, les directives conditionnelles et les paramètres de la ligne de commande. (Définissez ces options à l&#039;aide de &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Projet &amp;amp;gt; Options&#039;&#039;&#039;&amp;lt;/font&amp;gt;.) A la compilation, produit un fichier &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.dll&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;.ocx&amp;lt;/code&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|cmd}}&lt;br /&gt;
|&lt;br /&gt;
 cfg&lt;br /&gt;
|&lt;br /&gt;
Fichier de configuration de projet utilisé pour les compilations en ligne de commande, comme suit :&lt;br /&gt;
*dcc32.cfg pour {{f|radstudio|dcc32.exe}}{{f|appmethod|Windows 32 bits }}&lt;br /&gt;
*dcc64.cfg pour {{f|radstudio|dcc64.exe}}{{f|appmethod|Windows 64 bits }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour Windows 32 bits, par exemple, le compilateur {{Delphi}} recherche un fichier &amp;lt;code&amp;gt;dcc32.cfg&amp;lt;/code&amp;gt; dans le répertoire de l&#039;exécutable du compilateur, puis un fichier &amp;lt;code&amp;gt;dcc32.cfg&amp;lt;/code&amp;gt; dans le répertoire en cours, et enfin un fichier &amp;lt;code&amp;gt;nomprojet.cfg&amp;lt;/code&amp;gt; dans le répertoire du projet. {{f|cmd|Vous pouvez taper &amp;lt;code&amp;gt;dcc32 nomprojet&amp;lt;/code&amp;gt; sur la ligne de commande et compiler le projet avec les options spécifiées dans l&#039;EDI. }}&lt;br /&gt;
|&lt;br /&gt;
Facultativement&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 cgi&lt;br /&gt;
|&lt;br /&gt;
Le fichier CG32.cgi contient les informations de configuration pour CodeGuard, un utilitaire utilisé pour le suivi des redéfinitions en mémoire dans des exécutables C++ liés statiquement. Voir [[Utilisation de CodeGuard|Utilisation de CodeGuard]].&lt;br /&gt;
|&lt;br /&gt;
Facultativement&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 cgl&lt;br /&gt;
|&lt;br /&gt;
CodeGuard génère un fichier journal, &amp;lt;code&amp;gt;&amp;amp;lt;nom_projet&amp;amp;gt;.cgl&amp;lt;/code&amp;gt;. Voir [[Présentation de CodeGuard|Présentation de CodeGuard]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 cpp&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;implémentation C++|Fichier d&#039;implémentation C++]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 csm&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête précompilé C++ (*.pch)|Fichier d&#039;en-tête précompilé C++]] dans les versions antérieures de {{CBuilder}}, comme C++Builder 5.&lt;br /&gt;
|&lt;br /&gt;
Facultativement&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 d&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de dépendance C++|Fichier de dépendance C++]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dcp&lt;br /&gt;
|&lt;br /&gt;
[[Fichier package compilé Delphi (*.dcp)|Fichier package compilé Delphi]].&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dcu&lt;br /&gt;
|&lt;br /&gt;
[[Fichier unité compilé Delphi (*.dcu)|Fichier unité compilé Delphi]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dct&lt;br /&gt;
|&lt;br /&gt;
Tous les changements de [[Création et utilisation des modèles de composants|modèles de composants]] que vous effectuez dans {{Product}} sont stockés dans {{Path|{{AppDataPath}}\bds.dct}}.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 deployproj&lt;br /&gt;
|&lt;br /&gt;
Le fichier de configuration du [[Gestionnaire de déploiement|Gestionnaire de déploiement]] pour votre projet.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
 dfm&lt;br /&gt;
|&lt;br /&gt;
Un fichier fiche VCL Windows.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dll&lt;br /&gt;
|&lt;br /&gt;
Un fichier bibliothèque de liaison dynamique. Pour de plus amples informations, voir [[Création de packages et de DLL|Création de packages et de DLL]].&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dpk&lt;br /&gt;
|&lt;br /&gt;
[[Fichier source de package Delphi|Fichier source de package Delphi]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dpr&lt;br /&gt;
|&lt;br /&gt;
Source de projet {{Delphi}}. A la compilation, produit un fichier &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.dll&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;.ocx&amp;lt;/code&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dproj&lt;br /&gt;
|&lt;br /&gt;
Fichier projet {{Delphi}} créé par l&#039;EDI. Contient les paramètres en cours des options de projet, tels que les paramètres du compilateur et du lieur, les répertoires, les directives conditionnelles et les paramètres de la ligne de commande. Définissez ces options avec &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Projet &amp;amp;gt; Options&#039;&#039;&#039;&amp;lt;/font&amp;gt;. Ce fichier n&#039;est pas utilisé lors de la compilation d&#039;un projet depuis la ligne de commande, avec le compilateur en ligne de commande.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 drc&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de chaînes de ressources Delphi (*.drc)|Fichier de chaînes de ressources Delphi]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dres&lt;br /&gt;
|&lt;br /&gt;
Fichier de ressources compilé {{Delphi}}. Cette extension est utilisée quand vous ajoutez une ressource à un projet, telle qu&#039;une icône ou une image. Le fichier &amp;lt;code&amp;gt;.dres&amp;lt;/code&amp;gt; est seulement utilisé lors de la liaison.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dsk&lt;br /&gt;
|&lt;br /&gt;
Fichier utilisé pour enregistrer le bureau du projet quand l&#039;option &#039;&#039;&#039;d&#039;auto-enregistrement Bureau du projet&#039;&#039;&#039; est activée sur &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Outils &amp;amp;gt; Options &amp;amp;gt; [[Options d&#039;environnement|Options d&#039;environnement]]&#039;&#039;&#039;&amp;lt;/font&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dst&lt;br /&gt;
|&lt;br /&gt;
Fichier utilisé pour enregistrer le paramètre de vitesse du bureau, comme défini dans la zone de liste déroulante bureau de la barre d&#039;outils de l&#039;EDI.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dsv&lt;br /&gt;
|&lt;br /&gt;
Fichier utilisé pour enregistrer l&#039;état des vues avant de fermer un projet lorsque l&#039;option &#039;&#039;&#039;Enregistrer l&#039;état de l&#039;éditeur à la fermeture d&#039;un onglet&#039;&#039;&#039; est activée {{Menu|Outils &amp;amp;gt; Options &amp;amp;gt; EDI &amp;amp;gt; [[Enregistrement et récupération#Auto-enregistrement|Enregistrement et récupération]]}}.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dwo&lt;br /&gt;
|&lt;br /&gt;
Fichier objet Split DWARF contenant des informations de débogage produites par le compilateur amélioré par Clang Windows 64 bits. Pour de plus amples informations, voir, [[Débogage des applications C++ Builder Windows 64 bits#Réduction de la consommation mémoire du lieur grâce à Split Dwarf|Split DWARF]]. &lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dSYM&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de débogage DSYM|Fichier de débogage dSYM]].&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dylib&lt;br /&gt;
|&lt;br /&gt;
Une bibliothèque dynamique (&amp;lt;code&amp;gt;.dll&amp;lt;/code&amp;gt;) ou un package (&amp;lt;code&amp;gt;.bpl&amp;lt;/code&amp;gt;) compilé pour la plate-forme macOS. Voir [[Applications multi-périphériques - Index|Applications multi-périphériques - Index]] et [[Compilation et construction des applications multi-périphériques#Fichiers de sortie pour les cibles multi-périphériques|Fichiers de sortie pour les cibles multi-périphériques]].&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 dylib.rsm&lt;br /&gt;
|&lt;br /&gt;
Fichier de symboles de débogage distant pour {{Delphi}} pour macOS. Voir &amp;lt;code&amp;gt;.rsm&amp;lt;/code&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 entitlements&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des droits d&#039;application Apple (*.entitlements)|Fichier des droits d&#039;une application Apple]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 exe&lt;br /&gt;
|&lt;br /&gt;
Fichier exécutable Windows.&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 exe.incr&lt;br /&gt;
|&lt;br /&gt;
Informations de construction incrémentielle.&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&amp;lt;br /&amp;gt;&lt;br /&gt;
Facultativement&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 fmx&lt;br /&gt;
|&lt;br /&gt;
Fichier fiche multi-périphérique Voir [[Création d&#039;une application FireMonkey|Création d&#039;une application FireMonkey]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 fsf&lt;br /&gt;
|&lt;br /&gt;
Fichier de styles binaire {{FM}}. Similaire au fichier &amp;lt;code&amp;gt;.style&amp;lt;/code&amp;gt;. Voir [[Personnalisation des applications FireMonkey avec les styles|Personnalisation des applications FireMonkey avec les styles]].&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 groupproj&lt;br /&gt;
|&lt;br /&gt;
Groupe de projets.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 h&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête C++|Fichier d&#039;en-tête C++]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 hpp&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête C++|Fichier d&#039;en-tête C++]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 i&lt;br /&gt;
|&lt;br /&gt;
Sortie du préprocesseur C++ (non enregistrée par défaut). Chaque [[Fichier d&#039;implémentation C++|fichier d&#039;implémentation C++]] et tous ses [[Fichier d&#039;en-tête C++|fichiers en-tête C++]] sont prétraités dans un fichier  &amp;lt;code&amp;gt;.i&amp;lt;/code&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 identcache&lt;br /&gt;
|&lt;br /&gt;
Informations utilisées pour le refactoring.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 ilc&lt;br /&gt;
 ild&lt;br /&gt;
 ilf&lt;br /&gt;
 ilr&lt;br /&gt;
 ils&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;état du lieur C++ (*.ilc, *.ild, *.ilf, *.ilr, *.ils)|Fichier d&#039;état de la liaison incrémentielle C++]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 info.plist&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des informations d&#039;application Apple (*.info.plist)|Fichier des informations d&#039;application Apple]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 ipa&lt;br /&gt;
|&lt;br /&gt;
Fichier archive d&#039;application pour une app iOS.  Généré pour les configurations de plate-forme Ad hoc et Magasin d&#039;applications.  Voir [[Déploiement de votre application iOS pour une distribution Ad-hoc|Déploiement de votre application iOS pour une distribution Ad-hoc]] et [[Déploiement de votre application iOS pour soumission à l&#039;App Store|Déploiement de votre application iOS pour soumission à l&#039;App Store]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 lib&lt;br /&gt;
|&lt;br /&gt;
Cela peut être l&#039;un quelconque des éléments suivants :&lt;br /&gt;
*Un fichier bibliothèque statique, tel qu&#039;un [[Fichier de bibliothèque statique de package|fichier bibliothèque statique de package]].&lt;br /&gt;
*Une bibliothèque d&#039;importation pour les plates-formes Win32 et Win64 {{f|radstudio|(créée par [[IMPLIB.EXE, l&#039;outil bibliothèque d&#039;importation pour Win32|IMPLIB.EXE, l&#039;outil bibliothèque d&#039;importation pour Win32]] ou [[Utilisation de ILINK32 et ILINK64 en ligne de commande|Utilisation de ILINK32 et ILINK64 en ligne de commande]])}}&lt;br /&gt;
*Les deux éléments ci-dessus (comme les bibliothèques d&#039;importation rtldll, qui sont des bibliothèques d&#039;importation avec certains modules d&#039;objet supplémentaires)&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 local&lt;br /&gt;
|&lt;br /&gt;
Options de projet spécifiques à l&#039;utilisateur.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 map&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de débogage map|Fichier de débogage map]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 nfn&lt;br /&gt;
|&lt;br /&gt;
Un fichier maintenu par les outils de traduction, contenant les chaînes traduites et d&#039;autres données affichées dans le gestionnaire de traductions. Il existe un fichier &amp;lt;code&amp;gt;.nfn&amp;lt;/code&amp;gt; distinct pour chaque fiche de votre application et chaque langue cible.&lt;br /&gt;
|&lt;br /&gt;
Facultativement&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 o&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++ (*.obj, *.o)|Fichier objet C++]] ou une unité de traduction compilée.&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 obj&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++ (*.obj, *.o)|Fichier objet C++]] ou une unité de traduction compilée.&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|activex}}&lt;br /&gt;
|&lt;br /&gt;
 ocx&lt;br /&gt;
|&lt;br /&gt;
OCX (OLE Control eXtension), créé par [[Expert Contrôle ActiveX ou Fiche Active|l&#039;expert Fiche Active]].&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 optset&lt;br /&gt;
|&lt;br /&gt;
Fichier jeu d&#039;options nommé stockant les options de configuration, séparément des projets. Voir [[Présentation des jeux d&#039;options|Présentation des jeux d&#039;options]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|radstudio}}&lt;br /&gt;
|&lt;br /&gt;
 otares&lt;br /&gt;
|&lt;br /&gt;
Fichier avec des ressources inconnues générées pendant la mise à niveau du projet pré XE2. Des ressources inconnues sont des ressources qui ne sont pas incluses dans la configuration de construction, comme les informations de version, les icônes, les manifestes ou les styles.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 pas&lt;br /&gt;
|&lt;br /&gt;
[[Fichier source Delphi|Fichier source {{Delphi}}]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 pch&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête précompilé C++ (*.pch)|Fichier d&#039;en-tête précompilé C++]].&lt;br /&gt;
|&lt;br /&gt;
Facultativement&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 pdi&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;informations de dépendance de package C++ (*.pdi)|Fichier d&#039;informations de dépendance de package C++]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 plist&lt;br /&gt;
|&lt;br /&gt;
Fichier liste de propriétés. Les listes de propriétés sont générées pour les plates-formes cibles macOS ARM 64 bits, macOS 64 bits et Périphérique iOS 64 bits. Voir [[Compilation et construction des applications multi-périphériques|Compilation et construction des applications multi-périphériques]].&lt;br /&gt;
&#039;&#039;&#039;{{Product}}&#039;&#039;&#039; génère les fichiers de listes de propriétés suivants :&lt;br /&gt;
*[[Fichier des droits d&#039;application Apple (*.entitlements)|{{Placeholder|project}}.entitlements]]&lt;br /&gt;
*[[Fichier des informations d&#039;application Apple (*.info.plist)|{{Placeholder|project}}.info.plist]]&lt;br /&gt;
*[[Fichier des règles de ressources d&#039;application Apple|ResourceRules.plist]]&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 profile&lt;br /&gt;
|&lt;br /&gt;
Un [[Gestionnaire de profils de connexion|profil de connexion]] qui décrit la connexion au Platform Assistant s&#039;exécutant sur un système distant, pour le développement d&#039;applications multi-périphériques ciblant la plate-forme macOS ou iOS.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 res, rc&lt;br /&gt;
|&lt;br /&gt;
Fichiers de ressources compilés et non compilés.&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 ridl&lt;br /&gt;
|&lt;br /&gt;
Langage de définition d&#039;interface restreinte. Fichier texte utilisé par [[Editeur de bibliothèques de types|l&#039;éditeur de bibliothèques de types]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 rps&lt;br /&gt;
|&lt;br /&gt;
Ancienne extension pour un [[Référentiel de traductions|référentiel de traductions]] ITE/ETM ; prise en charge pour l&#039;accès en lecture seule. Les référentiels de traductions sont à présent enregistrés dans les fichiers &amp;lt;code&amp;gt;.tmx&amp;lt;/code&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
Facultativement&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 rsp&lt;br /&gt;
|&lt;br /&gt;
Fichier de réponse utilisé par le lieur C++.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 rsm&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de débogage RSM|Fichier de débogage RSM]], utilisé pour le [[Présentation du débogage distant|débogage distant]] dans les projets {{Delphi}}. Activé par l&#039;option &#039;&#039;&#039;Inclure les symboles de débogage distant&#039;&#039;&#039; sur {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Liaison (Delphi)|Liaison]]}}.&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 sdk&lt;br /&gt;
|&lt;br /&gt;
Un [[Gestionnaire de SDK|SDK]] qui décrit une plate-forme cible, et une combinaison des fichiers nécessaires à la construction d&#039;applications pour cette plate-forme.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 so&lt;br /&gt;
|&lt;br /&gt;
C&#039;est l&#039;extension de fichier des bibliothèques partagées dans des systèmes comme Unix, tels que macOS et Linux.&lt;br /&gt;
Lorsque vous construisez une [[Application multi-périphérique|application multi-périphérique]] pour [[Développement d&#039;applications mobiles Android|Android]], {{Variables|Product}} génère une bibliothèque partagée avec cette extension de fichier qui implémente la logique du projet, étant donné qu&#039;Android est basé sur Linux.&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 stat&lt;br /&gt;
|&lt;br /&gt;
Lorsque vous fermez le projet, {{Product}} enregistre les [[Statistiques du projet|statistiques du projet]] dans le fichier &#039;&#039;&amp;amp;lt;NomProjet&amp;amp;gt;.stat&#039;&#039;. Si vous le souhaitez, vous pouvez conserver ce fichier dans le contrôle de version.&lt;br /&gt;
|&lt;br /&gt;
Facultativement&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 style&lt;br /&gt;
|&lt;br /&gt;
Fichier de styles {{FM}}. Voir [[Personnalisation des applications FireMonkey avec les styles|Personnalisation des applications FireMonkey avec les styles]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 sym&lt;br /&gt;
|&lt;br /&gt;
Fichier de symboles. {{CBuilder}} utilise &amp;lt;code&amp;gt;tlibimp.sym&amp;lt;/code&amp;gt; pour mapper les noms de symboles dans les bibliothèques de types. Pour de plus amples informations, voir [[Mappage des noms de symboles dans une bibliothèque de types|Mappage des noms de symboles dans une bibliothèque de types]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 targets&lt;br /&gt;
|&lt;br /&gt;
Fichier targets, un fichier XML compatible MSBuild que vous ajoutez à votre projet afin de permettre la personnalisation du processus de construction. Il contient des scripts MSBuild ainsi que d&#039;autres informations.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 tds&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de débogage TDS|Fichier de débogage TDS]].&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 tgproj&lt;br /&gt;
|&lt;br /&gt;
Projet de conception de la modélisation.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 tlb&lt;br /&gt;
|&lt;br /&gt;
Bibliothèque de types.&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 tmx&lt;br /&gt;
|&lt;br /&gt;
Le [[Référentiel de traductions|référentiel de traductions]] stocke les données dans un fichier &amp;lt;code&amp;gt;.tmx&amp;lt;/code&amp;gt; au format XML. Vous pouvez maintenir plusieurs référentiels en enregistrant plusieurs fichiers &amp;lt;code&amp;gt;.tmx&amp;lt;/code&amp;gt;. Voir [[Gestionnaire de traductions dans l&#039;EDI|Gestionnaire de traductions dans l&#039;EDI]].&lt;br /&gt;
|&lt;br /&gt;
Facultativement&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 todo&lt;br /&gt;
|&lt;br /&gt;
Liste A faire du projet.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|radstudio}}&lt;br /&gt;
|&lt;br /&gt;
 tvsconfig&lt;br /&gt;
|&lt;br /&gt;
Fichier de configuration de la modélisation.&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|radstudio}}&lt;br /&gt;
|&lt;br /&gt;
 txvpck, txvcls&lt;br /&gt;
|&lt;br /&gt;
Informations pour un diagramme de modèle.&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
 vsf&lt;br /&gt;
|&lt;br /&gt;
Fichier de style VCL, activé dans la page [[Apparence de l&#039;application|Apparence de l&#039;application]].&lt;br /&gt;
|&lt;br /&gt;
Oui&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 vlb&lt;br /&gt;
|&lt;br /&gt;
Fichier LiveBindings visuel.  Voir [[Concepteur LiveBindings|Concepteur LiveBindings]].&lt;br /&gt;
|&lt;br /&gt;
Non&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 xml&lt;br /&gt;
|&lt;br /&gt;
[https://en.wikipedia.org/wiki/XML XML] est un langage de balisage pour les fichiers de données. La liste suivante contient des exemples de fichiers XML générés par &#039;&#039;&#039;{{Product}}&#039;&#039;&#039; :&lt;br /&gt;
*[[Déclarations globales de sortie XML du compilateur|{{Placeholder|projet}}.xml, {{Placeholder|unité}}.xml]]&lt;br /&gt;
*[[Fichier manifest d&#039;application Android (AndroidManifest.xml)|AndroidManifest.xml]]&lt;br /&gt;
*[[Personnalisation de votre fichier info.plist|info.plist.TemplateOSX.xml]]&lt;br /&gt;
*[[Personnalisation de votre fichier info.plist|info.plist.TemplateiOS.xml]]&lt;br /&gt;
|&lt;br /&gt;
Facultativement&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 #nn&lt;br /&gt;
|&lt;br /&gt;
Ici #nn = #00, #01, #02, et ainsi de suite. [[Fichier de type de débogage C++|Fichier de type de débogage C++]].&lt;br /&gt;
|&lt;br /&gt;
Sauf si constructible&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Packages et DLL standard|Packages et DLL standard]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Référence EDI]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Nouveaut%C3%A9s&amp;diff=218924</id>
		<title>Nouveautés</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Nouveaut%C3%A9s&amp;diff=218924"/>
		<updated>2026-05-09T03:34:55Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Accueil}} &lt;br /&gt;
{{Parent|Nouveautés des releases précédentes}}&lt;br /&gt;
&lt;br /&gt;
La release {{Product}} 13.0 {{Version}} contient les nouvelles fonctionnalités et améliorations suivantes :&lt;br /&gt;
&lt;br /&gt;
==Améliorations relatives à l&#039;installation et au Gestionnaire de packages GetIt==&lt;br /&gt;
&lt;br /&gt;
Les sections suivantes décrivent les améliorations relatives à l&#039;installation et au Gestionnaire de packages GetIt.&lt;br /&gt;
&lt;br /&gt;
===Modification du processus d&#039;installation===&lt;br /&gt;
&lt;br /&gt;
Depuis RAD Studio Florence 13.0, le programme d&#039;installation n&#039;installe plus automatiquement le Windows SDK. Il vérifie si la version actuelle du SDK est installée sur l&#039;ordinateur et, dans le cas contraire, fournit un lien de téléchargement lors du processus d&#039;installation. Le téléchargement et l&#039;installation du Windows SDK sont des pré-requis à l&#039;installation de RAD Studio, c&#039;est pourquoi il est recommandé de le faire avant l&#039;installation de RAD Studio 13.0. Pour plus de détails, consultez les [[Notes d&#039;installation|Notes d&#039;installation]].&lt;br /&gt;
&lt;br /&gt;
Lors de l&#039;installation du Windows SDK, il est recommandé d&#039;activer les options suivantes :&lt;br /&gt;
&lt;br /&gt;
*Windows SDK for Desktop C++ x86 Apps&lt;br /&gt;
*Windows SDK for Desktop C++ amd64 Apps&lt;br /&gt;
&lt;br /&gt;
Les éléments suivants seront automatiquement activés :&lt;br /&gt;
&lt;br /&gt;
*Windows SDK Signing Tools for Desktop Apps&lt;br /&gt;
*Windows SDK for UWP Managed Apps&lt;br /&gt;
*Windows SDK for UWP C++ Apps.&lt;br /&gt;
&lt;br /&gt;
Cette release supprime la possibilité d&#039;installer les fonctionnalités de “&#039;&#039;&#039;Modélisation&#039;&#039;&#039;” dans l&#039;interface de RAD Studio, dans les versions 32 bits et 64 bits. La fonctionnalité ne figure donc plus dans les options d&#039;installation du [[Gestionnaire de fonctionnalités|Gestionnaire de fonctionnalités]]. Cela affecte également le formatage dans Delphi.&lt;br /&gt;
&lt;br /&gt;
===Versionage des packages dans le Gestionnaire de packages===&lt;br /&gt;
&lt;br /&gt;
Depuis RAD Studio Florence 13.0, plusieurs versions d&#039;un même [[Fenêtre du Gestionnaire de packages GetIt|package GetIt]] peuvent être disponibles. Vous pouvez donc choisir d&#039;installer une version spécifique plutôt que la dernière version. Lorsque plusieurs versions d&#039;un package existent, un menu déroulant apparaît à côté du bouton Installer.&lt;br /&gt;
&lt;br /&gt;
[[File:Version install getit.png|=link|border|300px]]&lt;br /&gt;
&lt;br /&gt;
Les dépendances de packages présentes dans une configuration de projet peuvent maintenant faire référence à une version spécifique d&#039;un package, ce qui permet de définir des règles de filtrage.&lt;br /&gt;
&lt;br /&gt;
De plus, l&#039;interface de GetIt contient désormais un bouton à utilisation générale ainsi qu&#039;un menu déroulant proposant des options supplémentaires de désinstallation ou de mise à jour. Il est également possible d&#039;exporter la liste des packages installés. Pour plus d&#039;informations, voir [[Fenêtre du Gestionnaire de packages GetIt|Fenêtre du Gestionnaire de packages GetIt]].&lt;br /&gt;
&lt;br /&gt;
===Numéros de version interne unifiés à la valeur 37===&lt;br /&gt;
&lt;br /&gt;
Dans cette release de RAD Studio, les numéros de version interne sont unifiés à la valeur 37 pour la RTL, les packages, et les éléments suivants :&lt;br /&gt;
&lt;br /&gt;
*L&#039;entrée principale du registre :&lt;br /&gt;
&lt;br /&gt;
 HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\37.0&lt;br /&gt;
&lt;br /&gt;
*La version de package et la version de RTL.&lt;br /&gt;
*La version FMX : FMX.Types.FireMonkeyVersion&lt;br /&gt;
*La version de PA Server.&lt;br /&gt;
*Le dossier dans le lequel le produit est installé par défaut : &lt;br /&gt;
&lt;br /&gt;
{{code|C:\Program Files (x86)\Embarcadero\Studio\37.0}}&lt;br /&gt;
&lt;br /&gt;
{{Note| Dans cette release, le dossier d&#039;installation de l&#039;EDI et les packages d&#039;exécution passent directement à la version 37 (en sautant plusieurs numéros intermédiaires) alors que le compilateur suit l&#039;incrément habituel (+1).}}&lt;br /&gt;
&lt;br /&gt;
==Améliorations de l&#039;EDI 64 bits==&lt;br /&gt;
&lt;br /&gt;
RAD Studio 13.0 inclut notre première EDI totalement 64 bits pour la plate-forme Windows 64 bits. Elle étend et complète les fonctionnalités de [[64-bit IDE|l&#039;EDI 64 bits]] introduites initialement dans RAD Studio version 12.3. Par rapport à cette &amp;quot;release initiale&amp;quot; de l&#039;EDI 64 bits de 12.3, l&#039;EDI 64 bits de 13.0 offre une grande nouveauté : la prise en charge de la construction et du débogage d&#039;applications 64 bits dans Delphi et C++.&lt;br /&gt;
&lt;br /&gt;
Voici les principales améliorations :&lt;br /&gt;
&lt;br /&gt;
*Prise en charge des templates de code (Ctrl-J), incluant notamment le menu Encadrement.&lt;br /&gt;
*Prise en charge des bibliothèques de types, ActiveX, et COM.&lt;br /&gt;
*Intégration VA pour C++Builder dans l&#039;EDI 64 bits.&lt;br /&gt;
*Implémentation d&#039;un nouveau moteur de débogage pour déboguer les applications C++ et Delphi.&lt;br /&gt;
*Améliorations majeures des performances du débogueur Delphi.&lt;br /&gt;
*Modification des adresses de pointeur pour les faire apparaître dans un style Delphi.&lt;br /&gt;
*Suppression des fonctionnalités &amp;quot;Together&amp;quot;, incluant notamment la Modélisation, les Audits, et les Métriques.&lt;br /&gt;
&lt;br /&gt;
==Modifications et améliorations de l&#039;EDI==&lt;br /&gt;
&lt;br /&gt;
Cette release améliore et modernise l&#039;EDI de RAD Studio avec l&#039;introduction de fonctionnalités de recherche étendues et configurables dans plusieurs volets de l&#039;EDI. Voici les principales modifications et améliorations :&lt;br /&gt;
&lt;br /&gt;
===Améliorations relatives aux fonctions de recherche===&lt;br /&gt;
&lt;br /&gt;
RAD Studio Florence 13.0 introduit de nouvelles fonctionnalités de recherche dans plusieurs volets de l&#039;EDI, ce qui facilite l&#039;accès à l&#039;information dans les projets, unités et scénarios volumineux. L&#039;expérience de recherche est unifiée dans l&#039;ensemble des volets qui prennent en charge cette fonction via la combinaison de touches {{code|Ctrl+F}}. La touche {{code|Echap}} permet de fermer la fenêtre de résultats et de revenir au contrôle original.&lt;br /&gt;
&lt;br /&gt;
Des fonctionnalités de recherche ont été ajoutées aux sections suivantes :&lt;br /&gt;
&lt;br /&gt;
*[[Vue Structure#Menus contextuels de la vue Structure et de l&#039;explorateur de code|Vue Structure]] : ajout d&#039;une fonction de recherche incrémentale utilisable aussi bien dans la vue de conception que dans la vue du code source, avec en plus la mise en surbrillance de la syntaxe dans les résultats de recherche du code source.&lt;br /&gt;
*[[Fenêtre Projets#Barre d&#039;outils de la fenêtre Projets|Gestionnaire de projets]] : ajout d&#039;une fonction de recherche incrémentale prenant en charge des requêtes rapides et optimisées pour les projets volumineux (plus de 20 000 fichiers).&lt;br /&gt;
*[[Vue Messages|Volet Message]] et [[Fenêtre Journal d&#039;événements|Journal d&#039;événements]] : ajout d&#039;une fonction de recherche incrémentale facilitant la navigation dans de grandes structures de données.&lt;br /&gt;
*[[Inspecteur d&#039;objets|Inspecteur d&#039;objets]] : ajout d&#039;une icône de recherche pour faciliter la navigation.&lt;br /&gt;
*[[Palette d&#039;outils|Palette d&#039;outils]] : ajout d&#039;une icône de recherche pour faciliter la navigation.&lt;br /&gt;
&lt;br /&gt;
De plus, la fonction de recherche implémentée dans les recherches des vues Messages et Evénements, mais aussi dans les vues Projets et Structure, offre une configuration de recherche spécifique, disponible depuis une liste déroulante :&lt;br /&gt;
&lt;br /&gt;
[[File:Structure search.png|=link|border]]&lt;br /&gt;
&lt;br /&gt;
===Ajouts au journal des messages===&lt;br /&gt;
&lt;br /&gt;
RAD Studio Florence 13.0 introduit de nouvelles options sous {{Menu| EDI &amp;amp;gt; Compilation et exécution &amp;amp;gt; [[Journal de construction|Journal de construction]]}} :&lt;br /&gt;
&lt;br /&gt;
*Activation de la mise en surbrillance dans le journal du compilateur.&lt;br /&gt;
*Regroupement des conseils et avertissements dans le volet Messages. Cela facilite la navigation lorsque les messages sont nombreux et accélère le processus de build.&lt;br /&gt;
&lt;br /&gt;
[[File:Messages search.png|=link|border]]&lt;br /&gt;
&lt;br /&gt;
===Mises à jour de ToolsAPI===&lt;br /&gt;
&lt;br /&gt;
La release RAD Studio Florence 13.0 apporte les mises à jour suivantes à ToolsAPI :&lt;br /&gt;
&lt;br /&gt;
*Ajout d&#039;une nouvelle méthode pour mettre à jour l&#039;interface utilisateur dans la page d&#039;accueil.&lt;br /&gt;
&lt;br /&gt;
 INTAWelcomePageDataPluginListView370.Invalidate&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
 Ajout de la prise en charge des événements de souris interceptés comme clics.&lt;br /&gt;
**[[Prise en charge de ToolsAPI pour l&#039;éditeur de code#Evénement curseur déplacé|Evénement curseur déplacé]]&lt;br /&gt;
**[[Prise en charge de ToolsAPI pour l&#039;éditeur de code#Evénement appui de touche|Evénement appui de touche]]&lt;br /&gt;
&lt;br /&gt;
Pour plus de détails sur ces mises à jour, voir la page [[Prise en charge de ToolsAPI pour l&#039;éditeur de code|ToolsAPI]].&lt;br /&gt;
&lt;br /&gt;
===Améliorations relatives à l&#039;audit de code intelligent===&lt;br /&gt;
&lt;br /&gt;
RAD Studio Florence 13.0 introduit &amp;quot;RAD AI Companion”, un chat et générateur de code, spécifiquement entraîné sur du contenu en lien avec RAD Studio. Dans l&#039;EDI, ouvrez {{Menu| Menu Aide &amp;amp;gt; [http://www.embarcadero.com/radaicompanion RAD AI Companion]}}.&lt;br /&gt;
&lt;br /&gt;
[[File:AI companion.png|=link]]&lt;br /&gt;
&lt;br /&gt;
Cette release introduit également le nouveau bouton Tester la connexion dans la page [[Smart CodeInsight Options|Options de l&#039;audit de code intelligent]]. Désormais, les utilisateurs peuvent directement tester la configuration sans qu&#039;il soit nécessaire de lancer le chat.&lt;br /&gt;
&lt;br /&gt;
Parmi les autres améliorations :&lt;br /&gt;
&lt;br /&gt;
*Pour les modèles qui renvoient {{code|“&amp;amp;lt;think&amp;amp;gt;”}} avant de renvoyer l&#039;information, l&#039;EDI a supprimé les balises “thinking”.&lt;br /&gt;
*Les conseils des boutons affichés dans la [[Smart CodeInsight#Fenêtre de chat IA|Fenêtre de chat de l&#039;audit de code intelligent]] ont été améliorés et indiquent désormais les raccourcis.&lt;br /&gt;
&lt;br /&gt;
===Modifications supplémentaires de l&#039;EDI===&lt;br /&gt;
&lt;br /&gt;
Les sections suivantes présentent les mises à jour et améliorations apportées à l&#039;EDI :&lt;br /&gt;
&lt;br /&gt;
*La nouvelle option de l&#039;EDI [[Onglets|Onglets]] a été ajoutée pour permettre aux utilisateurs d&#039;utiliser la couleur de fond de l&#039;éditeur pour les tabulations de l&#039;éditeur.&lt;br /&gt;
*Une nouvelle option de l&#039;EDI permet d&#039;utiliser le thème actif de l&#039;EDI pour les couleurs de [[Mise en surbrillance structurelle|mise en surbrillance structurelle]]. Utilisez-la pour sélectionner le style de couleur pour la mise en surbrillance structurelle.&lt;br /&gt;
*La [[Mise en mémoire tampon double et connexions distantes|mise en mémoire tampon double]] et la suppression du &amp;quot;sautillement&amp;quot; ont été activées par défaut. Vous pouvez aussi utiliser le nouveau paramètre du registre ({{code|Globals\SingleBufferingInRemoteSessions}}) pour désactiver la mise en mémoire tampon double.&lt;br /&gt;
*Le menu Refactoring est grisé lorsqu&#039;aucune option de refactoring n&#039;est active (ce comportement remplace l&#039;élément de menu “Aucun refactoring”).&lt;br /&gt;
*La boîte de dialogue Exception EDI affiche maintenant directement la trace de la pile d&#039;appels, fournissant ainsi des informations utiles pour comprendre le flux du code.&lt;br /&gt;
*Il est désormais possible de copier des messages d&#039;erreur depuis le volet Structure.&lt;br /&gt;
*La boîte de dialogue [[Attacher au processus|Attacher au processus]] a été modifiée de façon à inclure des colonnes supplémentaires pour afficher les informations sur les processus, et contient aussi des contrôles supplémentaires.&lt;br /&gt;
*L&#039;intégration du contrôle de source Git a été améliorée : l&#039;interface a été changée pour indiquer que vous pouvez utiliser le Token Name GitHub ou le Token Key à la place de votre nom d&#039;utilisateur et mot de passe.&lt;br /&gt;
*Lors de l&#039;ajout d&#039;une fiche à une application FireMonkey, il n&#039;est plus nécessaire de choisir entre une fiche HD et une fiche 3D. L&#039;ajout d&#039;une fiche 3D reste possible via une option distincte.&lt;br /&gt;
*Les icônes de gouttière ont été améliorées dans le mode Thème foncé, évitant ainsi l&#039;affichage d&#039;une bordure blanche autour des images.&lt;br /&gt;
&lt;br /&gt;
==Améliorations relatives aux outils EDI==&lt;br /&gt;
&lt;br /&gt;
RAD Studio comprend de puissants outils conçus pour faciliter l&#039;écriture de code Delphi et C++. La section suivante présente les améliorations et les mises à jour apportées aux différents outils EDI.&lt;br /&gt;
&lt;br /&gt;
===DelphiLSP===&lt;br /&gt;
&lt;br /&gt;
Cette release s&#039;inscrit dans la continuité des efforts destinés à améliorer l&#039;architecture de DelphiLSP. En &#039;&#039;&#039;réponse à certaines demandes de nos clients Delphi&#039;&#039;&#039;, nous avons choisi de rétablir l&#039;ancien moteur Audit de code Delphi. Il est à nouveau disponible dans RAD Studio 13.0 sous forme d&#039;alternative à la version DelphiLSP disponible dans l&#039;EDI, et accessible à toute personne souhaitant l&#039;utiliser.&lt;br /&gt;
&lt;br /&gt;
{{Note|L&#039;activation du [[Référence de l&#039;Audit de code#Modification du Gestionnaire d&#039;audit de code/LSP|Gestionnaire d&#039;audit de code classique]] affecte certaines fonctionnalités ayant été déplacées dans DelphiLSP,comme le volet Structure, la fonction Audit d&#039;erreur, et la barre de navigation de l&#039;éditeur (la barre d&#039;outils affichée en haut de l&#039;éditeur qui permet de se déplacer dans le code). Ces fonctionnalités ne fonctionnent plus lorsque vous activez le Gestionnaire d&#039;audit de code classique, et nous ne sommes pas en mesure d&#039;annuler ces changements.}}&lt;br /&gt;
&lt;br /&gt;
Le gestionnaire {{code|Audit de code classique}} peut être activé depuis {{Menu|Outils &amp;amp;gt; Options &amp;amp;gt; Editeur &amp;amp;gt; Langage &amp;amp;gt; [[Options du source#Onglet Audit de code|Onglet Audit de code]]}} comme indiqué sur l&#039;image ci-dessous :&lt;br /&gt;
&lt;br /&gt;
[[File:Delphilsp classic codeInsight.png|850px]]&lt;br /&gt;
&lt;br /&gt;
===Expert Delphi Upgrade Advisor===&lt;br /&gt;
&lt;br /&gt;
RAD Studio 13.0 introduit un nouvel Expert, le [[Delphi Upgrade Advisor Wizard|Delphi Upgrade Advisor]], qui permet d&#039;identifier d&#039;importants changements dans la configuration d&#039;un projet et dans le code, permettant ainsi d&#039;améliorer la vitesse de compilation et l&#039;expérience des développeurs avec les outils. Cet expert est disponible sous forme de package GetIt. Une fois installé, un nouveau menu apparaît dans l&#039;EDI.&lt;br /&gt;
&lt;br /&gt;
En plus de fournir des suggestions intéressantes, [[Delphi Upgrade Advisor Wizard|l&#039;Expert Delphi Upgrade Advisor]] propose des scripts reFind qui permettent de nettoyer les instructions uses du projet.&lt;br /&gt;
&lt;br /&gt;
===Visual Assist pour C++===&lt;br /&gt;
&lt;br /&gt;
Dans RAD Studio Florence 13.0, l&#039;intégration VA a été améliorée pour une plus grande cohérence avec la façon dont RAD Studio gère les chaînes d&#039;outils et les configurations de projet.&lt;br /&gt;
&lt;br /&gt;
VA se recharge maintenant automatiquement à chaque fois que vous modifiez la configuration d&#039;un projet, la plate-forme cible, ou la chaîne d&#039;outils. Cela garantit l&#039;exactitude des chemins d&#039;inclusion et de la résolution des symboles même lorsque vous travaillez avec plusieurs projets qui utilisent des paramètres différents au sein d&#039;un même groupe de projets. Pour plus d&#039;informations, voir la page [[Visual Assist for C++|Visual Assist pour C++]].&lt;br /&gt;
&lt;br /&gt;
===Mises à jour du débogueur===&lt;br /&gt;
&lt;br /&gt;
Dans cette release, le débogueur a été mis à jour en LLDB version 20. Le compilateur Clang pour la plate-forme Windows 64 bits (Moderne) a aussi été mis à jour en version 20.&lt;br /&gt;
&lt;br /&gt;
Voici la liste des améliorations relatives au débogueur :&lt;br /&gt;
&lt;br /&gt;
Pour &#039;&#039;&#039;C++&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Amélioration de la façon dont OutputDebugStringW gère les sorties Unicode.&lt;br /&gt;
*Les valeurs caractères étendus non imprimables sont désormais affichées dans le format correct dans la sortie du débogueur.&lt;br /&gt;
*argc et argv gèrent maintenant correctement les arguments contenant des espaces lorsqu&#039;ils sont exécutés sous le débogueur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pour Delphi&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Les valeurs d&#039;énumération de portée restent désormais correctement contenues dans leur type déclaré, évitant les conflits dans l&#039;espace de nommage global. De plus, ces valeurs sont maintenant restituées correctement dans les vues de débogage.&lt;br /&gt;
*Les valeurs des membres d’objet sont maintenant correctement affichées lors du débogage.&lt;br /&gt;
*Les noms de variables de classe sont correctement résolus, avec une gestion améliorée du substantypage.&lt;br /&gt;
*La gestion de la variable Unicode a été améliorée ; le débogueur accepte maintenant un intervalle plus large d&#039;identificateurs Unicode.&lt;br /&gt;
&lt;br /&gt;
De plus, dans les options de l&#039;EDI, vous pouvez activer [[Options du débogueur|Code en surbrillance]] dans les fenêtres de débogage.&lt;br /&gt;
&lt;br /&gt;
===Compilateur de ressources===&lt;br /&gt;
&lt;br /&gt;
Dans cette release, des ajustements ont été apportés à l&#039;intégration du [[Options du compilateur de ressources|Compilateur de ressources]] dans RAD Studio.&lt;br /&gt;
&lt;br /&gt;
Depuis Florence 13.0, RAD Studio distribue un compilateur de ressources open-source supplémentaire, appelé &#039;&#039;&#039;resinator&#039;&#039;&#039;. Il est désormais utilisé par défaut dans le système pour générer le code. Pour plus d&#039;informations sur resinator, voir [https://github.com/squeek502/resinator GitHub resinator].&lt;br /&gt;
&lt;br /&gt;
{{Note|Le compilateur de ressources &#039;&#039;&#039;resinator&#039;&#039;&#039; est uniquement disponible pour le compilateur bcc64x.}}&lt;br /&gt;
&lt;br /&gt;
De nouvelles options ont aussi été ajoutées pour faciliter la sélection d&#039;un autre compilateur de ressources, incluant notamment le compilateur de ressources classique du Windows SDK.&lt;br /&gt;
&lt;br /&gt;
==Mises à jour relatives au compilateur Delphi==&lt;br /&gt;
&lt;br /&gt;
RAD Studio 13.0 intègre des améliorations du langage Delphi, allant d&#039;un nouvel opérateur ternaire à de nouvelles directives de compilation, etc.&lt;br /&gt;
&lt;br /&gt;
===Opérateur conditionnel If===&lt;br /&gt;
&lt;br /&gt;
La release RAD Studio Florence 13.0 introduit un opérateur conditionnel (opérateur ternaire) dans le langage Pascal Objet. Alors que son comportement est similaire à l&#039;opérateur {{code|?:}}, communément trouvé dans d&#039;autres langages de programmation, sa syntaxe ressemble au Pascal Objet, et est similaire à la structure if-then-else.&lt;br /&gt;
&lt;br /&gt;
Pour des exemples et des informations supplémentaires, voir la page [[Conditional Operators (Delphi)|Opérateurs conditionnels (Delphi)]].&lt;br /&gt;
&lt;br /&gt;
===Nouveaux opérateurs “is not” et “not in”===&lt;br /&gt;
&lt;br /&gt;
Le compilateur autorise les opérateurs {{code|“is not”}} et {{code|“not in”}}, ce qui constitue une alternative plus courte et plus lisible aux opérateurs combinés. Pour des exemples, voir la page [[Expressions (Delphi)#Les opérateurs is not et not in|Expressions Delphi]].&lt;br /&gt;
&lt;br /&gt;
===Nouvelle directive “noreturn”===&lt;br /&gt;
&lt;br /&gt;
La directive “noreturn” est un attribut associé aux procédures, indiquant que l&#039;appel va déclencher une exception et ne peut pas poursuivre son exécution normalement. Cela permet au compilateur d&#039;ignorer un avertissement sur des résultats non définis et d&#039;activer l&#039;optimisation et l&#039;élimination de code. Pour des exemples, voir la page [[Déclarations et instructions (Delphi)#La directive noreturn|Déclarations et instructions Delphi]].&lt;br /&gt;
&lt;br /&gt;
La nouvelle directive peut être utilisée pour éliminer les [[W1035 La valeur de retour de la fonction &#039;%s&#039; peut être indéfinie (Delphi)|avertissements W1035]] lorsque des exceptions sont déclenchées, empêchant potentiellement l&#039;affectation d&#039;une valeur correcte. Pour des exemples, voir la page [[W1035 La valeur de retour de la fonction &#039;%s&#039; peut être indéfinie (Delphi)|W1035 La valeur de retour de la fonction &#039;%s&#039; peut être indéfinie]].&lt;br /&gt;
&lt;br /&gt;
===Directives {$PUSHOPT} et {$POPOPT}===&lt;br /&gt;
&lt;br /&gt;
Ces nouvelles directives du compilateur Delphi enregistrent et restaurent l&#039;ensemble actuel de configurations d&#039;avertissement et d&#039;options.&lt;br /&gt;
&lt;br /&gt;
Cette release émet les avertissements suivants sur les directives déséquilibrées.&lt;br /&gt;
&lt;br /&gt;
*[[W1078 $POPOPT with no matching $PUSHOPT in &#039;%s&#039;|W1078]]&lt;br /&gt;
*[[W1079 Previous $PUSHOPT on line %Id not restored|W1079]]&lt;br /&gt;
&lt;br /&gt;
Le même avertissement sera émis à la fin du fichier source s&#039;il y a plus de [[Option OPT (Delphi)#.7B.24PUSHOPT.7D|$PUSHOPT]] que de [[Option OPT (Delphi)#.7B.24POPOPT.7D|$POPOPT]] dans un fichier. Ces nouvelles directives ne peuvent pas être appliquées à toutes les options et à tous les paramètres. Voir la liste des [[Option OPT (Delphi)#Liste des options éligibles|Options éligibles]].&lt;br /&gt;
&lt;br /&gt;
===Prise en charge des directives longues pour la directive {$IFOPT}===&lt;br /&gt;
&lt;br /&gt;
Depuis RAD Studio Florence 13.0, la directive {{code|{$IFOPT}}} prend en charge les directives longues. Voici comment :&lt;br /&gt;
&lt;br /&gt;
 {$IFOPT SCOPEDENUMS ON}&lt;br /&gt;
&lt;br /&gt;
Pour la liste complète des directives prises en charge, voir la page [[Directive IFOPT (Delphi)|$IFOPT]].&lt;br /&gt;
&lt;br /&gt;
===Nouvelles contraintes pour les types génériques===&lt;br /&gt;
&lt;br /&gt;
De nouvelles contraintes ”&#039;&#039;&#039;interface&#039;&#039;&#039;” et “&#039;&#039;&#039;unmanaged&#039;&#039;&#039;” existent pour les types génériques. Les contraintes &amp;quot;unmanaged&amp;quot; remplacent partiellement la contrainte existante sur les enregistrements.&lt;br /&gt;
&lt;br /&gt;
De plus, grâce à ces nouvelles contraintes, il est possible d&#039;autoriser le transtypage L-Value pour une variable de type valeur déclarée avec un type générique. Dans la méthode d&#039;une classe générique, il est désormais possible de transtyper le résultat d&#039;une méthode générique renvoyant le type générique lui-même, selon le type concret utilisé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039; :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
class function TMyData&amp;lt;T&amp;gt;.OperateSubtract(const L, R: T): T;&lt;br /&gt;
begin&lt;br /&gt;
  if (GetTypeKind(T) = tkInteger) and (SizeOf(T) = 1) then&lt;br /&gt;
    Byte(Result) := Byte(L) - Byte(R) // New cast!&lt;br /&gt;
  else if (GetTypeKind(T) = tkInteger) and (SizeOf(T) = 2) then&lt;br /&gt;
    Word(Result) := Word(L) - Word(R) // New cast!&lt;br /&gt;
  // ...&lt;br /&gt;
  else if (GetTypeKind(T) = tkFloat) and (SizeOf(T) = 10) then&lt;br /&gt;
    Extended(Result) := Extended(L) - Extended(R); // New cast!&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonction NameOf Instrict===&lt;br /&gt;
&lt;br /&gt;
Il y a une nouvelle procédure standard NameOf(Identificateur), dont le fonctionnement correspond à la façon dont la fonction C# de même nom fonctionne. Elle peut être transmise à n&#039;importe quel identificateur. La valeur retournée est la représentation chaîne correspondante:&lt;br /&gt;
&lt;br /&gt;
  Memo1.Lines.Add (NameOf (Sender));&lt;br /&gt;
  Memo1.Lines.Add (NameOf (self));&lt;br /&gt;
  Memo1.Lines.Add (NameOf (TForm31));&lt;br /&gt;
  Memo1.Lines.Add (NameOf (X));&lt;br /&gt;
  Memo1.Lines.Add (NameOf (Integer));&lt;br /&gt;
&lt;br /&gt;
===Déclaration de paramètre “Self” implicite dans les opérateurs de classe d&#039;enregistrement Initialize et Finalize===&lt;br /&gt;
&lt;br /&gt;
Les deux opérateurs de classe pour les enregistrements managés personnalisés permettent désormais d&#039;utiliser une syntaxe de déclaration plus concise. Il est en effet possible d&#039;ignorer le paramètre {{code|self}} (qui reste implicitement disponible). Cela n&#039;entraîne aucun changement, que ce soit dans le code généré ou le comportement. Seule la syntaxe est simplifiée.&lt;br /&gt;
&lt;br /&gt;
Pour des exemples, voir la page [[Enregistrements managés personnalisés#Déclaration de paramètre self implicite|Enregistrements managés personnalisés]].&lt;br /&gt;
&lt;br /&gt;
===Améliorations supplémentaires du compilateur Delphi===&lt;br /&gt;
&lt;br /&gt;
La section suivante présente les améliorations supplémentaires du compilateur Delphi.&lt;br /&gt;
&lt;br /&gt;
* La directive [[Packaging faible|$WEAKPACKAGEUNIT]] génère maintenant une erreur ([[E2203 $WEAKPACKAGEUNIT &#039;%s&#039; contient des données globales (Delphi)|E2203]] ou [[E2221 $WEAKPACKAGEUNIT &#039;%s&#039; ne peut avoir de code d&#039;initialisation ou de finalisation (Delphi)|E2221]]) si l&#039;unité contient des variables globales dans les sections interface, des blocs d&#039;initialisation ou de finalisation, ou encore des constructeurs ou destructeurs de classes. &amp;amp;lt;/br&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Cette modification peut empêcher la compilation du code existant.}}&lt;br /&gt;
&lt;br /&gt;
*L&#039;erreur de compilation &#039;&#039;&#039;‘E2033’&#039;&#039;&#039; (Les types des paramètres var originaux et formels doivent être identiques) inclut maintenant les noms des types impliqués.&lt;br /&gt;
* Deux nouveaux avertissements, [[W1076 Typecasting between pointer and narrower integer types: from &#039;%s&#039; to &#039;%s&#039;|W1076]] et [[W1077 Typecasting between pointer and 32-bit integer types can cause problems on 64-bit targets: from &#039;%s&#039; to &#039;%s&#039;|W1077]], ont été ajoutés pour le transtypage de données.&lt;br /&gt;
&lt;br /&gt;
==Plate-forme C++ Moderne Win64 mise à jour vers Clang 20==&lt;br /&gt;
&lt;br /&gt;
La release RAD Studio Florence 13.0 intègre la mise à jour du [[BCC64X|Compilateur C++ Moderne Win64]] depuis Clang 15 (version fournie avec 12.x) vers Clang version 20. Le nouveau compilateur basé sur Clang prend en charge C++23. De plus, cette release intègre la mise à jour de tous les autres éléments de la chaîne d&#039;outils C++ Moderne Win64.&lt;br /&gt;
&lt;br /&gt;
Cette release offre de nombreuses améliorations axées sur les standards C++ modernes, la compatibilité et la stabilité. Vous trouverez ci-dessous les principales améliorations incluses dans cette release :&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Mise à niveau de la chaîne d&#039;outils LLVM (v20)&#039;&#039;&#039; : la chaîne d&#039;outils a été mise à niveau depuis LLVM v15 vers LLVM v20. Cette mise à niveau prend en charge les derniers standards C++ et les optimisations du compilateur.&lt;br /&gt;
*&#039;&#039;&#039;Prise en charge améliorée d&#039;ASAN&#039;&#039;&#039; : le runtime [[Safety|AddressSanitizer (ASAN)]] est maintenant compatible avec Windows 11.&lt;br /&gt;
*&#039;&#039;&#039;Nouvelle option Standard C++&#039;&#039;&#039; : [[BCC64X|BCC64X]] utilise maintenant C++23 par défaut, mais les utilisateurs peuvent choisir de cibler C++20 ou C++17 si nécessaire.&lt;br /&gt;
*&#039;&#039;&#039;Bibliothèques partagées RTL/STL versionnées&#039;&#039;&#039; : les bibliothèques d&#039;exécution partagées (comme {{code|libc++.dll}}) ont maintenant un suffixe indiquant le numéro de version de BDS (par exemple, {{code|libc++-370.dll}}). Cela empêche les conflits d&#039;exécution lorsque plusieurs versions de RAD Studio sont installées.&lt;br /&gt;
*&#039;&#039;&#039;Résolution de problèmes des anciennes versions&#039;&#039;&#039; : de nombreux bogues et incohérences présents dans LLVM v15 et les versions précédentes de la chaîne d&#039;outils ont été résolus dans cette release.&lt;br /&gt;
&lt;br /&gt;
==Améliorations relatives à la RTL Delphi==&lt;br /&gt;
&lt;br /&gt;
Cette release améliore la RTL JSON pour permettre la suppression d&#039;un champ lorsqu&#039;il a une valeur particulière en ajoutant un nouvel attribut. Vous trouverez ci-dessous d&#039;autres améliorations relatives à JSON, ainsi que d&#039;autres mises à jour de la RTL Delphi.&lt;br /&gt;
&lt;br /&gt;
===Pack de composants SmartCore AI===&lt;br /&gt;
&lt;br /&gt;
RAD Studio 13.0 introduit un nouvel ensemble de composants IA conçu pour les clients qui souhaitent ajouter des fonctionnalités d&#039;IA à leurs applications et concevoir avec Delphi ou C++Builder de nouvelles applications centrées sur l&#039;IA. Cette architecture sera un élément central et fondamental à l&#039;avenir. Nos clients et les éditeurs tiers pourront s&#039;appuyer sur cette architecture et l&#039;étendre afin qu&#039;elle s&#039;intègre à de nouveaux contrôles d&#039;interface utilisateur et à d&#039;autres moteurs d&#039;IA.&lt;br /&gt;
&lt;br /&gt;
Le pack de composants SmartCore AI est disponible dans [[Gestionnaire de packages GetIt|GetIt]]. Le nouveau composant Connexion AI s&#039;utilise comme un composant Connexion de base de données dans FireDAC. Ce composant unique indépendant du moteur d&#039;IA utilisera des pilotes spécifiques pour communiquer via REST avec différents moteurs d&#039;IA (y compris OpenAI, Claude, Gemini et Ollama). Le moteur d&#039;IA SmartCore permet d&#039;ajouter des pilotes supplémentaires pour que les fournisseurs d&#039;IA puissent étendre les capacités de votre projet au fur et à mesure que le marché se développe. La configuration est gérée via un expert de connexion IA facile d&#039;emploi.&lt;br /&gt;
&lt;br /&gt;
Ce pack de composants comprend un ensemble de composants permettant d&#039;effectuer des requêtes ou interrogations IA pour différents types de données comme du texte, des images et des données structurées. Ils peuvent être associés à des prompts et être directement liés à des contrôles d&#039;interface utilisateur qui affichent les résultats. Ce modèle basé sur des composants facilite grandement l&#039;utilisation des composants SmartCore AI dans RAD Studio 13.0.&lt;br /&gt;
&lt;br /&gt;
===Traitement JSON===&lt;br /&gt;
&lt;br /&gt;
Cette section répertorie les mises à jour relatives à JSON :&lt;br /&gt;
&lt;br /&gt;
*Les attributs [[lib_fr:REST.Json.TJsonOption|TJsonOption]] {{code|joIgnoreDefault}} et {{code|joIgnoreSpecial}} ont été ajoutés.&lt;br /&gt;
*[[lib_fr:REST.JsonReflect.TMarshalUnmarshalBase.ValueSerialization|TMarshalUnmarshalBase.ValueSerialization]] : utilisation de TJsonValueSerialization avec jvExcludeSpecial  activée par défaut.&lt;br /&gt;
*Le comportement de [[lib_fr:System.JSON.TJSONValue.GetValue|TJSONValue.GetValue]]&amp;amp;lt;T&amp;amp;gt;(const APath: string; ADefaultValue: T): T a changé : la propriété recherche une valeur JSON. Si la valeur JSON est trouvée, elle est convertie dans le type spécifié. Si la valeur n&#039;est pas trouvée, si elle ne peut pas être restaurée, ou si elle est null, une valeur par défaut est renvoyée.&lt;br /&gt;
* La classe [[lib_fr:System.JSON.TJSONNumber|TJSONNumber]] est maintenant directement héritée de la classe {{code|TJSONValue}}.&lt;br /&gt;
* La classe [[lib_fr:System.JSON.TJSONObject|TJSONObject]] est marquée comme &amp;quot;sealed&amp;quot;.&lt;br /&gt;
*TJsonReader a maintenant ReadAsUInt64.&lt;br /&gt;
&lt;br /&gt;
Le sérialiseur JSON offre la possibilité d&#039;ignorer les propriétés avec des valeurs par défaut :&lt;br /&gt;
&lt;br /&gt;
*Nouvelle méthode surchargée TJsonConverter.CanWrite(AValue).&lt;br /&gt;
*La propriété [[lib_fr:System.JSON.Serializers.TJsonSerializer.MemberSerialization|TJsonSerializer.MemberSerialization]]: TJsonMemberSerialization a par défaut la valeur TJsonMemberSerialization.Fields.&lt;br /&gt;
&lt;br /&gt;
===Autres modifications relatives à la RTL Delphi===&lt;br /&gt;
&lt;br /&gt;
La section suivante indique les autres modifications relatives à la RTL Delphi pour la release RAD Studio Florence 13.0.&lt;br /&gt;
&lt;br /&gt;
*Actualisation des API WinRT, capture externe des en-têtes WinAPI à partir de la définition WinMD (dans GetIt), et nettoyage des déclarations WinAPI dans les fichiers RTL.&lt;br /&gt;
*Mise à jour de la version intégrée de DUnitX vers la version 0.4.1 (dernière modification en date du 26 juin 2025).&lt;br /&gt;
*Ajout d&#039;une version sensible à la casse de la fonction [[lib_fr:System.SysUtils.TStringHelper.Contains|TStringHelper.Contains]].&lt;br /&gt;
*Ajout de l&#039;unité System.StrUtils.LiteralToInt qui fournit des fonctions prenant en charge les littéraux entiers contenant &amp;quot;_&amp;quot; et des notations binaires contenant &amp;quot;%&amp;quot;. Par conséquent, les classes TIntegerProperty et TInt64Property utilisent maintenant TryLiteralToInt.&lt;br /&gt;
*Ajout d&#039;une nouvelle propriété [[lib_fr:System.IOUtils.TPath.Exists|TPath.Exists]].&lt;br /&gt;
*Ajout de [[lib_fr:System.Win.Registry.TRegistry.ReadUInt64|ReadUInt64]] et [[lib_fr:System.Win.Registry.TRegistry.WriteUInt64|WriteUInt64]] à la classe TRegistry.&lt;br /&gt;
*TThreadedQueue a maintenant une propriété Count pour assurer la cohérence des noms.&lt;br /&gt;
*Mise à jour de TDictionary&amp;amp;lt;K,V&amp;amp;gt; et TOrderedDictionary&amp;amp;lt;K,V&amp;amp;gt;. Le transtypage de TOrderedDictionary en TDictionary préserve le comportement de TOrderedDictionary.&lt;br /&gt;
*Les constructeurs des classes de synchronisation TMutex, TSemaphore et TEvent définissent maintenant la propriété THandleObject.LastError avant de revenir à l&#039;appelant.&lt;br /&gt;
*Mise à disposition d&#039;un constructeur TStringList avec la signature:&amp;amp;lt;/br&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 constructor Create(Options: TStringsOptions; Duplicates: TDuplicates = dupIgnore); overload;&lt;br /&gt;
&lt;br /&gt;
*L&#039;unité System.RTTI a une nouvelle fonction GetStorageSize pour lire le nombre d&#039;octets requis pour stocker une valeur de ce type dans la mémoire.&lt;br /&gt;
*Ajout d&#039;une nouvelle méthode TSizeF.Zero.&lt;br /&gt;
*Pour le débogage des scénarios de verrou mortel, nous avons ajouté la propriété WriterID à IReadWrite/TMultiReadExclusiveWriteSync.&lt;br /&gt;
*&lt;br /&gt;
 Restructuration de TRttiDataMember en introduisant une nouvelle classe intermédiaire :&lt;br /&gt;
**TRttiPlaceMember&lt;br /&gt;
**TRttiDataMember&lt;br /&gt;
**TRttiIndexedProperty&lt;br /&gt;
&lt;br /&gt;
==Améliorations relatives à la VCL==&lt;br /&gt;
&lt;br /&gt;
Dans 13.0, RAD Studio introduit de nouvelles fonctionnalités et de nombreuses améliorations de qualité pour les puissantes bibliothèques d&#039;interface utilisateur intégrées. La VCL inclut une intégration des interfaces Microsoft UIAutomation, des styles TitleBar, etc.&lt;br /&gt;
&lt;br /&gt;
===Prise en charge d&#039;UIAutomation===&lt;br /&gt;
&lt;br /&gt;
Pour améliorer l&#039;accessibilité et l&#039;intégration des applications VCL avec les outils de test d&#039;interface utilisateur, la prise en charge de UIAutomation dans la bibliothèque VCL est maintenant intégrée à la version 13.0.&lt;br /&gt;
&lt;br /&gt;
===Améliorations relatives à barre de titre===&lt;br /&gt;
&lt;br /&gt;
Dans cette release, TitleBarPanel prend en charge les styles VCL personnalisés. Cela permet de dessiner des contrôles stylés dans la zone de barre de titre.&lt;br /&gt;
&lt;br /&gt;
De plus, cette release apporte les mises à jour suivantes :&lt;br /&gt;
&lt;br /&gt;
*Ajout d&#039;une nouvelle propriété TTitleBar.StyleColors pour permettre l&#039;utilisation automatique des couleurs des styles VCL pour l&#039;arrière-plan et les boutons sur la barre de titre. La prise en charge inclut l&#039;utilisation des contrôles suivants : TButton, TSpeedButton, TCheckBox, TRadioButton, TToolBar, TEdit, TComboBox, TFormTabsBar, TActionToolBar et TActionMainMenuBar.&lt;br /&gt;
*Amélioration de l&#039;utilisation de la barre de titre dans les applications MDI.&lt;br /&gt;
*Ajout de la prise en charge des conseils pour les boutons des clients sur la barre de titre.&lt;br /&gt;
*Améliorations relatives à la prise en charge HighDPI&lt;br /&gt;
&lt;br /&gt;
===Améliorations relatives au composant ControlList===&lt;br /&gt;
&lt;br /&gt;
Dans RAD Studio Florence 13.0, les améliorations suivantes ont été apportées au composant ControlList :&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
 Le composant ControlList prend en charge un nouveau type de contrôle hébergé : SplitButton. Cette implémentation implique les changements suivants :&lt;br /&gt;
**Les styles clbkSplitPushButton et clbkSplitToolButton pour le contrôle TControlListButton.&lt;br /&gt;
**Un nouvel aspect pour la zone de menu déroulant d&#039;un bouton fractionné avec une flèche.&lt;br /&gt;
**Propriété DropDownMenu pour le contrôle TControlListButton.&lt;br /&gt;
*Ajout d&#039;un nouvel événement OnGetItemHint et d&#039;une nouvelle propriété ShowItemHint pour offrir des conseils par élément, plutôt que des conseils globaux pour les contrôles.&lt;br /&gt;
&lt;br /&gt;
===Améliorations relatives au composant FormsTabsBar===&lt;br /&gt;
&lt;br /&gt;
RAD Studio Florence 13.0 comporte les améliorations suivantes pour le composant FormsTabsBar, introduit dans RAD Studio 12 :&lt;br /&gt;
&lt;br /&gt;
*Ajout de la prise en charge de la transparence avec deux nouvelles propriétés : Transparent et ShowBottomLine.&lt;br /&gt;
*Ajout d&#039;un nouvel événement OnGetTabCaption qui rend le TFormTabsBar plus flexible.&lt;br /&gt;
*Les méthodes TabFromPoint et TabIndexFromPoint sont maintenant publiques.&lt;br /&gt;
*Ajout d&#039;une nouvelle propriété MouseMiddleButtonClose pour fermer un onglet avec le bouton central de la souris.&lt;br /&gt;
&lt;br /&gt;
===Mise à jour de EdgeBrowser===&lt;br /&gt;
&lt;br /&gt;
Cette release intègre une mise à jour des interfaces au contrôle Microsoft WebView 2 (Edge basé sur Chromium) vers la version 1.0.3296.44 du SDK WebView2.&lt;br /&gt;
&lt;br /&gt;
De plus, elle intègre également des mises à jour du composant TEdgeBrowser (et la démo correspondante) pour prendre en charge AddWebResourceRequestedFilterWithRequestSourceKinds à la place de AddWebResourceRequestedFilter.&lt;br /&gt;
&lt;br /&gt;
===Démo WinUI 3===&lt;br /&gt;
&lt;br /&gt;
Cette release intègre la mise à jour des en-têtes WinUI 3 et la démo WinUI 3 autonome, précédemment téléchargeables de façon individuelle via GetIt, et maintenant intégrées dans les démos du produit principal.&lt;br /&gt;
&lt;br /&gt;
===Défilement ActionMainMenuBar===&lt;br /&gt;
&lt;br /&gt;
Cette release intègre une nouvelle fonctionnalité de défilement pour le contrôle TActionMainMenuBar, qui est activée lorsque la hauteur verticale dépasse la hauteur de l&#039;écran.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous un exemple de cette fonctionnalité en action. Veuillez noter qu&#039;elle peut également être utilisée par l&#039;EDI de RAD Studio, lorsqu&#039;il est exécuté sur un écran basse résolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Actionmenus scrollintest.png|=link|border]]&lt;br /&gt;
&lt;br /&gt;
===Autres améliorations de la VCL===&lt;br /&gt;
&lt;br /&gt;
Voici des mises à jour et modifications supplémentaires intégrées dans la VCL.&lt;br /&gt;
&lt;br /&gt;
*Suppression de la prise en charge spécifique à Win98 dans le code VCL.&lt;br /&gt;
*Amélioration du contrôle TToggleSwitch pour qu&#039;il ressemble à un commutateur à bascule Windows 10 / Windows 11, mettant à jour la &amp;quot;famille de styles VCL Windows 10&amp;quot;.&lt;br /&gt;
*Mise à jour de la classe TDragDockObject pour que DropAlign soit une propriété en lecture-écriture.&lt;br /&gt;
*Ajout d&#039;un nouvel événement TActionMainMenuBar.OnSelectMenuItem pour permettre l&#039;affichage de conseils pour les éléments de menu dans le composant ActionMainMenuBar.&lt;br /&gt;
* Le contrôle TCategoryButtons comporte maintenant les propriétés [[lib_fr:Vcl.CategoryButtons.TBaseButtonItem.Enabled|Enabled]] et [[lib_fr:Vcl.CategoryButtons.TButtonCategory.CanCollapse|CanCollapse]] de TBaseButtonItem et TButtonCategory.&lt;br /&gt;
*Nouvelle propriété TStyleManager.FormBorderSize.&lt;br /&gt;
*Nouvel événement TMonthCalendar.OnChange.&lt;br /&gt;
*Nouveaux événements OnBeforeResize et OnAfterResize ajoutés pour TSplitter.&lt;br /&gt;
*Ajout d&#039;une nouvelle fonction publique, VCLEditors.GetFormDPIForVCLEditors, pour simplifier le développement d&#039;éditeurs VCL sous l&#039;EDI HiDPI.&lt;br /&gt;
*TCanvas offre de nouvelles méthodes surchargées avec des paramètres TPoint pour les méthodes suivantes : AngleArc, Draw, LineTo, MoveTo, FloodFill et TextOut.&lt;br /&gt;
&lt;br /&gt;
==Mises à jour de FireMonkey==&lt;br /&gt;
&lt;br /&gt;
Dans RAD Studio 13.0, FireMonkey intègre une nouvelle fonctionnalité Display Link Service qui améliore sensiblement la stabilité et la fluidité des animations. Le framework offre également des gains de performances lors de la copie des bitmaps grâce à l&#039;unité GPU, un tout nouveau composant MaskEdit.&lt;br /&gt;
&lt;br /&gt;
Cette section répertorie les mises à jour et les améliorations apportées à [[FireMonkey|FireMonkey]].&lt;br /&gt;
&lt;br /&gt;
===API pour les plates-formes Apple===&lt;br /&gt;
&lt;br /&gt;
La release RAD Studio Florence 13.0 offre une mise à jour et une extension importantes des API des plates-formes iOS et macOS disponibles dans les fichiers d&#039;en-tête Delphi. Cette release intègre également la mise à jour de tous les en-têtes des API iOS de la RTL vers &#039;&#039;&#039;iOS 18.4&#039;&#039;&#039;. Les extensions spécifiques incluent :&lt;br /&gt;
&lt;br /&gt;
*Ajout des fonctions NSWindow manquantes.&lt;br /&gt;
*Support étendu des liens universels (dans [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iOSapi.Foundation]]).&lt;br /&gt;
*Ajout de fonctions constantes CoreText supplémentaires dans [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iOSapi.CoreText.pas]].&lt;br /&gt;
*Ajout de {{code|coalescedTouchesForTouch}}(touch: UITouch): NSArray; cdecl; à l&#039;interface UIEvent dans [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iOSapi.UIKit]].&lt;br /&gt;
*Ajout de déclarations de méthode manquantes dans les interfaces {{code|UITextView}} et {{code|UITextField}} dans [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iOSapi.UIKit.pas]].&lt;br /&gt;
*Ajout de la méthode {{code|&amp;amp;amp;string}} dans l&#039;interface {{code|NSAttributedString}} dans [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iOSapi.Foundation.pas]].&lt;br /&gt;
*Ajout des déclarations {{code|CVMetalTexture}} et {{code|CVMetalTextureCache}} dans [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iOSapi.CoreVideo.pas]].&lt;br /&gt;
*Ajout de fonctions manquantes dans [[Développement d&#039;applications macOS#Mac Objective-C Frameworks .28Macapi.29|Macapi.QuartzCore.pas]].&lt;br /&gt;
*Ajout d&#039;interfaces et de méthodes dans [[Développement d&#039;applications macOS#Mac Objective-C Frameworks .28Macapi.29|Macapi.AppKit.pas]].&lt;br /&gt;
*Ajout de la déclaration de {{code|CTFontManagerRegisterGraphicsFont}} dans [[Développement d&#039;applications macOS#Mac Objective-C Frameworks .28Macapi.29|Macapi.CoreText.pas]].&lt;br /&gt;
*Mise à jour de [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iosapi.CoreLocation]] dans iOS 18.4, y compris la prise en charge de {{code|CLVisit}}.&lt;br /&gt;
*Ajout des nouveaux fichiers [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iOSapi.CoreMIDI]], [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iOSapi.CoreAudioTypes]].&lt;br /&gt;
*L&#039;unité iOSapi.AudioToolbox a été mise à jour vers iOS 18.4. Le framework {{code|AudioUnit}} a été supprimé car il est obsolète. AudioToolbox doit être utilisé à la place.&lt;br /&gt;
*Extension de l&#039;objet {{code|AVAudioSession}} importé dans [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iOSapi.AVFoundation]].&lt;br /&gt;
*Nouvel en-tête [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iOSapi.ImageIO]].&lt;br /&gt;
&lt;br /&gt;
===API de la plate-forme Android===&lt;br /&gt;
&lt;br /&gt;
RAD Studio Florence 13.0 cible l&#039;API Android niveau 35 par défaut, et inclut des outils pour prendre en charge les nouveaux niveaux de l&#039;API dans le futur.&lt;br /&gt;
&lt;br /&gt;
Voici des modifications supplémentaires :&lt;br /&gt;
&lt;br /&gt;
*Amélioration de la classe TTexture pour prendre en charge la cible {{code|GL_TEXTURE_EXTERNAL_OES}}.&lt;br /&gt;
*Remaniement de l&#039;outil en ligne de commande {{code|Java2OP}}, en remplaçant {{code|Doclava}} par le nouvel outil en ligne de commande {{code|jparser}}. Cela élimine les problèmes associés à la réimplémentation des API déclarées dans les packages exportés par les modules de la plate-forme.&lt;br /&gt;
*Ajout de getEventTimeNanos et getHistoricalEventTimeNanos à JMotionEvent dans Androidapi.JNI.GraphicsContentViewText.pas.&lt;br /&gt;
*Mise à jour de l&#039;outil en ligne de commande {{code|manifestmerger}} vers la version 31.10.1.&lt;br /&gt;
*Mise à jour de l&#039;outil en ligne de commande {{code|AAPT2}} vers la version 8.10.1.&lt;br /&gt;
*Mise à jour de l&#039;utilitaire en ligne de commande {{code|dexter}} vers la version 1.0.1.&lt;br /&gt;
*Mise à jour de l&#039;utilitaire en ligne de commande {{code|rclasser}} vers la version 1.0.1.&lt;br /&gt;
*Mise à jour de l&#039;utilitaire en ligne de commande {{code|bundletool}} vers la version 1.18.1.&lt;br /&gt;
*Mise à jour de l&#039;utilitaire en ligne de commande {{code|packager}} vers la version 1.2.1.&lt;br /&gt;
&lt;br /&gt;
===Contrôle MaskEdit===&lt;br /&gt;
&lt;br /&gt;
RAD Studio Florence 13.0 introduit un nouveau contrôle MaskEdit pour FireMonkey qui inclut un concepteur spécifique pour les masques de saisie.&lt;br /&gt;
&lt;br /&gt;
[[File:Maskedit.png|=link|border]]&lt;br /&gt;
&lt;br /&gt;
Contrairement à son équivalent VCL, dans l&#039;implémentation FMX TMaskEdit, une exception n&#039;est pas déclenchée si la valeur en cours dans l&#039;éditeur de masque de saisie n&#039;est pas valide. A la place, il est recommandé d&#039;utiliser l&#039;événement OnValidateError. Cet événement permet au développeur de fournir à l&#039;utilisateur un retour visuel à propos d&#039;une valeur non valide. Si la valeur est toujours incorrecte après la réinitialisation de la focalisation, elle reste dans un état non valide, et l&#039;événement OnChange n&#039;est pas déclenché jusqu&#039;à ce que la valeur devienne valide.&lt;br /&gt;
&lt;br /&gt;
===Nouvelle fonctionnalité Display Link Service===&lt;br /&gt;
&lt;br /&gt;
La nouvelle fonctionnalité Display Link Service pour FMX est maintenant le moteur central pour toutes les animations de l&#039;application, remplaçant entièrement l&#039;ancien moteur basé sur des timers.&lt;br /&gt;
&lt;br /&gt;
Ce système précis exploite le taux de rafraîchissement réel de l&#039;écran pour synchroniser et lancer toutes les mises à jour et animations de l&#039;interface utilisateur. En utilisant les API natives de la plate-forme comme JChoreographer (Android) et CADisplayLink (iOS), le service garantit que le traitement des animations est étroitement aligné sur les événements VSync, ce qui se traduit par des visuels plus fluides et plus cohérents sur toutes les plates-formes.&lt;br /&gt;
&lt;br /&gt;
{{Note|Vous remarquerez que cette modification fondamentale et structurelle implique des changements et des incompatibilités avec le code existant. Par exemple, la propriété {{code|Interval}} dans [[lib_fr:FMX.InertialMovement.TAniCalculations|TAniCalculations]] a été supprimée&amp;lt;ref name=&amp;quot;”TAniCalculations”&amp;quot; /&amp;gt;, alors que d&#039;autres propriétés ont été modifiées de TDateTime en Double.}}&lt;br /&gt;
&lt;br /&gt;
===FMX Linux===&lt;br /&gt;
&lt;br /&gt;
Pour la release RAD Studio Florence 13.0, une nouvelle version de FMX Linux est disponible dans les packages [[Gestionnaire de packages GetIt|GetIt]]. De même, l&#039;intégration de la bibliothèque à l&#039;EDI est maintenant plus fluide.&lt;br /&gt;
&lt;br /&gt;
===Mises à jour de Skia===&lt;br /&gt;
&lt;br /&gt;
La release RAD Studio Florence 13.0 intègre la mise à jour de la dernière version 7.0.0 de la bibliothèque Skia ([[Skia4Delphi|Skia4Delphi - RAD Studio]]). Cette mise à jour résout plusieurs problèmes et permet une meilleure intégration de Skia.&lt;br /&gt;
&lt;br /&gt;
Voir [https://github.com/skia4delphi/skia4delphi/releases Releases - skia4delphi/skia4delphi]&lt;br /&gt;
&lt;br /&gt;
===Améliorations supplémentaires relatives aux contrôles et composants FireMonkey===&lt;br /&gt;
&lt;br /&gt;
Voici des mises à jour et modifications supplémentaires apportées aux contrôles et composants FireMonkey.&lt;br /&gt;
&lt;br /&gt;
*Le composant TComboEdit prend maintenant en charge le remplissage automatique de la saisie avec une configuration de texte modifiable.&lt;br /&gt;
*Ajout d&#039;un nouvel ensemble de propriétés au [[lib_fr:FMX.ScrollBox.TPresentedScrollBox|TPresentedScrollBox]] pour que l&#039;utilisateur puisse contrôler les animations de défilement, les rebonds et les interactions tactiles. Voici les nouvelles propriétés : [[lib_fr:FMX.ScrollBox.TCustomPresentedScrollBox.AutoHide|AutoHide]], [[lib_fr:FMX.ScrollBox.TCustomPresentedScrollBox.Bounces|Bounces]], [[lib_fr:FMX.ScrollBox.TCustomPresentedScrollBox.ScrollAnimation|ScrollAnimation]], [[lib_fr:FMX.ScrollBox.TCustomPresentedScrollBox.ScrollDirections|ScrollDirections]], et [[lib_fr:FMX.ScrollBox.TCustomPresentedScrollBox.TouchTracking|TouchTracking]].&lt;br /&gt;
*Ajout du nouveau composant TApplicationEvents.&lt;br /&gt;
*Changement de TDateTime en Double car l&#039;API fonctionne maintenant avec des intervalles mesurés en seconde. Le DisplayLink d&#039;iOS fonctionne en secondes, alors que le JChoreographer d&#039;Android fonctionne en nanosecondes.&lt;br /&gt;
*Conversion des méthodes de FMX.Text.TextEditor et FMX.Text.SpellingManager pour qu&#039;elles soient virtuelles.&lt;br /&gt;
* Remaniement de {{code|IFMXSpellCheckerService}} avec la nouvelle interface {{code|IFMXSpellCheckerServiceEx}}, qui permet de travailler avec différentes langues et phrases.&lt;br /&gt;
*Publication de la propriété HitTest pour le composant TGlyph.&lt;br /&gt;
*Ajout d&#039;une propriété [[lib_fr:FMX.Memo.TCustomMemo.TextPrompt|TextPrompt]] à TMemo, utilisée comme texte indicatif lorsqu&#039;aucun texte n&#039;est présent. Fonctionne comme un TEdit.&lt;br /&gt;
*Ajout d&#039;un nouvel événement OnCheckedChange pour TListBoxItem.&lt;br /&gt;
*Ajout de la prise en charge de l&#039;orientation pour la poignée dans le style TSplitter.&lt;br /&gt;
*Publication de la propriété de TouchTargetExpansion pour TShape et d&#039;autres contrôles visuels.&lt;br /&gt;
*Les icônes de boutons TBindNavigator peuvent maintenant être modifiés via les styles.&lt;br /&gt;
*Ajout d&#039;une nouvelle propriété Reverse à TTrackBar , qui permet d&#039;inverser la barre graduée. De plus, TTrackBar prend maintenant en charge le défilement avec la molette de la souris.&lt;br /&gt;
*La hauteur de MenuItem était auparavant une constante. Maintenant, l&#039;utilisateur peut ajouter un objet TStyleTag avec StyleName=“height“ au style TMenuItem et spécifier la hauteur de l&#039;élément de menu dans la propriété Value.&lt;br /&gt;
*TGlyph a de nouvelles propriétés, ImageRect et Bitmap, qui autorisent des tailles et coordonnées de dessin réelles.&lt;br /&gt;
*La valeur FContentHeight du composant TExpander est maintenant accessible dans la propriété ContentHeight.&lt;br /&gt;
*Amélioration de la saisie dans TStringGrid TPopupColumn.&lt;br /&gt;
*Introduction des méthodes virtuelles DoStateChanged pour TRadioButton, TCheckBox et TArcDial.&lt;br /&gt;
*Une nouvelle assistance de propriété de classe de type TCanvasHelper dans TCustomCanvasGpu a été conçue pour les développeurs souhaitant étendre la bibliothèque FMX.&lt;br /&gt;
*Le FMX.TListBoxGroupHeader a maintenant la propriété TextSetting.Trimming.&lt;br /&gt;
*Ajout de la propriété AutoTranslate à TMainMenu et TPopupMenu.&lt;br /&gt;
*Ajout d&#039;une version surchargée de la méthode EvaluateJavaScript à TWebBrowser, avec un paramètre TJavaScriptResultCallback.&lt;br /&gt;
*Ajout d&#039;un nouveau composant, TApplicationEvents, similaire à l&#039;équivalent VCL.&lt;br /&gt;
*Mise à jour de [[lib_fr:FMX.Types.TAlignLayout|TAlignLayout]] de façon à intégrer de nouvelles options d&#039;alignement pour le centrage des contrôles. Les nouvelles méthodes d&#039;alignement incluent : {{code|TopCenter}}, {{code|TopLeft}}, {{code|TopRight}}, {{code|LeftCenter}}, {{code|LeftTop}}, {{code|LeftBottom}}, {{code|RightCenter}}, {{code|RightTop}}, {{code|RightBottom}}, {{code|BottomCenter}}, {{code|BottomLeft}} et {{code|BottomRight}}.&lt;br /&gt;
*Ajout de la prise en charge de la version 16.0 des symboles des emojis.&lt;br /&gt;
*TBindNavigator permet maintenant de configurer des conseils et des styles spécifiques pour chaque bouton, en utilisant les sous-propriétés de la propriété [[lib_fr:Fmx.Bind.Navigator.TCustomBindNavigator.ButtonsOptions|ButtonsOptions]].&lt;br /&gt;
&lt;br /&gt;
====Autres améliorations relatives aux applications mobiles====&lt;br /&gt;
&lt;br /&gt;
*Prise en charge du mode plein écran pour iOS.&lt;br /&gt;
*RAD Studio transmet maintenant les paramètres de démarrage iOS, qui peuvent être utilisés pour les interactions avec d&#039;autres frameworks et applications (voir [[lib_fr:FMX.Platform.TApplicationEvent|TApplicationEvent]]; {{code|FinishedLaunching}}).&lt;br /&gt;
*Problème de dictée vocale résolu sur iOS.&lt;br /&gt;
*Ajout de la possibilité de désactiver le rebond dans une vue liste sur iOS, à l&#039;aide de la nouvelle propriété [[lib_fr:FMX.ListView.TListViewBase.Bounces|TListView.Bounces]]. Cette propriété permet à un développeur de contrôler la possibilité de faire défiler le contenu au-delà de ses limites. Cela concerne uniquement l&#039;écran tactile.&lt;br /&gt;
&lt;br /&gt;
==Base de données et FireDAC==&lt;br /&gt;
&lt;br /&gt;
Cette partie du produit englobe de nombreuses améliorations allant de la prise en charge étendue des champs de base de données Unsigned Big Integer (grand entier non signé) à une plus grande flexibilité lors du déplacement d&#039;un champ depuis l&#039;éditeur de champs vers une fiche visuelle.&lt;br /&gt;
&lt;br /&gt;
Cette section répertorie les mises à jour et les améliorations apportées aux composants Database et [[FireDAC|FireDAC]].&lt;br /&gt;
&lt;br /&gt;
===RTL des bases de données===&lt;br /&gt;
&lt;br /&gt;
Cette section répertorie les mises à jour et les améliorations apportées à la RTL des bases de données :&lt;br /&gt;
&lt;br /&gt;
*Ajout d&#039;un nouveau type de champ à [[lib_fr:Data.DB.TFieldType|TFieldType]] pour prendre en charge les champs Unsigned Big Integer (grand entier non signé). FireDAC prend maintenant en charge le nouveau type {{code|TFieldType.ftLargeUint}} via les pilotes Oracle et MySQL, ainsi que le [[lib_fr:FireDAC.Comp.Client.TFDMemTable|TFDMemTable]].&lt;br /&gt;
*Ajout d&#039;une nouvelle propriété [[lib_fr:Vcl.DBCtrls.TDBText.EllipsisPosition|EllipsisPosition]] au composant TDBText VCL, qui fonctionne de la même façon qu&#039;avec TLabel.&lt;br /&gt;
*&lt;br /&gt;
 Ajout de nouvelles propriétés DataSet pour accéder aux objets DataSource attachés :&lt;br /&gt;
**Propriété [[lib_fr:Data.DB.TDataSet.DataSourceCount|TDataSet.DataSourceCount]].&lt;br /&gt;
**Propriété  [[lib_fr:Data.DB.TDataSet.DataSources|TDataSet.DataSources]].&lt;br /&gt;
*Ajout d&#039;une procédure {{code|DrpCtrls.RegisterFieldControl}} surchargée qui permet une configuration personnalisée du contrôle personnalisé créé. Voir l&#039;exemple ci-dessous :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
uses DrpCtrls;&lt;br /&gt;
  RegisterFieldControl(TIntegerField, &#039;TDBLabeledEdit&#039;,&lt;br /&gt;
    procedure (Control: TControl; DataSource: TDataSource; Field: TField)&lt;br /&gt;
    var&lt;br /&gt;
      LEdit: TDBLabeledEdit;&lt;br /&gt;
    begin&lt;br /&gt;
      LEdit := Control as TDBLabeledEdit;&lt;br /&gt;
      LEdit.DataSource := DataSource;&lt;br /&gt;
      LEdit.DataField := Field.FullName;&lt;br /&gt;
      LEdit.EditLabel.Caption := Field.DisplayLabel;&lt;br /&gt;
    end);&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===FireDAC===&lt;br /&gt;
&lt;br /&gt;
Cette release intègre les mises à jour et améliorations suivantes de [[FireDAC|FireDAC]] :&lt;br /&gt;
&lt;br /&gt;
*Ajout de la prise en charge des opérations parallèles dans {{code|TFDFBBackup}} pour Firebird 5.0+. ParallelWorkers ([[lib_fr:FireDAC.Phys.IBBase.TFDIBBackup.ParallelWorkers|TFDIBBackup]], [[lib_fr:FireDAC.Phys.IBBase.TFDIBRestore.ParallelWorkers|TFDIBRestore]], et [[lib_fr:FireDAC.Phys.IBBase.TFDIBValidate.ParallelWorkers|TFDIBValidate]]) spécifie le nombre de processus de travail parallèles utilisés par un gestionnaire de service pour exécuter les tâches requises.&lt;br /&gt;
*[[lib_fr:FireDAC.Comp.Client.TFDMemTable|TFDMemTable]] prend en charge {{code|RecsSkip}} et {{code|RecsMax}}. Les paramètres RecsSkip et RecsMax sont appliqués quand la propriété [[lib_fr:FireDAC.Comp.Client.TFDMemTable.Filter|Filter]] a la valeur {{code|True}}.&lt;br /&gt;
*&lt;br /&gt;
 Ajout d&#039;une plus grande flexibilité à FireDAC lors du renvoi de données textuelles pour les types tableau PostgreSQL. Voici deux façons d&#039;afficher les champs {{code|relacl}} sous forme de texte lisible :&lt;br /&gt;
**transtyper un champ - {{code|relacl::TEXT}}&lt;br /&gt;
**définir [[lib_fr:FireDAC.Stan.Option.TFDResourceOptions.DirectExecute|ResourceOptions.DirectExecute]] sur {{code|True}}. Ensuite, FireDAC en interne utilisera le format textuel de PostgreSQL pour les ensembles de résultats.&lt;br /&gt;
*Conversion en méthodes virtuelles de certaines méthodes en relation avec les transactions dans les classes [[lib_fr:FireDAC.Comp.Client.TFDCustomConnection|TFDCustomConnection]] et [[lib_fr:FireDAC.Comp.Client.TFDCustomTransaction|TFDCustomTransaction]] pour faciliter la personnalisation du comportement des classes dérivées.&lt;br /&gt;
*[[lib_fr:FireDAC.Comp.Client.TFDMemTable|TFDMemTable]] permet le chargement du JSON standard (non généré en enregistrant les données à partir de FireDAC) en utilisant le nouveau format [[lib_fr:FireDAC.Stan.Intf.TFDStorageFormat|TFDStorageFormat.sfFreeFormJSON]]. &amp;amp;lt;/br&amp;amp;gt; Exemples :&lt;br /&gt;
&lt;br /&gt;
 FDMemTable1.LoadFromFile(&#039;test.json&#039;, sfFreeFormJSON);&lt;br /&gt;
 FDMemTable1.SaveToFile(&#039;test2.json&#039;, sfFreeFormJSON).&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
 Pour les connexions Oracle, RAD Studio Florence 13.0 ajoute la prise en charge de l&#039;authentification OAuth 2.0 pour le composant FireDAC [[lib_fr:FireDAC.Comp.Client.TFDConnection|TFDConnection]] dans Delphi.&lt;br /&gt;
**&lt;br /&gt;
 Nouveaux paramètres de définition de connexion [[Connexion à Oracle Server (FireDAC)#Paramètres de définition de connexion]] : &lt;br /&gt;
***&#039;&#039;&#039;OAuth_Token&#039;&#039;&#039; - spécifie un token OAuth2 ou IAM. Requiert Oracle 19.13.&lt;br /&gt;
***&#039;&#039;&#039;OAuth_PrivKey&#039;&#039;&#039; - spécifie une clé privée IAM PoP. Lorsqu&#039;elle est spécifiée, l&#039;authentification basée sur un token IAM est utilisée ; sinon, l&#039;authentification Azure OAuth2 est utilisée. Requiert Oracle 19.13.&lt;br /&gt;
**Utilisez le composant [[lib_fr:REST.Authenticator.OAuth.TOAuth2Authenticator|TOAuth2Authenticator]] pour obtenir un token OAuth2. Utilisez la fonction de [[Récupération d&#039;une connexion (FireDAC)|Récupération automatique de connexion]] pour renouveler et soumettre un nouveau token.&lt;br /&gt;
&lt;br /&gt;
===DataSnap===&lt;br /&gt;
&lt;br /&gt;
Cette release ajoute des événements de validation de certificat à TFDConnection et TDSClientCallbackChannelManager, qui peuvent utiliser HTTPS comme protocole de transport :&lt;br /&gt;
&lt;br /&gt;
*[[lib_fr:FireDAC.Comp.Client.TFDConnection.ValidatePeerCertificate|TFDConnection.ValidatePeerCertificate]].&lt;br /&gt;
*[[lib_fr:Datasnap.DSCommon.TDSClientCallbackChannelManager.ValidatePeerCertificate|TDSClientCallbackChannelManager.ValidatePeerCertificate]].&lt;br /&gt;
&lt;br /&gt;
==Mises à jour des bibliothèques client Web==&lt;br /&gt;
&lt;br /&gt;
La release RAD Studio Florence 13.0 apporte les mises à jour suivantes :&lt;br /&gt;
&lt;br /&gt;
*Ajout de la prise en charge du protocole HTTP/3 vers THttpClient via [[lib_fr:REST.HttpClient.TRESTHTTP.ProtocolVersion|THTTPProtocolVersion.HTTP_3_0]].&lt;br /&gt;
*Pour les clients SOAP, une version asynchrone de [[lib_fr:Soap.SOAPHTTPTrans.THTTPReqResp.Execute|THTTPReqResp.Execute]] est désormais disponible.&lt;br /&gt;
&lt;br /&gt;
==Mises à jour relatives à WebBroker==&lt;br /&gt;
&lt;br /&gt;
La release RAD Studio 13.0 Florence offre plusieurs extensions à [[lib_fr:Web.WebBroker|WebBroker]], y compris une gestion des sessions HTTP moderne et intégrée, une intégration Apache améliorée, la prise en charge des serveurs Web Nginx, une journalisation améliorée et une intégration WebStencils facile, ce qui rend les applications Web à la fois plus simples à développer et plus puissantes.&lt;br /&gt;
&lt;br /&gt;
===Authentification et gestion des sessions===&lt;br /&gt;
&lt;br /&gt;
Cette release introduit une nouvelle classe, [[lib_fr:Web.HTTPApp.TWebSessionManager|TWebSessionManager]], qui gère une liste d&#039;objets [[lib_fr:Web.HTTPApp.TWebSession|TWebSession]]. Il s&#039;agit d&#039;un composant non visuel qui offre un ensemble de propriétés au moment de la conception.&lt;br /&gt;
&lt;br /&gt;
La propriété [[lib_fr:Web.HTTPApp.TWebRequest.Session|TWebRequest.Session]] renvoie la session de la requête. Les objets personnalisés stockés dans TWebSession.DataVars sont maintenant directement disponibles dans les scripts WebStencils.&lt;br /&gt;
&lt;br /&gt;
L&#039;authentification des sessions peut être intégrée à la gestion des sessions et peut être basée sur une logique différente.&lt;br /&gt;
&lt;br /&gt;
Un algorithme “sentinelle” est intégré à TCustomWebDispatcher.DispatchAction, et délègue le traitement à [[lib_fr:Web.HTTPApp.IWebSessionManager|IWebSessionManager]] ou [[lib_fr:Web.HTTPApp.IWebAuthenticator|IWebAuthenticator]].&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous d&#039;autres changements apportés à la prise en charge des bibliothèques :&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gestion des sessions&#039;&#039;&#039; : &lt;br /&gt;
**Ajout du TWebSessionManager qui gère une collection d&#039;objets TWebSession. Il s&#039;agit d&#039;un composant non visuel avec des propriétés de conception ayant les configurations suivantes : IdLocation, IdName, Scope (ssUnlimited, ssUser et ssUserAndIP), Timeout et SharedSecret.&lt;br /&gt;
**Ajout du TWebSession, qui représente des sessions individuelles.&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Authentification&#039;&#039;&#039; :&lt;br /&gt;
**Ajout du TWebBasicAutenticator, qui implémente l&#039;authentification de base HTTP.&lt;br /&gt;
**&lt;br /&gt;
 Ajout du TWebFormsAuthenticator, qui implémente l&#039;authentification basée sur des fiches HTML. &lt;br /&gt;
***&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Authorisation&#039;&#039;&#039; :&lt;br /&gt;
**TWebAuthorizer fournit un contrôle d&#039;accès basé sur les rôles via des zones d&#039;autorisation.&lt;br /&gt;
**Authorization vérifie les rôles des utilisateurs conformément aux exigences de la zone. Utilisez l&#039;événement OnAuthorize pour la logique d&#039;autorisation personnalisée. En cas d&#039;échec de l&#039;autorisation, une redirection est effectuée vers UnauthorizedURL ou l&#039;état 403 est renvoyé.&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Intégration WebStencils&#039;&#039;&#039; : &lt;br /&gt;
**&lt;br /&gt;
 Les sessions s&#039;intègrent aux modèles WebStencils suivants : &lt;br /&gt;
***{{code|@session.xxx}} : accès aux propriétés de l&#039;objet session.&lt;br /&gt;
***{{code|@session.DataVars}} : accès aux variables personnalisées des sessions.&lt;br /&gt;
***{{code|@session.UserHasRole(&amp;amp;lt;string&amp;amp;gt;)}} : vérifie si un utilisateur a un rôle spécifique.&lt;br /&gt;
***{{code|@&amp;amp;lt;n&amp;amp;gt;}} : accès direct aux objets stockés dans DataVars avec la clé {{code|&amp;amp;lt;n&amp;amp;gt;}}.&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nouvelles propriétés de requêtes&#039;&#039;&#039; :&lt;br /&gt;
**TWebRequest.AuthUserName : nom d&#039;utilisateur authentifié.&lt;br /&gt;
**TWebRequest.AuthMethod : méthode d&#039;authentification utilisée.&lt;br /&gt;
**TWebRequest.Session : objet session de la requête en cours.&lt;br /&gt;
&lt;br /&gt;
Pour utiliser ces composants, ajoutez-les au module Web (un seul TWebSessionManager et un seul authentificateur par module). Les composants sont automatiquement détectés par la sentinelle du répartiteur. Le traitement s&#039;effectue comme suit : {{Menu| Gestion des sessions &amp;amp;gt; Authentification &amp;amp;gt; Autorisation &amp;amp;gt; Actions de répartition}}.&lt;br /&gt;
&lt;br /&gt;
Les sessions sont automatiquement créées quand TWebSessionManager est présent. L&#039;authentification est obligatoire lorsqu&#039;un composant authentificateur est ajouté (utilisez TWebAuthorizer pour contrôler ce comportement). Tous les composants fonctionnent ensemble via des interfaces (IWebSessionManager, IWebAuthenticator, IWebAuthorizer).&lt;br /&gt;
&lt;br /&gt;
===Sortie d&#039;historique===&lt;br /&gt;
&lt;br /&gt;
Une nouvelle méthode TWebApplication.Log intégrant la gravité, le message et les paramètres est prise en charge sur toutes les plates-formes et utilise le système d&#039;historique approprié du serveur Web :&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Apache&#039;&#039;&#039; : fichier journal du serveur Apache, par défaut logs\error.log.&lt;br /&gt;
*&#039;&#039;&#039;ISAPI&#039;&#039;&#039; : journal d&#039;événements Windows (eventvwr.msc) : journaux Windows.&lt;br /&gt;
*&#039;&#039;&#039;CGI&#039;&#039;&#039; : fichier ayant le nom TCGIApplication.LogFileName.&lt;br /&gt;
*&#039;&#039;&#039;FastCGI&#039;&#039;&#039; : fichier journal du serveur HTTP (Apache, nginx), par défaut logs\error.log.&lt;br /&gt;
&lt;br /&gt;
===TWebRequest étendu===&lt;br /&gt;
&lt;br /&gt;
Cette release a étendu le composant TWebRequest comme suit :&lt;br /&gt;
&lt;br /&gt;
*Méthode ExtractAllHeaders, propriété AllHeaders&lt;br /&gt;
*SessionID&lt;br /&gt;
*AuthUserName et AuthMethod&lt;br /&gt;
&lt;br /&gt;
===Apache Config===&lt;br /&gt;
&lt;br /&gt;
Cette release introduit Apache Config, un système de configuration textuel et extensible. Voici un exemple de configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039; :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
MyEnabled On&lt;br /&gt;
MyFolder &amp;quot;c:/temp&amp;quot;&lt;br /&gt;
MyMimeTypes image/bmp text/html&lt;br /&gt;
&amp;lt;Location /qwe/asd&amp;gt;&lt;br /&gt;
  MyEnabled On&lt;br /&gt;
  MyFolder &amp;quot;c:/temp/asd&amp;quot;&lt;br /&gt;
&amp;lt;/Location&amp;gt;&lt;br /&gt;
&amp;lt;Location /qwe/asd/zxc&amp;gt;&lt;br /&gt;
  MyMimeTypes image/png image/jpeg text/html&lt;br /&gt;
  MyRole admin&lt;br /&gt;
&amp;lt;/Location&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Permet le mappage d&#039;un enregistrement Delphi sur des directives Apache (types de champs non gérés uniquement, y compris string[n]) :&lt;br /&gt;
&lt;br /&gt;
*Utilisez des attributs WebHTTPMethod pour personnaliser le mappage.&lt;br /&gt;
*Utilisez Web.ApacheApp.InitConfig pour recenser le type d&#039;enregistrement. Appelez-le juste après InitApplication.&lt;br /&gt;
*Utilisez Web.ApacheHTTP. TApacheRequest.GetConfig pour obtenir une instance d&#039;enregistrement avec des valeurs spécifiques à une URL de requête.&lt;br /&gt;
*Utilisez Web.HTTPDMethods.IHTTPDConfigAdaptor, THTTPDCustomConfigAdaptor&amp;amp;lt;T&amp;amp;gt; pour personnaliser l&#039;initialisation et la redéfinition des enregistrements.&lt;br /&gt;
&lt;br /&gt;
L&#039;expert WebBroker permet d&#039;inclure un exemple de configuration Apache.&lt;br /&gt;
&lt;br /&gt;
{{Attention| Cette fonctionnalité n&#039;est pas prise en charge dans C++ Builder.}}&lt;br /&gt;
&lt;br /&gt;
===Prise en charge de FastGCI et NGINX===&lt;br /&gt;
&lt;br /&gt;
Cette release intègre la prise en charge de FastCGI pour nginx. Cette interface permet d&#039;accéder à un module Web exécuté sous forme d&#039;application distincte.&lt;br /&gt;
&lt;br /&gt;
Plus de détails ci-dessous :&lt;br /&gt;
&lt;br /&gt;
*Ajout de nouvelles unités Web.FastCGIApp.pas, Web.FastCGIHTTP.pas et Web.FCGI_Protocol.pas.&lt;br /&gt;
*FastCGI est pris en charge par nginx et Apache.&lt;br /&gt;
*Ajout de nouvelles classes : TFastCGIApplication, TFastCGIRequest et TFastCGIResponse.&lt;br /&gt;
*Ajout de la prise en charge de FastCGI à l&#039;expert WebBroker.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour recenser une application avec nginx, ajoutez les lignes suivantes à conf\nginx.conf :&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
# 1) &amp;quot;location&amp;quot; mask, fastcgi_param directives are environment dependent&lt;br /&gt;
# 2) Update the fastcgi_pass directive when the host or port is different&lt;br /&gt;
# 3) This will redirect the request &amp;quot;GET http://localhost:8000/fcgi/&amp;quot; &lt;br /&gt;
#    to the FastCGI server.&lt;br /&gt;
&lt;br /&gt;
        location ~ ^/fcgi(.*)$ {&lt;br /&gt;
            include fastcgi_params;&lt;br /&gt;
&lt;br /&gt;
            fastcgi_param SCRIPT_NAME /fcgi;&lt;br /&gt;
            fastcgi_param PATH_INFO   $1;&lt;br /&gt;
            fastcgi_param SCRIPT_FILENAME dummy;&lt;br /&gt;
            fastcgi_param PATH_TRANSLATED $document_root$1;&lt;br /&gt;
            fastcgi_keep_conn on;&lt;br /&gt;
&lt;br /&gt;
            fastcgi_pass 127.0.0.1:9000;&lt;br /&gt;
        }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Améliorations relatives à WebStencils==&lt;br /&gt;
&lt;br /&gt;
WebStencils étend considérablement les technologies Web existantes dans RAD Studio en fournissant des scripts côté serveur et en transformant RAD Server d&#039;un moteur de service Web en un outil de site Web et de service Web.&lt;br /&gt;
&lt;br /&gt;
La section suivante décrit les mises à jour de [[WebStencils|WebStencils]] introduites dans RAD Studio Florence 13.0.&lt;br /&gt;
&lt;br /&gt;
*Implémentation de la propriété du mécanisme de liste blanche pour empêcher l&#039;exposition d&#039;informations sensibles comme les chaînes de connexion de base de données ou toute autre information sensible. Découvrez comment personnaliser la liste blanche [[WebStencils#Liste blanche de sécurité|ici]].&lt;br /&gt;
*Introduction de la possibilité d&#039;ajouter des [[WebStencils#Utilisation de variables supplémentaires|variables supplémentaires]] au moteur de script à l&#039;extérieur des modèles d&#039;objet et d&#039;ensemble de données.&lt;br /&gt;
*La notation WebStencils {{code|@}} pour un ensemble de données permet maintenant d&#039;accéder aux propriétés de l&#039;ensemble de données, en plus du champ. Le niveau d&#039;accès au champ peut être contrôlé à l&#039;aide d&#039;une propriété spécifique ([[lib_fr:Web.Stencils.TWebStencilsProcessor.Whitelist|TWebStencilsProcessor.Whitelist]]) pour empêcher l&#039;accès non autorisé aux informations internes. Vous trouverez plus d&#039;informations [[WebStencils#Accès aux propriétés de l&#039;ensemble de données|ici]].&lt;br /&gt;
*WebStencils s&#039;intègre maintenant automatiquement aux sessions Web lorsqu&#039;elles sont disponibles. Vous trouverez plus d&#039;informations [[WebStencils#Intégration automatique aux sessions|ici]].&lt;br /&gt;
*WebStencils prend maintenant en charge la propagation du contenu @ExtraHeader via des hiérarchies de dispositions imbriquées. Vous trouverez plus d&#039;informations [[WebStencils#Modèles WebStencils : disposition et corps|ici]].&lt;br /&gt;
*Ajout d&#039;améliorations relatives aux [[WebStencils#Mots clés WebStencil|mots clés WebStencils]] en donnant au mot-clé {{code|@page}} deux valeurs supplémentaires, comme {{code|@page.request_path}} et {{code|@page.request_segment}}.&lt;br /&gt;
&lt;br /&gt;
==Améliorations relatives à RAD Server==&lt;br /&gt;
&lt;br /&gt;
RAD Studio 13.0 rend l&#039;utilisation de la documentation API Swagger plus flexible, ajoute la prise en charge multi-client de RAD Server en tant qu&#039;option pour intégrer une configuration spécifique au client, et introduit un moyen simple et direct d&#039;implémenter le versionage des API.&lt;br /&gt;
&lt;br /&gt;
La section suivante répertorie les améliorations apportées à RAD Server dans RAD Studio Florence 13.0.&lt;br /&gt;
&lt;br /&gt;
*Documentation API Swagger de RAD Server : les paramètres de schémas et de références pour les définitions Swagger et OpenAPI sont maintenant facultatifs.&lt;br /&gt;
*&lt;br /&gt;
 Ajoute l&#039;option permettant de renvoyer un en-tête personnalisé dans le document de réponse Swagger en utilisant le nouvel attribut [[lib_fr:EMS.ResourceTypes.EndPointResponseHeaderAttribute|EndPointResponseHeaderAttribute]]. &lt;br /&gt;
**Nouvelles méthodes [[lib_fr:EMS.Services.IEMSApiDocumentService.SetBaseUrl|SetBaseUrl]] et [[lib_fr:EMS.Services.TEMSAPIDocumentService.GetBaseUrl|GetBaseUrl]].&lt;br /&gt;
*&lt;br /&gt;
 Cette release ajoute à la [[Support multi-client RAD Server|prise en charge multi-client (multi-tenancy) de RAD Server]] une façon d&#039;intégrer une configuration spécifique au client (comme des connexions aux bases de données), à configurer avant l&#039;exécution d&#039;une logique métier quelconque. Plus spécifiquement, les éléments suivants ont été ajoutés :&lt;br /&gt;
**Variables serveur préfixées par le client (tenant) : la spécification d&#039;une variable préfixée par le client garantit l&#039;utilisation de sa valeur. Sinon, une variable sans préfixe du client est utilisée.&lt;br /&gt;
**Une interface [[lib_fr:EMS.ResourceTypes.IEMSResourceInterceptor|IEMSResourceInterceptor]] avec des méthodes [[lib_fr:EMS.ResourceTypes.IEMSResourceInterceptor.BeforeRequest|BeforeRequest]] et [[lib_fr:EMS.ResourceTypes.IEMSResourceInterceptor.AfterRequest|AfterRequest]].&lt;br /&gt;
*&lt;br /&gt;
 RAD Server prend maintenant en charge l&#039;exportation de plusieurs versions de la même fonction de l&#039;API, ce qui permet aux clients d&#039;invoquer la version la plus récente de l&#039;API REST ou une version plus ancienne en utilisant le nouvel attribut ResourceVersion. Les nouvelles valeurs de [[lib_fr:EMS.ResourceAPI.TEMSVersionStatus|TEMSVersionStatus]] sont les suivantes :&lt;br /&gt;
**Experimental - utilise {{code|ver/myapi/…}} comme URL de base et ajoute “Experimental” à la description Swagger.&lt;br /&gt;
**Active - utilise {{code|ver/myapi/…}} comme URL de base.&lt;br /&gt;
**Default - utilise {{code|ver/myapi/…}} et {{code|myapi/…}} comme URL de base.&lt;br /&gt;
**Deprecated - utilise {{code|ver/myapi/…}} comme URL de base et ajoute “Deprecated” à la description Swagger.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Notes d&#039;installation|Notes d&#039;installation]]&lt;br /&gt;
*[[Notes de release|Notes de release]]&lt;br /&gt;
*[[New features and customer reported issues fixed in RAD Studio 13.0|Nouvelles fonctionnalités et problèmes corrigés]]&lt;br /&gt;
*[[Nouveautés des releases précédentes|Nouveautés des releases précédentes]]&lt;br /&gt;
&lt;br /&gt;
===Références===&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;références&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;”TAniCalculations”&amp;quot;&amp;gt; L&#039;intervalle de rendu des animations a été supprimé pour qu&#039;il corresponde maintenant au taux de rafraîchissement actuel de l&#039;écran. L&#039;application peut s&#039;exécuter sur des périphériques équipés d&#039;un écran de 60 Hz, 90 Hz ou 120 Hz, et le défilement sera automatiquement plus fluide, sans ajustement manuel de l&#039;intervalle. Les animations exécutées seront constamment mises à jour (recalculées) sur chaque nouvelle trame de l&#039;écran.  &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;/références&amp;amp;gt;&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Nouveaut%C3%A9s&amp;diff=218923</id>
		<title>Nouveautés</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Nouveaut%C3%A9s&amp;diff=218923"/>
		<updated>2026-05-09T03:34:54Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Accueil}} &lt;br /&gt;
{{Parent|Nouveautés des releases précédentes}}&lt;br /&gt;
&lt;br /&gt;
La release {{Product}} 13.0 {{Version}} contient les nouvelles fonctionnalités et améliorations suivantes :&lt;br /&gt;
&lt;br /&gt;
==Améliorations relatives à l&#039;installation et au Gestionnaire de packages GetIt==&lt;br /&gt;
&lt;br /&gt;
Les sections suivantes décrivent les améliorations relatives à l&#039;installation et au Gestionnaire de packages GetIt.&lt;br /&gt;
&lt;br /&gt;
===Modification du processus d&#039;installation===&lt;br /&gt;
&lt;br /&gt;
Depuis RAD Studio Florence 13.0, le programme d&#039;installation n&#039;installe plus automatiquement le Windows SDK. Il vérifie si la version actuelle du SDK est installée sur l&#039;ordinateur et, dans le cas contraire, fournit un lien de téléchargement lors du processus d&#039;installation. Le téléchargement et l&#039;installation du Windows SDK sont des pré-requis à l&#039;installation de RAD Studio, c&#039;est pourquoi il est recommandé de le faire avant l&#039;installation de RAD Studio 13.0. Pour plus de détails, consultez les [[Notes d&#039;installation|Notes d&#039;installation]].&lt;br /&gt;
&lt;br /&gt;
Lors de l&#039;installation du Windows SDK, il est recommandé d&#039;activer les options suivantes :&lt;br /&gt;
&lt;br /&gt;
*Windows SDK for Desktop C++ x86 Apps&lt;br /&gt;
*Windows SDK for Desktop C++ amd64 Apps&lt;br /&gt;
&lt;br /&gt;
Les éléments suivants seront automatiquement activés :&lt;br /&gt;
&lt;br /&gt;
*Windows SDK Signing Tools for Desktop Apps&lt;br /&gt;
*Windows SDK for UWP Managed Apps&lt;br /&gt;
*Windows SDK for UWP C++ Apps.&lt;br /&gt;
&lt;br /&gt;
Cette release supprime la possibilité d&#039;installer les fonctionnalités de “&#039;&#039;&#039;Modélisation&#039;&#039;&#039;” dans l&#039;interface de RAD Studio, dans les versions 32 bits et 64 bits. La fonctionnalité ne figure donc plus dans les options d&#039;installation du [[Gestionnaire de fonctionnalités|Gestionnaire de fonctionnalités]]. Cela affecte également le formatage dans Delphi.&lt;br /&gt;
&lt;br /&gt;
===Versionage des packages dans le Gestionnaire de packages===&lt;br /&gt;
&lt;br /&gt;
Depuis RAD Studio Florence 13.0, plusieurs versions d&#039;un même [[Fenêtre du Gestionnaire de packages GetIt|package GetIt]] peuvent être disponibles. Vous pouvez donc choisir d&#039;installer une version spécifique plutôt que la dernière version. Lorsque plusieurs versions d&#039;un package existent, un menu déroulant apparaît à côté du bouton Installer.&lt;br /&gt;
&lt;br /&gt;
[[File:Version install getit.png|=link|border|300px]]&lt;br /&gt;
&lt;br /&gt;
Les dépendances de packages présentes dans une configuration de projet peuvent maintenant faire référence à une version spécifique d&#039;un package, ce qui permet de définir des règles de filtrage.&lt;br /&gt;
&lt;br /&gt;
De plus, l&#039;interface de GetIt contient désormais un bouton à utilisation générale ainsi qu&#039;un menu déroulant proposant des options supplémentaires de désinstallation ou de mise à jour. Il est également possible d&#039;exporter la liste des packages installés. Pour plus d&#039;informations, voir [[Fenêtre du Gestionnaire de packages GetIt|Fenêtre du Gestionnaire de packages GetIt]].&lt;br /&gt;
&lt;br /&gt;
===Numéros de version interne unifiés à la valeur 37===&lt;br /&gt;
&lt;br /&gt;
Dans cette release de RAD Studio, les numéros de version interne sont unifiés à la valeur 37 pour la RTL, les packages, et les éléments suivants :&lt;br /&gt;
&lt;br /&gt;
*L&#039;entrée principale du registre :&lt;br /&gt;
&lt;br /&gt;
 HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\37.0&lt;br /&gt;
&lt;br /&gt;
*La version de package et la version de RTL.&lt;br /&gt;
*La version FMX : FMX.Types.FireMonkeyVersion&lt;br /&gt;
*La version de PA Server.&lt;br /&gt;
*Le dossier dans le lequel le produit est installé par défaut : &lt;br /&gt;
&lt;br /&gt;
{{code|C:\Program Files (x86)\Embarcadero\Studio\37.0}}&lt;br /&gt;
&lt;br /&gt;
{{Note| Dans cette release, le dossier d&#039;installation de l&#039;EDI et les packages d&#039;exécution passent directement à la version 37 (en sautant plusieurs numéros intermédiaires) alors que le compilateur suit l&#039;incrément habituel (+1).}}&lt;br /&gt;
&lt;br /&gt;
==Améliorations de l&#039;EDI 64 bits==&lt;br /&gt;
&lt;br /&gt;
RAD Studio 13.0 inclut notre première EDI totalement 64 bits pour la plate-forme Windows 64 bits. Elle étend et complète les fonctionnalités de [[64-bit IDE|l&#039;EDI 64 bits]] introduites initialement dans RAD Studio version 12.3. Par rapport à cette &amp;quot;release initiale&amp;quot; de l&#039;EDI 64 bits de 12.3, l&#039;EDI 64 bits de 13.0 offre une grande nouveauté : la prise en charge de la construction et du débogage d&#039;applications 64 bits dans Delphi et C++.&lt;br /&gt;
&lt;br /&gt;
Voici les principales améliorations :&lt;br /&gt;
&lt;br /&gt;
*Prise en charge des templates de code (Ctrl-J), incluant notamment le menu Encadrement.&lt;br /&gt;
*Prise en charge des bibliothèques de types, ActiveX, et COM.&lt;br /&gt;
*Intégration VA pour C++Builder dans l&#039;EDI 64 bits.&lt;br /&gt;
*Implémentation d&#039;un nouveau moteur de débogage pour déboguer les applications C++ et Delphi.&lt;br /&gt;
*Améliorations majeures des performances du débogueur Delphi.&lt;br /&gt;
*Modification des adresses de pointeur pour les faire apparaître dans un style Delphi.&lt;br /&gt;
*Suppression des fonctionnalités &amp;quot;Together&amp;quot;, incluant notamment la Modélisation, les Audits, et les Métriques.&lt;br /&gt;
&lt;br /&gt;
==Modifications et améliorations de l&#039;EDI==&lt;br /&gt;
&lt;br /&gt;
Cette release améliore et modernise l&#039;EDI de RAD Studio avec l&#039;introduction de fonctionnalités de recherche étendues et configurables dans plusieurs volets de l&#039;EDI. Voici les principales modifications et améliorations :&lt;br /&gt;
&lt;br /&gt;
===Améliorations relatives aux fonctions de recherche===&lt;br /&gt;
&lt;br /&gt;
RAD Studio Florence 13.0 introduit de nouvelles fonctionnalités de recherche dans plusieurs volets de l&#039;EDI, ce qui facilite l&#039;accès à l&#039;information dans les projets, unités et scénarios volumineux. L&#039;expérience de recherche est unifiée dans l&#039;ensemble des volets qui prennent en charge cette fonction via la combinaison de touches {{code|Ctrl+F}}. La touche {{code|Echap}} permet de fermer la fenêtre de résultats et de revenir au contrôle original.&lt;br /&gt;
&lt;br /&gt;
Des fonctionnalités de recherche ont été ajoutées aux sections suivantes :&lt;br /&gt;
&lt;br /&gt;
*[[Vue Structure#Menus contextuels de la vue Structure et de l&#039;explorateur de code|Vue Structure]] : ajout d&#039;une fonction de recherche incrémentale utilisable aussi bien dans la vue de conception que dans la vue du code source, avec en plus la mise en surbrillance de la syntaxe dans les résultats de recherche du code source.&lt;br /&gt;
*[[Fenêtre Projets#Barre d&#039;outils de la fenêtre Projets|Gestionnaire de projets]] : ajout d&#039;une fonction de recherche incrémentale prenant en charge des requêtes rapides et optimisées pour les projets volumineux (plus de 20 000 fichiers).&lt;br /&gt;
*[[Vue Messages|Volet Message]] et [[Fenêtre Journal d&#039;événements|Journal d&#039;événements]] : ajout d&#039;une fonction de recherche incrémentale facilitant la navigation dans de grandes structures de données.&lt;br /&gt;
*[[Inspecteur d&#039;objets|Inspecteur d&#039;objets]] : ajout d&#039;une icône de recherche pour faciliter la navigation.&lt;br /&gt;
*[[Palette d&#039;outils|Palette d&#039;outils]] : ajout d&#039;une icône de recherche pour faciliter la navigation.&lt;br /&gt;
&lt;br /&gt;
De plus, la fonction de recherche implémentée dans les recherches des vues Messages et Evénements, mais aussi dans les vues Projets et Structure, offre une configuration de recherche spécifique, disponible depuis une liste déroulante :&lt;br /&gt;
&lt;br /&gt;
[[File:Structure search.png|=link|border]]&lt;br /&gt;
&lt;br /&gt;
===Ajouts au journal des messages===&lt;br /&gt;
&lt;br /&gt;
RAD Studio Florence 13.0 introduit de nouvelles options sous {{Menu| EDI &amp;amp;gt; Compilation et exécution &amp;amp;gt; [[Journal de construction|Journal de construction]]}} :&lt;br /&gt;
&lt;br /&gt;
*Activation de la mise en surbrillance dans le journal du compilateur.&lt;br /&gt;
*Regroupement des conseils et avertissements dans le volet Messages. Cela facilite la navigation lorsque les messages sont nombreux et accélère le processus de build.&lt;br /&gt;
&lt;br /&gt;
[[File:Messages search.png|=link|border]]&lt;br /&gt;
&lt;br /&gt;
===Mises à jour de ToolsAPI===&lt;br /&gt;
&lt;br /&gt;
La release RAD Studio Florence 13.0 apporte les mises à jour suivantes à ToolsAPI :&lt;br /&gt;
&lt;br /&gt;
*Ajout d&#039;une nouvelle méthode pour mettre à jour l&#039;interface utilisateur dans la page d&#039;accueil.&lt;br /&gt;
&lt;br /&gt;
 INTAWelcomePageDataPluginListView370.Invalidate&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
 Ajout de la prise en charge des événements de souris interceptés comme clics.&lt;br /&gt;
**[[Prise en charge de ToolsAPI pour l&#039;éditeur de code#Evénement curseur déplacé|Evénement curseur déplacé]]&lt;br /&gt;
**[[Prise en charge de ToolsAPI pour l&#039;éditeur de code#Evénement appui de touche|Evénement appui de touche]]&lt;br /&gt;
&lt;br /&gt;
Pour plus de détails sur ces mises à jour, voir la page [[Prise en charge de ToolsAPI pour l&#039;éditeur de code|ToolsAPI]].&lt;br /&gt;
&lt;br /&gt;
===Améliorations relatives à l&#039;audit de code intelligent===&lt;br /&gt;
&lt;br /&gt;
RAD Studio Florence 13.0 introduit &amp;quot;RAD AI Companion”, un chat et générateur de code, spécifiquement entraîné sur du contenu en lien avec RAD Studio. Dans l&#039;EDI, ouvrez {{Menu| Menu Aide &amp;amp;gt; [http://www.embarcadero.com/radaicompanion RAD AI Companion]}}.&lt;br /&gt;
&lt;br /&gt;
[[File:AI companion.png|=link]]&lt;br /&gt;
&lt;br /&gt;
Cette release introduit également le nouveau bouton Tester la connexion dans la page [[Smart CodeInsight Options|Options de l&#039;audit de code intelligent]]. Désormais, les utilisateurs peuvent directement tester la configuration sans qu&#039;il soit nécessaire de lancer le chat.&lt;br /&gt;
&lt;br /&gt;
Parmi les autres améliorations :&lt;br /&gt;
&lt;br /&gt;
*Pour les modèles qui renvoient {{code|“&amp;amp;lt;think&amp;amp;gt;”}} avant de renvoyer l&#039;information, l&#039;EDI a supprimé les balises “thinking”.&lt;br /&gt;
*Les conseils des boutons affichés dans la [[Smart CodeInsight#Fenêtre de chat IA|Fenêtre de chat de l&#039;audit de code intelligent]] ont été améliorés et indiquent désormais les raccourcis.&lt;br /&gt;
&lt;br /&gt;
===Modifications supplémentaires de l&#039;EDI===&lt;br /&gt;
&lt;br /&gt;
Les sections suivantes présentent les mises à jour et améliorations apportées à l&#039;EDI :&lt;br /&gt;
&lt;br /&gt;
*La nouvelle option de l&#039;EDI [[Onglets|Onglets]] a été ajoutée pour permettre aux utilisateurs d&#039;utiliser la couleur de fond de l&#039;éditeur pour les tabulations de l&#039;éditeur.&lt;br /&gt;
*Une nouvelle option de l&#039;EDI permet d&#039;utiliser le thème actif de l&#039;EDI pour les couleurs de [[Mise en surbrillance structurelle|mise en surbrillance structurelle]]. Utilisez-la pour sélectionner le style de couleur pour la mise en surbrillance structurelle.&lt;br /&gt;
*La [[Mise en mémoire tampon double et connexions distantes|mise en mémoire tampon double]] et la suppression du &amp;quot;sautillement&amp;quot; ont été activées par défaut. Vous pouvez aussi utiliser le nouveau paramètre du registre ({{code|Globals\SingleBufferingInRemoteSessions}}) pour désactiver la mise en mémoire tampon double.&lt;br /&gt;
*Le menu Refactoring est grisé lorsqu&#039;aucune option de refactoring n&#039;est active (ce comportement remplace l&#039;élément de menu “Aucun refactoring”).&lt;br /&gt;
*La boîte de dialogue Exception EDI affiche maintenant directement la trace de la pile d&#039;appels, fournissant ainsi des informations utiles pour comprendre le flux du code.&lt;br /&gt;
*Il est désormais possible de copier des messages d&#039;erreur depuis le volet Structure.&lt;br /&gt;
*La boîte de dialogue [[Attacher au processus|Attacher au processus]] a été modifiée de façon à inclure des colonnes supplémentaires pour afficher les informations sur les processus, et contient aussi des contrôles supplémentaires.&lt;br /&gt;
*L&#039;intégration du contrôle de source Git a été améliorée : l&#039;interface a été changée pour indiquer que vous pouvez utiliser le Token Name GitHub ou le Token Key à la place de votre nom d&#039;utilisateur et mot de passe.&lt;br /&gt;
*Lors de l&#039;ajout d&#039;une fiche à une application FireMonkey, il n&#039;est plus nécessaire de choisir entre une fiche HD et une fiche 3D. L&#039;ajout d&#039;une fiche 3D reste possible via une option distincte.&lt;br /&gt;
*Les icônes de gouttière ont été améliorées dans le mode Thème foncé, évitant ainsi l&#039;affichage d&#039;une bordure blanche autour des images.&lt;br /&gt;
&lt;br /&gt;
==Améliorations relatives aux outils EDI==&lt;br /&gt;
&lt;br /&gt;
RAD Studio comprend de puissants outils conçus pour faciliter l&#039;écriture de code Delphi et C++. La section suivante présente les améliorations et les mises à jour apportées aux différents outils EDI.&lt;br /&gt;
&lt;br /&gt;
===DelphiLSP===&lt;br /&gt;
&lt;br /&gt;
Cette release s&#039;inscrit dans la continuité des efforts destinés à améliorer l&#039;architecture de DelphiLSP. En &#039;&#039;&#039;réponse à certaines demandes de nos clients Delphi&#039;&#039;&#039;, nous avons choisi de rétablir l&#039;ancien moteur Audit de code Delphi. Il est à nouveau disponible dans RAD Studio 13.0 sous forme d&#039;alternative à la version DelphiLSP disponible dans l&#039;EDI, et accessible à toute personne souhaitant l&#039;utiliser.&lt;br /&gt;
&lt;br /&gt;
{{Note|L&#039;activation du [[Référence de l&#039;Audit de code#Modification du Gestionnaire d&#039;audit de code/LSP|Gestionnaire d&#039;audit de code classique]] affecte certaines fonctionnalités ayant été déplacées dans DelphiLSP,comme le volet Structure, la fonction Audit d&#039;erreur, et la barre de navigation de l&#039;éditeur (la barre d&#039;outils affichée en haut de l&#039;éditeur qui permet de se déplacer dans le code). Ces fonctionnalités ne fonctionnent plus lorsque vous activez le Gestionnaire d&#039;audit de code classique, et nous ne sommes pas en mesure d&#039;annuler ces changements.}}&lt;br /&gt;
&lt;br /&gt;
Le gestionnaire {{code|Audit de code classique}} peut être activé depuis {{Menu|Outils &amp;amp;gt; Options &amp;amp;gt; Editeur &amp;amp;gt; Langage &amp;amp;gt; [[Options du source#Onglet Audit de code|Onglet Audit de code]]}} comme indiqué sur l&#039;image ci-dessous :&lt;br /&gt;
&lt;br /&gt;
[[File:Delphilsp classic codeInsight.png|850px]]&lt;br /&gt;
&lt;br /&gt;
===Expert Delphi Upgrade Advisor===&lt;br /&gt;
&lt;br /&gt;
RAD Studio 13.0 introduit un nouvel Expert, le [[Delphi Upgrade Advisor Wizard|Delphi Upgrade Advisor]], qui permet d&#039;identifier d&#039;importants changements dans la configuration d&#039;un projet et dans le code, permettant ainsi d&#039;améliorer la vitesse de compilation et l&#039;expérience des développeurs avec les outils. Cet expert est disponible sous forme de package GetIt. Une fois installé, un nouveau menu apparaît dans l&#039;EDI.&lt;br /&gt;
&lt;br /&gt;
En plus de fournir des suggestions intéressantes, [[Delphi Upgrade Advisor Wizard|l&#039;Expert Delphi Upgrade Advisor]] propose des scripts reFind qui permettent de nettoyer les instructions uses du projet.&lt;br /&gt;
&lt;br /&gt;
===Visual Assist pour C++===&lt;br /&gt;
&lt;br /&gt;
Dans RAD Studio Florence 13.0, l&#039;intégration VA a été améliorée pour une plus grande cohérence avec la façon dont RAD Studio gère les chaînes d&#039;outils et les configurations de projet.&lt;br /&gt;
&lt;br /&gt;
VA se recharge maintenant automatiquement à chaque fois que vous modifiez la configuration d&#039;un projet, la plate-forme cible, ou la chaîne d&#039;outils. Cela garantit l&#039;exactitude des chemins d&#039;inclusion et de la résolution des symboles même lorsque vous travaillez avec plusieurs projets qui utilisent des paramètres différents au sein d&#039;un même groupe de projets. Pour plus d&#039;informations, voir la page [[Visual Assist for C++|Visual Assist pour C++]].&lt;br /&gt;
&lt;br /&gt;
===Mises à jour du débogueur===&lt;br /&gt;
&lt;br /&gt;
Dans cette release, le débogueur a été mis à jour en LLDB version 20. Le compilateur Clang pour la plate-forme Windows 64 bits (Moderne) a aussi été mis à jour en version 20.&lt;br /&gt;
&lt;br /&gt;
Voici la liste des améliorations relatives au débogueur :&lt;br /&gt;
&lt;br /&gt;
Pour &#039;&#039;&#039;C++&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Amélioration de la façon dont OutputDebugStringW gère les sorties Unicode.&lt;br /&gt;
*Les valeurs caractères étendus non imprimables sont désormais affichées dans le format correct dans la sortie du débogueur.&lt;br /&gt;
*argc et argv gèrent maintenant correctement les arguments contenant des espaces lorsqu&#039;ils sont exécutés sous le débogueur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pour Delphi&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Les valeurs d&#039;énumération de portée restent désormais correctement contenues dans leur type déclaré, évitant les conflits dans l&#039;espace de nommage global. De plus, ces valeurs sont maintenant restituées correctement dans les vues de débogage.&lt;br /&gt;
*Les valeurs des membres d’objet sont maintenant correctement affichées lors du débogage.&lt;br /&gt;
*Les noms de variables de classe sont correctement résolus, avec une gestion améliorée du substantypage.&lt;br /&gt;
*La gestion de la variable Unicode a été améliorée ; le débogueur accepte maintenant un intervalle plus large d&#039;identificateurs Unicode.&lt;br /&gt;
&lt;br /&gt;
De plus, dans les options de l&#039;EDI, vous pouvez activer [[Options du débogueur|Code en surbrillance]] dans les fenêtres de débogage.&lt;br /&gt;
&lt;br /&gt;
===Compilateur de ressources===&lt;br /&gt;
&lt;br /&gt;
Dans cette release, des ajustements ont été apportés à l&#039;intégration du [[Options du compilateur de ressources|Compilateur de ressources]] dans RAD Studio.&lt;br /&gt;
&lt;br /&gt;
Depuis Florence 13.0, RAD Studio distribue un compilateur de ressources open-source supplémentaire, appelé &#039;&#039;&#039;resinator&#039;&#039;&#039;. Il est désormais utilisé par défaut dans le système pour générer le code. Pour plus d&#039;informations sur resinator, voir [https://github.com/squeek502/resinator GitHub resinator].&lt;br /&gt;
&lt;br /&gt;
{{Note|Le compilateur de ressources &#039;&#039;&#039;resinator&#039;&#039;&#039; est uniquement disponible pour le compilateur bcc64x.}}&lt;br /&gt;
&lt;br /&gt;
De nouvelles options ont aussi été ajoutées pour faciliter la sélection d&#039;un autre compilateur de ressources, incluant notamment le compilateur de ressources classique du Windows SDK.&lt;br /&gt;
&lt;br /&gt;
==Mises à jour relatives au compilateur Delphi==&lt;br /&gt;
&lt;br /&gt;
RAD Studio 13.0 intègre des améliorations du langage Delphi, allant d&#039;un nouvel opérateur ternaire à de nouvelles directives de compilation, etc.&lt;br /&gt;
&lt;br /&gt;
===Opérateur conditionnel If===&lt;br /&gt;
&lt;br /&gt;
La release RAD Studio Florence 13.0 introduit un opérateur conditionnel (opérateur ternaire) dans le langage Pascal Objet. Alors que son comportement est similaire à l&#039;opérateur {{code|?:}}, communément trouvé dans d&#039;autres langages de programmation, sa syntaxe ressemble au Pascal Objet, et est similaire à la structure if-then-else.&lt;br /&gt;
&lt;br /&gt;
Pour des exemples et des informations supplémentaires, voir la page [[Conditional Operators (Delphi)|Opérateurs conditionnels (Delphi)]].&lt;br /&gt;
&lt;br /&gt;
===Nouveaux opérateurs “is not” et “not in”===&lt;br /&gt;
&lt;br /&gt;
Le compilateur autorise les opérateurs {{code|“is not”}} et {{code|“not in”}}, ce qui constitue une alternative plus courte et plus lisible aux opérateurs combinés. Pour des exemples, voir la page [[Expressions (Delphi)#Les opérateurs is not et not in|Expressions Delphi]].&lt;br /&gt;
&lt;br /&gt;
===Nouvelle directive “noreturn”===&lt;br /&gt;
&lt;br /&gt;
La directive “noreturn” est un attribut associé aux procédures, indiquant que l&#039;appel va déclencher une exception et ne peut pas poursuivre son exécution normalement. Cela permet au compilateur d&#039;ignorer un avertissement sur des résultats non définis et d&#039;activer l&#039;optimisation et l&#039;élimination de code. Pour des exemples, voir la page [[Déclarations et instructions (Delphi)#La directive noreturn|Déclarations et instructions Delphi]].&lt;br /&gt;
&lt;br /&gt;
La nouvelle directive peut être utilisée pour éliminer les [[W1035 La valeur de retour de la fonction &#039;%s&#039; peut être indéfinie (Delphi)|avertissements W1035]] lorsque des exceptions sont déclenchées, empêchant potentiellement l&#039;affectation d&#039;une valeur correcte. Pour des exemples, voir la page [[W1035 La valeur de retour de la fonction &#039;%s&#039; peut être indéfinie (Delphi)|W1035 La valeur de retour de la fonction &#039;%s&#039; peut être indéfinie]].&lt;br /&gt;
&lt;br /&gt;
===Directives {$PUSHOPT} et {$POPOPT}===&lt;br /&gt;
&lt;br /&gt;
Ces nouvelles directives du compilateur Delphi enregistrent et restaurent l&#039;ensemble actuel de configurations d&#039;avertissement et d&#039;options.&lt;br /&gt;
&lt;br /&gt;
Cette release émet les avertissements suivants sur les directives déséquilibrées.&lt;br /&gt;
&lt;br /&gt;
*[[W1078 $POPOPT with no matching $PUSHOPT in &#039;%s&#039;|W1078]]&lt;br /&gt;
*[[W1079 Previous $PUSHOPT on line %Id not restored|W1079]]&lt;br /&gt;
&lt;br /&gt;
Le même avertissement sera émis à la fin du fichier source s&#039;il y a plus de [[Option OPT (Delphi)#.7B.24PUSHOPT.7D|$PUSHOPT]] que de [[Option OPT (Delphi)#.7B.24POPOPT.7D|$POPOPT]] dans un fichier. Ces nouvelles directives ne peuvent pas être appliquées à toutes les options et à tous les paramètres. Voir la liste des [[Option OPT (Delphi)#Liste des options éligibles|Options éligibles]].&lt;br /&gt;
&lt;br /&gt;
===Prise en charge des directives longues pour la directive {$IFOPT}===&lt;br /&gt;
&lt;br /&gt;
Depuis RAD Studio Florence 13.0, la directive {{code|{$IFOPT}}} prend en charge les directives longues. Voici comment :&lt;br /&gt;
&lt;br /&gt;
 {$IFOPT SCOPEDENUMS ON}&lt;br /&gt;
&lt;br /&gt;
Pour la liste complète des directives prises en charge, voir la page [[Directive IFOPT (Delphi)|$IFOPT]].&lt;br /&gt;
&lt;br /&gt;
===Nouvelles contraintes pour les types génériques===&lt;br /&gt;
&lt;br /&gt;
De nouvelles contraintes ”&#039;&#039;&#039;interface&#039;&#039;&#039;” et “&#039;&#039;&#039;unmanaged&#039;&#039;&#039;” existent pour les types génériques. Les contraintes &amp;quot;unmanaged&amp;quot; remplacent partiellement la contrainte existante sur les enregistrements.&lt;br /&gt;
&lt;br /&gt;
De plus, grâce à ces nouvelles contraintes, il est possible d&#039;autoriser le transtypage L-Value pour une variable de type valeur déclarée avec un type générique. Dans la méthode d&#039;une classe générique, il est désormais possible de transtyper le résultat d&#039;une méthode générique renvoyant le type générique lui-même, selon le type concret utilisé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039; :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
class function TMyData&amp;lt;T&amp;gt;.OperateSubtract(const L, R: T): T;&lt;br /&gt;
begin&lt;br /&gt;
  if (GetTypeKind(T) = tkInteger) and (SizeOf(T) = 1) then&lt;br /&gt;
    Byte(Result) := Byte(L) - Byte(R) // New cast!&lt;br /&gt;
  else if (GetTypeKind(T) = tkInteger) and (SizeOf(T) = 2) then&lt;br /&gt;
    Word(Result) := Word(L) - Word(R) // New cast!&lt;br /&gt;
  // ...&lt;br /&gt;
  else if (GetTypeKind(T) = tkFloat) and (SizeOf(T) = 10) then&lt;br /&gt;
    Extended(Result) := Extended(L) - Extended(R); // New cast!&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fonction NameOf Instrict===&lt;br /&gt;
&lt;br /&gt;
Il y a une nouvelle procédure standard NameOf(Identificateur), dont le fonctionnement correspond à la façon dont la fonction C# de même nom fonctionne. Elle peut être transmise à n&#039;importe quel identificateur. La valeur retournée est la représentation chaîne correspondante:&lt;br /&gt;
&lt;br /&gt;
  Memo1.Lines.Add (NameOf (Sender));&lt;br /&gt;
  Memo1.Lines.Add (NameOf (self));&lt;br /&gt;
  Memo1.Lines.Add (NameOf (TForm31));&lt;br /&gt;
  Memo1.Lines.Add (NameOf (X));&lt;br /&gt;
  Memo1.Lines.Add (NameOf (Integer));&lt;br /&gt;
&lt;br /&gt;
===Déclaration de paramètre “Self” implicite dans les opérateurs de classe d&#039;enregistrement Initialize et Finalize===&lt;br /&gt;
&lt;br /&gt;
Les deux opérateurs de classe pour les enregistrements managés personnalisés permettent désormais d&#039;utiliser une syntaxe de déclaration plus concise. Il est en effet possible d&#039;ignorer le paramètre {{code|self}} (qui reste implicitement disponible). Cela n&#039;entraîne aucun changement, que ce soit dans le code généré ou le comportement. Seule la syntaxe est simplifiée.&lt;br /&gt;
&lt;br /&gt;
Pour des exemples, voir la page [[Enregistrements managés personnalisés#Déclaration de paramètre self implicite|Enregistrements managés personnalisés]].&lt;br /&gt;
&lt;br /&gt;
===Améliorations supplémentaires du compilateur Delphi===&lt;br /&gt;
&lt;br /&gt;
La section suivante présente les améliorations supplémentaires du compilateur Delphi.&lt;br /&gt;
&lt;br /&gt;
* La directive [[Packaging faible|$WEAKPACKAGEUNIT]] génère maintenant une erreur ([[E2203 $WEAKPACKAGEUNIT &#039;%s&#039; contient des données globales (Delphi)|E2203]] ou [[E2221 $WEAKPACKAGEUNIT &#039;%s&#039; ne peut avoir de code d&#039;initialisation ou de finalisation (Delphi)|E2221]]) si l&#039;unité contient des variables globales dans les sections interface, des blocs d&#039;initialisation ou de finalisation, ou encore des constructeurs ou destructeurs de classes. &amp;amp;lt;/br&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Cette modification peut empêcher la compilation du code existant.}}&lt;br /&gt;
&lt;br /&gt;
*L&#039;erreur de compilation &#039;&#039;&#039;‘E2033’&#039;&#039;&#039; (Les types des paramètres var originaux et formels doivent être identiques) inclut maintenant les noms des types impliqués.&lt;br /&gt;
* Deux nouveaux avertissements, [[W1076 Typecasting between pointer and narrower integer types: from &#039;%s&#039; to &#039;%s&#039;|W1076]] et [[W1077 Typecasting between pointer and 32-bit integer types can cause problems on 64-bit targets: from &#039;%s&#039; to &#039;%s&#039;|W1077]], ont été ajoutés pour le transtypage de données.&lt;br /&gt;
&lt;br /&gt;
==Plate-forme C++ Moderne Win64 mise à jour vers Clang 20==&lt;br /&gt;
&lt;br /&gt;
La release RAD Studio Florence 13.0 intègre la mise à jour du [[BCC64X|Compilateur C++ Moderne Win64]] depuis Clang 15 (version fournie avec 12.x) vers Clang version 20. Le nouveau compilateur basé sur Clang prend en charge C++23. De plus, cette release intègre la mise à jour de tous les autres éléments de la chaîne d&#039;outils C++ Moderne Win64.&lt;br /&gt;
&lt;br /&gt;
Cette release offre de nombreuses améliorations axées sur les standards C++ modernes, la compatibilité et la stabilité. Vous trouverez ci-dessous les principales améliorations incluses dans cette release :&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Mise à niveau de la chaîne d&#039;outils LLVM (v20)&#039;&#039;&#039; : la chaîne d&#039;outils a été mise à niveau depuis LLVM v15 vers LLVM v20. Cette mise à niveau prend en charge les derniers standards C++ et les optimisations du compilateur.&lt;br /&gt;
*&#039;&#039;&#039;Prise en charge améliorée d&#039;ASAN&#039;&#039;&#039; : le runtime [[Safety|AddressSanitizer (ASAN)]] est maintenant compatible avec Windows 11.&lt;br /&gt;
*&#039;&#039;&#039;Nouvelle option Standard C++&#039;&#039;&#039; : [[BCC64X|BCC64X]] utilise maintenant C++23 par défaut, mais les utilisateurs peuvent choisir de cibler C++20 ou C++17 si nécessaire.&lt;br /&gt;
*&#039;&#039;&#039;Bibliothèques partagées RTL/STL versionnées&#039;&#039;&#039; : les bibliothèques d&#039;exécution partagées (comme {{code|libc++.dll}}) ont maintenant un suffixe indiquant le numéro de version de BDS (par exemple, {{code|libc++-370.dll}}). Cela empêche les conflits d&#039;exécution lorsque plusieurs versions de RAD Studio sont installées.&lt;br /&gt;
*&#039;&#039;&#039;Résolution de problèmes des anciennes versions&#039;&#039;&#039; : de nombreux bogues et incohérences présents dans LLVM v15 et les versions précédentes de la chaîne d&#039;outils ont été résolus dans cette release.&lt;br /&gt;
&lt;br /&gt;
==Améliorations relatives à la RTL Delphi==&lt;br /&gt;
&lt;br /&gt;
Cette release améliore la RTL JSON pour permettre la suppression d&#039;un champ lorsqu&#039;il a une valeur particulière en ajoutant un nouvel attribut. Vous trouverez ci-dessous d&#039;autres améliorations relatives à JSON, ainsi que d&#039;autres mises à jour de la RTL Delphi.&lt;br /&gt;
&lt;br /&gt;
===Pack de composants SmartCore AI===&lt;br /&gt;
&lt;br /&gt;
RAD Studio 13.0 introduit un nouvel ensemble de composants IA conçu pour les clients qui souhaitent ajouter des fonctionnalités d&#039;IA à leurs applications et concevoir avec Delphi ou C++Builder de nouvelles applications centrées sur l&#039;IA. Cette architecture sera un élément central et fondamental à l&#039;avenir. Nos clients et les éditeurs tiers pourront s&#039;appuyer sur cette architecture et l&#039;étendre afin qu&#039;elle s&#039;intègre à de nouveaux contrôles d&#039;interface utilisateur et à d&#039;autres moteurs d&#039;IA.&lt;br /&gt;
&lt;br /&gt;
Le pack de composants SmartCore AI est disponible dans [[Gestionnaire de packages GetIt|GetIt]]. Le nouveau composant Connexion AI s&#039;utilise comme un composant Connexion de base de données dans FireDAC. Ce composant unique indépendant du moteur d&#039;IA utilisera des pilotes spécifiques pour communiquer via REST avec différents moteurs d&#039;IA (y compris OpenAI, Claude, Gemini et Ollama). Le moteur d&#039;IA SmartCore permet d&#039;ajouter des pilotes supplémentaires pour que les fournisseurs d&#039;IA puissent étendre les capacités de votre projet au fur et à mesure que le marché se développe. La configuration est gérée via un expert de connexion IA facile d&#039;emploi.&lt;br /&gt;
&lt;br /&gt;
Ce pack de composants comprend un ensemble de composants permettant d&#039;effectuer des requêtes ou interrogations IA pour différents types de données comme du texte, des images et des données structurées. Ils peuvent être associés à des prompts et être directement liés à des contrôles d&#039;interface utilisateur qui affichent les résultats. Ce modèle basé sur des composants facilite grandement l&#039;utilisation des composants SmartCore AI dans RAD Studio 13.0.&lt;br /&gt;
&lt;br /&gt;
===Traitement JSON===&lt;br /&gt;
&lt;br /&gt;
Cette section répertorie les mises à jour relatives à JSON :&lt;br /&gt;
&lt;br /&gt;
*Les attributs [[lib_fr:REST.Json.TJsonOption|TJsonOption]] {{code|joIgnoreDefault}} et {{code|joIgnoreSpecial}} ont été ajoutés.&lt;br /&gt;
*[[lib_fr:REST.JsonReflect.TMarshalUnmarshalBase.ValueSerialization|TMarshalUnmarshalBase.ValueSerialization]] : utilisation de TJsonValueSerialization avec jvExcludeSpecial  activée par défaut.&lt;br /&gt;
*Le comportement de [[lib_fr:System.JSON.TJSONValue.GetValue|TJSONValue.GetValue]]&amp;amp;lt;T&amp;amp;gt;(const APath: string; ADefaultValue: T): T a changé : la propriété recherche une valeur JSON. Si la valeur JSON est trouvée, elle est convertie dans le type spécifié. Si la valeur n&#039;est pas trouvée, si elle ne peut pas être restaurée, ou si elle est null, une valeur par défaut est renvoyée.&lt;br /&gt;
* La classe [[lib_fr:System.JSON.TJSONNumber|TJSONNumber]] est maintenant directement héritée de la classe {{code|TJSONValue}}.&lt;br /&gt;
* La classe [[lib_fr:System.JSON.TJSONObject|TJSONObject]] est marquée comme &amp;quot;sealed&amp;quot;.&lt;br /&gt;
*TJsonReader a maintenant ReadAsUInt64.&lt;br /&gt;
&lt;br /&gt;
Le sérialiseur JSON offre la possibilité d&#039;ignorer les propriétés avec des valeurs par défaut :&lt;br /&gt;
&lt;br /&gt;
*Nouvelle méthode surchargée TJsonConverter.CanWrite(AValue).&lt;br /&gt;
*La propriété [[lib_fr:System.JSON.Serializers.TJsonSerializer.MemberSerialization|TJsonSerializer.MemberSerialization]]: TJsonMemberSerialization a par défaut la valeur TJsonMemberSerialization.Fields.&lt;br /&gt;
&lt;br /&gt;
===Autres modifications relatives à la RTL Delphi===&lt;br /&gt;
&lt;br /&gt;
La section suivante indique les autres modifications relatives à la RTL Delphi pour la release RAD Studio Florence 13.0.&lt;br /&gt;
&lt;br /&gt;
*Actualisation des API WinRT, capture externe des en-têtes WinAPI à partir de la définition WinMD (dans GetIt), et nettoyage des déclarations WinAPI dans les fichiers RTL.&lt;br /&gt;
*Mise à jour de la version intégrée de DUnitX vers la version 0.4.1 (dernière modification en date du 26 juin 2025).&lt;br /&gt;
*Ajout d&#039;une version sensible à la casse de la fonction [[lib_fr:System.SysUtils.TStringHelper.Contains|TStringHelper.Contains]].&lt;br /&gt;
*Ajout de l&#039;unité System.StrUtils.LiteralToInt qui fournit des fonctions prenant en charge les littéraux entiers contenant &amp;quot;_&amp;quot; et des notations binaires contenant &amp;quot;%&amp;quot;. Par conséquent, les classes TIntegerProperty et TInt64Property utilisent maintenant TryLiteralToInt.&lt;br /&gt;
*Ajout d&#039;une nouvelle propriété [[lib_fr:System.IOUtils.TPath.Exists|TPath.Exists]].&lt;br /&gt;
*Ajout de [[lib_fr:System.Win.Registry.TRegistry.ReadUInt64|ReadUInt64]] et [[lib_fr:System.Win.Registry.TRegistry.WriteUInt64|WriteUInt64]] à la classe TRegistry.&lt;br /&gt;
*TThreadedQueue a maintenant une propriété Count pour assurer la cohérence des noms.&lt;br /&gt;
*Mise à jour de TDictionary&amp;amp;lt;K,V&amp;amp;gt; et TOrderedDictionary&amp;amp;lt;K,V&amp;amp;gt;. Le transtypage de TOrderedDictionary en TDictionary préserve le comportement de TOrderedDictionary.&lt;br /&gt;
*Les constructeurs des classes de synchronisation TMutex, TSemaphore et TEvent définissent maintenant la propriété THandleObject.LastError avant de revenir à l&#039;appelant.&lt;br /&gt;
*Mise à disposition d&#039;un constructeur TStringList avec la signature:&amp;amp;lt;/br&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 constructor Create(Options: TStringsOptions; Duplicates: TDuplicates = dupIgnore); overload;&lt;br /&gt;
&lt;br /&gt;
*L&#039;unité System.RTTI a une nouvelle fonction GetStorageSize pour lire le nombre d&#039;octets requis pour stocker une valeur de ce type dans la mémoire.&lt;br /&gt;
*Ajout d&#039;une nouvelle méthode TSizeF.Zero.&lt;br /&gt;
*Pour le débogage des scénarios de verrou mortel, nous avons ajouté la propriété WriterID à IReadWrite/TMultiReadExclusiveWriteSync.&lt;br /&gt;
*&lt;br /&gt;
 Restructuration de TRttiDataMember en introduisant une nouvelle classe intermédiaire :&lt;br /&gt;
**TRttiPlaceMember&lt;br /&gt;
**TRttiDataMember&lt;br /&gt;
**TRttiIndexedProperty&lt;br /&gt;
&lt;br /&gt;
==Améliorations relatives à la VCL==&lt;br /&gt;
&lt;br /&gt;
Dans 13.0, RAD Studio introduit de nouvelles fonctionnalités et de nombreuses améliorations de qualité pour les puissantes bibliothèques d&#039;interface utilisateur intégrées. La VCL inclut une intégration des interfaces Microsoft UIAutomation, des styles TitleBar, etc.&lt;br /&gt;
&lt;br /&gt;
===Prise en charge d&#039;UIAutomation===&lt;br /&gt;
&lt;br /&gt;
Pour améliorer l&#039;accessibilité et l&#039;intégration des applications VCL avec les outils de test d&#039;interface utilisateur, la prise en charge de UIAutomation dans la bibliothèque VCL est maintenant intégrée à la version 13.0.&lt;br /&gt;
&lt;br /&gt;
===Améliorations relatives à barre de titre===&lt;br /&gt;
&lt;br /&gt;
Dans cette release, TitleBarPanel prend en charge les styles VCL personnalisés. Cela permet de dessiner des contrôles stylés dans la zone de barre de titre.&lt;br /&gt;
&lt;br /&gt;
De plus, cette release apporte les mises à jour suivantes :&lt;br /&gt;
&lt;br /&gt;
*Ajout d&#039;une nouvelle propriété TTitleBar.StyleColors pour permettre l&#039;utilisation automatique des couleurs des styles VCL pour l&#039;arrière-plan et les boutons sur la barre de titre. La prise en charge inclut l&#039;utilisation des contrôles suivants : TButton, TSpeedButton, TCheckBox, TRadioButton, TToolBar, TEdit, TComboBox, TFormTabsBar, TActionToolBar et TActionMainMenuBar.&lt;br /&gt;
*Amélioration de l&#039;utilisation de la barre de titre dans les applications MDI.&lt;br /&gt;
*Ajout de la prise en charge des conseils pour les boutons des clients sur la barre de titre.&lt;br /&gt;
*Améliorations relatives à la prise en charge HighDPI&lt;br /&gt;
&lt;br /&gt;
===Améliorations relatives au composant ControlList===&lt;br /&gt;
&lt;br /&gt;
Dans RAD Studio Florence 13.0, les améliorations suivantes ont été apportées au composant ControlList :&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
 Le composant ControlList prend en charge un nouveau type de contrôle hébergé : SplitButton. Cette implémentation implique les changements suivants :&lt;br /&gt;
**Les styles clbkSplitPushButton et clbkSplitToolButton pour le contrôle TControlListButton.&lt;br /&gt;
**Un nouvel aspect pour la zone de menu déroulant d&#039;un bouton fractionné avec une flèche.&lt;br /&gt;
**Propriété DropDownMenu pour le contrôle TControlListButton.&lt;br /&gt;
*Ajout d&#039;un nouvel événement OnGetItemHint et d&#039;une nouvelle propriété ShowItemHint pour offrir des conseils par élément, plutôt que des conseils globaux pour les contrôles.&lt;br /&gt;
&lt;br /&gt;
===Améliorations relatives au composant FormsTabsBar===&lt;br /&gt;
&lt;br /&gt;
RAD Studio Florence 13.0 comporte les améliorations suivantes pour le composant FormsTabsBar, introduit dans RAD Studio 12 :&lt;br /&gt;
&lt;br /&gt;
*Ajout de la prise en charge de la transparence avec deux nouvelles propriétés : Transparent et ShowBottomLine.&lt;br /&gt;
*Ajout d&#039;un nouvel événement OnGetTabCaption qui rend le TFormTabsBar plus flexible.&lt;br /&gt;
*Les méthodes TabFromPoint et TabIndexFromPoint sont maintenant publiques.&lt;br /&gt;
*Ajout d&#039;une nouvelle propriété MouseMiddleButtonClose pour fermer un onglet avec le bouton central de la souris.&lt;br /&gt;
&lt;br /&gt;
===Mise à jour de EdgeBrowser===&lt;br /&gt;
&lt;br /&gt;
Cette release intègre une mise à jour des interfaces au contrôle Microsoft WebView 2 (Edge basé sur Chromium) vers la version 1.0.3296.44 du SDK WebView2.&lt;br /&gt;
&lt;br /&gt;
De plus, elle intègre également des mises à jour du composant TEdgeBrowser (et la démo correspondante) pour prendre en charge AddWebResourceRequestedFilterWithRequestSourceKinds à la place de AddWebResourceRequestedFilter.&lt;br /&gt;
&lt;br /&gt;
===Démo WinUI 3===&lt;br /&gt;
&lt;br /&gt;
Cette release intègre la mise à jour des en-têtes WinUI 3 et la démo WinUI 3 autonome, précédemment téléchargeables de façon individuelle via GetIt, et maintenant intégrées dans les démos du produit principal.&lt;br /&gt;
&lt;br /&gt;
===Défilement ActionMainMenuBar===&lt;br /&gt;
&lt;br /&gt;
Cette release intègre une nouvelle fonctionnalité de défilement pour le contrôle TActionMainMenuBar, qui est activée lorsque la hauteur verticale dépasse la hauteur de l&#039;écran.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous un exemple de cette fonctionnalité en action. Veuillez noter qu&#039;elle peut également être utilisée par l&#039;EDI de RAD Studio, lorsqu&#039;il est exécuté sur un écran basse résolution.&lt;br /&gt;
&lt;br /&gt;
[[File:Actionmenus scrollintest.png|=link|border]]&lt;br /&gt;
&lt;br /&gt;
===Autres améliorations de la VCL===&lt;br /&gt;
&lt;br /&gt;
Voici des mises à jour et modifications supplémentaires intégrées dans la VCL.&lt;br /&gt;
&lt;br /&gt;
*Suppression de la prise en charge spécifique à Win98 dans le code VCL.&lt;br /&gt;
*Amélioration du contrôle TToggleSwitch pour qu&#039;il ressemble à un commutateur à bascule Windows 10 / Windows 11, mettant à jour la &amp;quot;famille de styles VCL Windows 10&amp;quot;.&lt;br /&gt;
*Mise à jour de la classe TDragDockObject pour que DropAlign soit une propriété en lecture-écriture.&lt;br /&gt;
*Ajout d&#039;un nouvel événement TActionMainMenuBar.OnSelectMenuItem pour permettre l&#039;affichage de conseils pour les éléments de menu dans le composant ActionMainMenuBar.&lt;br /&gt;
* Le contrôle TCategoryButtons comporte maintenant les propriétés [[lib_fr:Vcl.CategoryButtons.TBaseButtonItem.Enabled|Enabled]] et [[lib_fr:Vcl.CategoryButtons.TButtonCategory.CanCollapse|CanCollapse]] de TBaseButtonItem et TButtonCategory.&lt;br /&gt;
*Nouvelle propriété TStyleManager.FormBorderSize.&lt;br /&gt;
*Nouvel événement TMonthCalendar.OnChange.&lt;br /&gt;
*Nouveaux événements OnBeforeResize et OnAfterResize ajoutés pour TSplitter.&lt;br /&gt;
*Ajout d&#039;une nouvelle fonction publique, VCLEditors.GetFormDPIForVCLEditors, pour simplifier le développement d&#039;éditeurs VCL sous l&#039;EDI HiDPI.&lt;br /&gt;
*TCanvas offre de nouvelles méthodes surchargées avec des paramètres TPoint pour les méthodes suivantes : AngleArc, Draw, LineTo, MoveTo, FloodFill et TextOut.&lt;br /&gt;
&lt;br /&gt;
==Mises à jour de FireMonkey==&lt;br /&gt;
&lt;br /&gt;
Dans RAD Studio 13.0, FireMonkey intègre une nouvelle fonctionnalité Display Link Service qui améliore sensiblement la stabilité et la fluidité des animations. Le framework offre également des gains de performances lors de la copie des bitmaps grâce à l&#039;unité GPU, un tout nouveau composant MaskEdit.&lt;br /&gt;
&lt;br /&gt;
Cette section répertorie les mises à jour et les améliorations apportées à [[FireMonkey|FireMonkey]].&lt;br /&gt;
&lt;br /&gt;
===API pour les plates-formes Apple===&lt;br /&gt;
&lt;br /&gt;
La release RAD Studio Florence 13.0 offre une mise à jour et une extension importantes des API des plates-formes iOS et macOS disponibles dans les fichiers d&#039;en-tête Delphi. Cette release intègre également la mise à jour de tous les en-têtes des API iOS de la RTL vers &#039;&#039;&#039;iOS 18.4&#039;&#039;&#039;. Les extensions spécifiques incluent :&lt;br /&gt;
&lt;br /&gt;
*Ajout des fonctions NSWindow manquantes.&lt;br /&gt;
*Support étendu des liens universels (dans [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iOSapi.Foundation]]).&lt;br /&gt;
*Ajout de fonctions constantes CoreText supplémentaires dans [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iOSapi.CoreText.pas]].&lt;br /&gt;
*Ajout de {{code|coalescedTouchesForTouch}}(touch: UITouch): NSArray; cdecl; à l&#039;interface UIEvent dans [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iOSapi.UIKit]].&lt;br /&gt;
*Ajout de déclarations de méthode manquantes dans les interfaces {{code|UITextView}} et {{code|UITextField}} dans [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iOSapi.UIKit.pas]].&lt;br /&gt;
*Ajout de la méthode {{code|&amp;amp;amp;string}} dans l&#039;interface {{code|NSAttributedString}} dans [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iOSapi.Foundation.pas]].&lt;br /&gt;
*Ajout des déclarations {{code|CVMetalTexture}} et {{code|CVMetalTextureCache}} dans [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iOSapi.CoreVideo.pas]].&lt;br /&gt;
*Ajout de fonctions manquantes dans [[Développement d&#039;applications macOS#Mac Objective-C Frameworks .28Macapi.29|Macapi.QuartzCore.pas]].&lt;br /&gt;
*Ajout d&#039;interfaces et de méthodes dans [[Développement d&#039;applications macOS#Mac Objective-C Frameworks .28Macapi.29|Macapi.AppKit.pas]].&lt;br /&gt;
*Ajout de la déclaration de {{code|CTFontManagerRegisterGraphicsFont}} dans [[Développement d&#039;applications macOS#Mac Objective-C Frameworks .28Macapi.29|Macapi.CoreText.pas]].&lt;br /&gt;
*Mise à jour de [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iosapi.CoreLocation]] dans iOS 18.4, y compris la prise en charge de {{code|CLVisit}}.&lt;br /&gt;
*Ajout des nouveaux fichiers [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iOSapi.CoreMIDI]], [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iOSapi.CoreAudioTypes]].&lt;br /&gt;
*L&#039;unité iOSapi.AudioToolbox a été mise à jour vers iOS 18.4. Le framework {{code|AudioUnit}} a été supprimé car il est obsolète. AudioToolbox doit être utilisé à la place.&lt;br /&gt;
*Extension de l&#039;objet {{code|AVAudioSession}} importé dans [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iOSapi.AVFoundation]].&lt;br /&gt;
*Nouvel en-tête [[Création d&#039;une app iOS#iOS Objective-C Frameworks .28iOSapi.29|iOSapi.ImageIO]].&lt;br /&gt;
&lt;br /&gt;
===API de la plate-forme Android===&lt;br /&gt;
&lt;br /&gt;
RAD Studio Florence 13.0 cible l&#039;API Android niveau 35 par défaut, et inclut des outils pour prendre en charge les nouveaux niveaux de l&#039;API dans le futur.&lt;br /&gt;
&lt;br /&gt;
Voici des modifications supplémentaires :&lt;br /&gt;
&lt;br /&gt;
*Amélioration de la classe TTexture pour prendre en charge la cible {{code|GL_TEXTURE_EXTERNAL_OES}}.&lt;br /&gt;
*Remaniement de l&#039;outil en ligne de commande {{code|Java2OP}}, en remplaçant {{code|Doclava}} par le nouvel outil en ligne de commande {{code|jparser}}. Cela élimine les problèmes associés à la réimplémentation des API déclarées dans les packages exportés par les modules de la plate-forme.&lt;br /&gt;
*Ajout de getEventTimeNanos et getHistoricalEventTimeNanos à JMotionEvent dans Androidapi.JNI.GraphicsContentViewText.pas.&lt;br /&gt;
*Mise à jour de l&#039;outil en ligne de commande {{code|manifestmerger}} vers la version 31.10.1.&lt;br /&gt;
*Mise à jour de l&#039;outil en ligne de commande {{code|AAPT2}} vers la version 8.10.1.&lt;br /&gt;
*Mise à jour de l&#039;utilitaire en ligne de commande {{code|dexter}} vers la version 1.0.1.&lt;br /&gt;
*Mise à jour de l&#039;utilitaire en ligne de commande {{code|rclasser}} vers la version 1.0.1.&lt;br /&gt;
*Mise à jour de l&#039;utilitaire en ligne de commande {{code|bundletool}} vers la version 1.18.1.&lt;br /&gt;
*Mise à jour de l&#039;utilitaire en ligne de commande {{code|packager}} vers la version 1.2.1.&lt;br /&gt;
&lt;br /&gt;
===Contrôle MaskEdit===&lt;br /&gt;
&lt;br /&gt;
RAD Studio Florence 13.0 introduit un nouveau contrôle MaskEdit pour FireMonkey qui inclut un concepteur spécifique pour les masques de saisie.&lt;br /&gt;
&lt;br /&gt;
[[File:Maskedit.png|=link|border]]&lt;br /&gt;
&lt;br /&gt;
Contrairement à son équivalent VCL, dans l&#039;implémentation FMX TMaskEdit, une exception n&#039;est pas déclenchée si la valeur en cours dans l&#039;éditeur de masque de saisie n&#039;est pas valide. A la place, il est recommandé d&#039;utiliser l&#039;événement OnValidateError. Cet événement permet au développeur de fournir à l&#039;utilisateur un retour visuel à propos d&#039;une valeur non valide. Si la valeur est toujours incorrecte après la réinitialisation de la focalisation, elle reste dans un état non valide, et l&#039;événement OnChange n&#039;est pas déclenché jusqu&#039;à ce que la valeur devienne valide.&lt;br /&gt;
&lt;br /&gt;
===Nouvelle fonctionnalité Display Link Service===&lt;br /&gt;
&lt;br /&gt;
La nouvelle fonctionnalité Display Link Service pour FMX est maintenant le moteur central pour toutes les animations de l&#039;application, remplaçant entièrement l&#039;ancien moteur basé sur des timers.&lt;br /&gt;
&lt;br /&gt;
Ce système précis exploite le taux de rafraîchissement réel de l&#039;écran pour synchroniser et lancer toutes les mises à jour et animations de l&#039;interface utilisateur. En utilisant les API natives de la plate-forme comme JChoreographer (Android) et CADisplayLink (iOS), le service garantit que le traitement des animations est étroitement aligné sur les événements VSync, ce qui se traduit par des visuels plus fluides et plus cohérents sur toutes les plates-formes.&lt;br /&gt;
&lt;br /&gt;
{{Note|Vous remarquerez que cette modification fondamentale et structurelle implique des changements et des incompatibilités avec le code existant. Par exemple, la propriété {{code|Interval}} dans [[lib_fr:FMX.InertialMovement.TAniCalculations|TAniCalculations]] a été supprimée&amp;lt;ref name=&amp;quot;”TAniCalculations”&amp;quot; /&amp;gt;, alors que d&#039;autres propriétés ont été modifiées de TDateTime en Double.}}&lt;br /&gt;
&lt;br /&gt;
===FMX Linux===&lt;br /&gt;
&lt;br /&gt;
Pour la release RAD Studio Florence 13.0, une nouvelle version de FMX Linux est disponible dans les packages [[Gestionnaire de packages GetIt|GetIt]]. De même, l&#039;intégration de la bibliothèque à l&#039;EDI est maintenant plus fluide.&lt;br /&gt;
&lt;br /&gt;
===Mises à jour de Skia===&lt;br /&gt;
&lt;br /&gt;
La release RAD Studio Florence 13.0 intègre la mise à jour de la dernière version 7.0.0 de la bibliothèque Skia ([[Skia4Delphi|Skia4Delphi - RAD Studio]]). Cette mise à jour résout plusieurs problèmes et permet une meilleure intégration de Skia.&lt;br /&gt;
&lt;br /&gt;
Voir [https://github.com/skia4delphi/skia4delphi/releases Releases - skia4delphi/skia4delphi]&lt;br /&gt;
&lt;br /&gt;
===Améliorations supplémentaires relatives aux contrôles et composants FireMonkey===&lt;br /&gt;
&lt;br /&gt;
Voici des mises à jour et modifications supplémentaires apportées aux contrôles et composants FireMonkey.&lt;br /&gt;
&lt;br /&gt;
*Le composant TComboEdit prend maintenant en charge le remplissage automatique de la saisie avec une configuration de texte modifiable.&lt;br /&gt;
*Ajout d&#039;un nouvel ensemble de propriétés au [[lib_fr:FMX.ScrollBox.TPresentedScrollBox|TPresentedScrollBox]] pour que l&#039;utilisateur puisse contrôler les animations de défilement, les rebonds et les interactions tactiles. Voici les nouvelles propriétés : [[lib_fr:FMX.ScrollBox.TCustomPresentedScrollBox.AutoHide|AutoHide]], [[lib_fr:FMX.ScrollBox.TCustomPresentedScrollBox.Bounces|Bounces]], [[lib_fr:FMX.ScrollBox.TCustomPresentedScrollBox.ScrollAnimation|ScrollAnimation]], [[lib_fr:FMX.ScrollBox.TCustomPresentedScrollBox.ScrollDirections|ScrollDirections]], et [[lib_fr:FMX.ScrollBox.TCustomPresentedScrollBox.TouchTracking|TouchTracking]].&lt;br /&gt;
*Ajout du nouveau composant TApplicationEvents.&lt;br /&gt;
*Changement de TDateTime en Double car l&#039;API fonctionne maintenant avec des intervalles mesurés en seconde. Le DisplayLink d&#039;iOS fonctionne en secondes, alors que le JChoreographer d&#039;Android fonctionne en nanosecondes.&lt;br /&gt;
*Conversion des méthodes de FMX.Text.TextEditor et FMX.Text.SpellingManager pour qu&#039;elles soient virtuelles.&lt;br /&gt;
* Remaniement de {{code|IFMXSpellCheckerService}} avec la nouvelle interface {{code|IFMXSpellCheckerServiceEx}}, qui permet de travailler avec différentes langues et phrases.&lt;br /&gt;
*Publication de la propriété HitTest pour le composant TGlyph.&lt;br /&gt;
*Ajout d&#039;une propriété [[lib_fr:FMX.Memo.TCustomMemo.TextPrompt|TextPrompt]] à TMemo, utilisée comme texte indicatif lorsqu&#039;aucun texte n&#039;est présent. Fonctionne comme un TEdit.&lt;br /&gt;
*Ajout d&#039;un nouvel événement OnCheckedChange pour TListBoxItem.&lt;br /&gt;
*Ajout de la prise en charge de l&#039;orientation pour la poignée dans le style TSplitter.&lt;br /&gt;
*Publication de la propriété de TouchTargetExpansion pour TShape et d&#039;autres contrôles visuels.&lt;br /&gt;
*Les icônes de boutons TBindNavigator peuvent maintenant être modifiés via les styles.&lt;br /&gt;
*Ajout d&#039;une nouvelle propriété Reverse à TTrackBar , qui permet d&#039;inverser la barre graduée. De plus, TTrackBar prend maintenant en charge le défilement avec la molette de la souris.&lt;br /&gt;
*La hauteur de MenuItem était auparavant une constante. Maintenant, l&#039;utilisateur peut ajouter un objet TStyleTag avec StyleName=“height“ au style TMenuItem et spécifier la hauteur de l&#039;élément de menu dans la propriété Value.&lt;br /&gt;
*TGlyph a de nouvelles propriétés, ImageRect et Bitmap, qui autorisent des tailles et coordonnées de dessin réelles.&lt;br /&gt;
*La valeur FContentHeight du composant TExpander est maintenant accessible dans la propriété ContentHeight.&lt;br /&gt;
*Amélioration de la saisie dans TStringGrid TPopupColumn.&lt;br /&gt;
*Introduction des méthodes virtuelles DoStateChanged pour TRadioButton, TCheckBox et TArcDial.&lt;br /&gt;
*Une nouvelle assistance de propriété de classe de type TCanvasHelper dans TCustomCanvasGpu a été conçue pour les développeurs souhaitant étendre la bibliothèque FMX.&lt;br /&gt;
*Le FMX.TListBoxGroupHeader a maintenant la propriété TextSetting.Trimming.&lt;br /&gt;
*Ajout de la propriété AutoTranslate à TMainMenu et TPopupMenu.&lt;br /&gt;
*Ajout d&#039;une version surchargée de la méthode EvaluateJavaScript à TWebBrowser, avec un paramètre TJavaScriptResultCallback.&lt;br /&gt;
*Ajout d&#039;un nouveau composant, TApplicationEvents, similaire à l&#039;équivalent VCL.&lt;br /&gt;
*Mise à jour de [[lib_fr:FMX.Types.TAlignLayout|TAlignLayout]] de façon à intégrer de nouvelles options d&#039;alignement pour le centrage des contrôles. Les nouvelles méthodes d&#039;alignement incluent : {{code|TopCenter}}, {{code|TopLeft}}, {{code|TopRight}}, {{code|LeftCenter}}, {{code|LeftTop}}, {{code|LeftBottom}}, {{code|RightCenter}}, {{code|RightTop}}, {{code|RightBottom}}, {{code|BottomCenter}}, {{code|BottomLeft}} et {{code|BottomRight}}.&lt;br /&gt;
*Ajout de la prise en charge de la version 16.0 des symboles des emojis.&lt;br /&gt;
*TBindNavigator permet maintenant de configurer des conseils et des styles spécifiques pour chaque bouton, en utilisant les sous-propriétés de la propriété [[lib_fr:Fmx.Bind.Navigator.TCustomBindNavigator.ButtonsOptions|ButtonsOptions]].&lt;br /&gt;
&lt;br /&gt;
====Autres améliorations relatives aux applications mobiles====&lt;br /&gt;
&lt;br /&gt;
*Prise en charge du mode plein écran pour iOS.&lt;br /&gt;
*RAD Studio transmet maintenant les paramètres de démarrage iOS, qui peuvent être utilisés pour les interactions avec d&#039;autres frameworks et applications (voir [[lib_fr:FMX.Platform.TApplicationEvent|TApplicationEvent]]; {{code|FinishedLaunching}}).&lt;br /&gt;
*Problème de dictée vocale résolu sur iOS.&lt;br /&gt;
*Ajout de la possibilité de désactiver le rebond dans une vue liste sur iOS, à l&#039;aide de la nouvelle propriété [[lib_fr:FMX.ListView.TListViewBase.Bounces|TListView.Bounces]]. Cette propriété permet à un développeur de contrôler la possibilité de faire défiler le contenu au-delà de ses limites. Cela concerne uniquement l&#039;écran tactile.&lt;br /&gt;
&lt;br /&gt;
==Base de données et FireDAC==&lt;br /&gt;
&lt;br /&gt;
Cette partie du produit englobe de nombreuses améliorations allant de la prise en charge étendue des champs de base de données Unsigned Big Integer (grand entier non signé) à une plus grande flexibilité lors du déplacement d&#039;un champ depuis l&#039;éditeur de champs vers une fiche visuelle.&lt;br /&gt;
&lt;br /&gt;
Cette section répertorie les mises à jour et les améliorations apportées aux composants Database et [[FireDAC|FireDAC]].&lt;br /&gt;
&lt;br /&gt;
===RTL des bases de données===&lt;br /&gt;
&lt;br /&gt;
Cette section répertorie les mises à jour et les améliorations apportées à la RTL des bases de données :&lt;br /&gt;
&lt;br /&gt;
*Ajout d&#039;un nouveau type de champ à [[lib_fr:Data.DB.TFieldType|TFieldType]] pour prendre en charge les champs Unsigned Big Integer (grand entier non signé). FireDAC prend maintenant en charge le nouveau type {{code|TFieldType.ftLargeUint}} via les pilotes Oracle et MySQL, ainsi que le [[lib_fr:FireDAC.Comp.Client.TFDMemTable|TFDMemTable]].&lt;br /&gt;
*Ajout d&#039;une nouvelle propriété [[lib_fr:Vcl.DBCtrls.TDBText.EllipsisPosition|EllipsisPosition]] au composant TDBText VCL, qui fonctionne de la même façon qu&#039;avec TLabel.&lt;br /&gt;
*&lt;br /&gt;
 Ajout de nouvelles propriétés DataSet pour accéder aux objets DataSource attachés :&lt;br /&gt;
**Propriété [[lib_fr:Data.DB.TDataSet.DataSourceCount|TDataSet.DataSourceCount]].&lt;br /&gt;
**Propriété  [[lib_fr:Data.DB.TDataSet.DataSources|TDataSet.DataSources]].&lt;br /&gt;
*Ajout d&#039;une procédure {{code|DrpCtrls.RegisterFieldControl}} surchargée qui permet une configuration personnalisée du contrôle personnalisé créé. Voir l&#039;exemple ci-dessous :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
uses DrpCtrls;&lt;br /&gt;
  RegisterFieldControl(TIntegerField, &#039;TDBLabeledEdit&#039;,&lt;br /&gt;
    procedure (Control: TControl; DataSource: TDataSource; Field: TField)&lt;br /&gt;
    var&lt;br /&gt;
      LEdit: TDBLabeledEdit;&lt;br /&gt;
    begin&lt;br /&gt;
      LEdit := Control as TDBLabeledEdit;&lt;br /&gt;
      LEdit.DataSource := DataSource;&lt;br /&gt;
      LEdit.DataField := Field.FullName;&lt;br /&gt;
      LEdit.EditLabel.Caption := Field.DisplayLabel;&lt;br /&gt;
    end);&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===FireDAC===&lt;br /&gt;
&lt;br /&gt;
Cette release intègre les mises à jour et améliorations suivantes de [[FireDAC|FireDAC]] :&lt;br /&gt;
&lt;br /&gt;
*Ajout de la prise en charge des opérations parallèles dans {{code|TFDFBBackup}} pour Firebird 5.0+. ParallelWorkers ([[lib_fr:FireDAC.Phys.IBBase.TFDIBBackup.ParallelWorkers|TFDIBBackup]], [[lib_fr:FireDAC.Phys.IBBase.TFDIBRestore.ParallelWorkers|TFDIBRestore]], et [[lib_fr:FireDAC.Phys.IBBase.TFDIBValidate.ParallelWorkers|TFDIBValidate]]) spécifie le nombre de processus de travail parallèles utilisés par un gestionnaire de service pour exécuter les tâches requises.&lt;br /&gt;
*[[lib_fr:FireDAC.Comp.Client.TFDMemTable|TFDMemTable]] prend en charge {{code|RecsSkip}} et {{code|RecsMax}}. Les paramètres RecsSkip et RecsMax sont appliqués quand la propriété [[lib_fr:FireDAC.Comp.Client.TFDMemTable.Filter|Filter]] a la valeur {{code|True}}.&lt;br /&gt;
*&lt;br /&gt;
 Ajout d&#039;une plus grande flexibilité à FireDAC lors du renvoi de données textuelles pour les types tableau PostgreSQL. Voici deux façons d&#039;afficher les champs {{code|relacl}} sous forme de texte lisible :&lt;br /&gt;
**transtyper un champ - {{code|relacl::TEXT}}&lt;br /&gt;
**définir [[lib_fr:FireDAC.Stan.Option.TFDResourceOptions.DirectExecute|ResourceOptions.DirectExecute]] sur {{code|True}}. Ensuite, FireDAC en interne utilisera le format textuel de PostgreSQL pour les ensembles de résultats.&lt;br /&gt;
*Conversion en méthodes virtuelles de certaines méthodes en relation avec les transactions dans les classes [[lib_fr:FireDAC.Comp.Client.TFDCustomConnection|TFDCustomConnection]] et [[lib_fr:FireDAC.Comp.Client.TFDCustomTransaction|TFDCustomTransaction]] pour faciliter la personnalisation du comportement des classes dérivées.&lt;br /&gt;
*[[lib_fr:FireDAC.Comp.Client.TFDMemTable|TFDMemTable]] permet le chargement du JSON standard (non généré en enregistrant les données à partir de FireDAC) en utilisant le nouveau format [[lib_fr:FireDAC.Stan.Intf.TFDStorageFormat|TFDStorageFormat.sfFreeFormJSON]]. &amp;amp;lt;/br&amp;amp;gt; Exemples :&lt;br /&gt;
&lt;br /&gt;
 FDMemTable1.LoadFromFile(&#039;test.json&#039;, sfFreeFormJSON);&lt;br /&gt;
 FDMemTable1.SaveToFile(&#039;test2.json&#039;, sfFreeFormJSON).&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
 Pour les connexions Oracle, RAD Studio Florence 13.0 ajoute la prise en charge de l&#039;authentification OAuth 2.0 pour le composant FireDAC [[lib_fr:FireDAC.Comp.Client.TFDConnection|TFDConnection]] dans Delphi.&lt;br /&gt;
**&lt;br /&gt;
 Nouveaux paramètres de définition de connexion [[Connexion à Oracle Server (FireDAC)#Paramètres de définition de connexion]] : &lt;br /&gt;
***&#039;&#039;&#039;OAuth_Token&#039;&#039;&#039; - spécifie un token OAuth2 ou IAM. Requiert Oracle 19.13.&lt;br /&gt;
***&#039;&#039;&#039;OAuth_PrivKey&#039;&#039;&#039; - spécifie une clé privée IAM PoP. Lorsqu&#039;elle est spécifiée, l&#039;authentification basée sur un token IAM est utilisée ; sinon, l&#039;authentification Azure OAuth2 est utilisée. Requiert Oracle 19.13.&lt;br /&gt;
**Utilisez le composant [[lib_fr:REST.Authenticator.OAuth.TOAuth2Authenticator|TOAuth2Authenticator]] pour obtenir un token OAuth2. Utilisez la fonction de [[Récupération d&#039;une connexion (FireDAC)|Récupération automatique de connexion]] pour renouveler et soumettre un nouveau token.&lt;br /&gt;
&lt;br /&gt;
===DataSnap===&lt;br /&gt;
&lt;br /&gt;
Cette release ajoute des événements de validation de certificat à TFDConnection et TDSClientCallbackChannelManager, qui peuvent utiliser HTTPS comme protocole de transport :&lt;br /&gt;
&lt;br /&gt;
*[[lib_fr:FireDAC.Comp.Client.TFDConnection.ValidatePeerCertificate|TFDConnection.ValidatePeerCertificate]].&lt;br /&gt;
*[[lib_fr:Datasnap.DSCommon.TDSClientCallbackChannelManager.ValidatePeerCertificate|TDSClientCallbackChannelManager.ValidatePeerCertificate]].&lt;br /&gt;
&lt;br /&gt;
==Mises à jour des bibliothèques client Web==&lt;br /&gt;
&lt;br /&gt;
La release RAD Studio Florence 13.0 apporte les mises à jour suivantes :&lt;br /&gt;
&lt;br /&gt;
*Ajout de la prise en charge du protocole HTTP/3 vers THttpClient via [[lib_fr:REST.HttpClient.TRESTHTTP.ProtocolVersion|THTTPProtocolVersion.HTTP_3_0]].&lt;br /&gt;
*Pour les clients SOAP, une version asynchrone de [[lib_fr:Soap.SOAPHTTPTrans.THTTPReqResp.Execute|THTTPReqResp.Execute]] est désormais disponible.&lt;br /&gt;
&lt;br /&gt;
==Mises à jour relatives à WebBroker==&lt;br /&gt;
&lt;br /&gt;
La release RAD Studio 13.0 Florence offre plusieurs extensions à [[lib_fr:Web.WebBroker|WebBroker]], y compris une gestion des sessions HTTP moderne et intégrée, une intégration Apache améliorée, la prise en charge des serveurs Web Nginx, une journalisation améliorée et une intégration WebStencils facile, ce qui rend les applications Web à la fois plus simples à développer et plus puissantes.&lt;br /&gt;
&lt;br /&gt;
===Authentification et gestion des sessions===&lt;br /&gt;
&lt;br /&gt;
Cette release introduit une nouvelle classe, [[lib_fr:Web.HTTPApp.TWebSessionManager|TWebSessionManager]], qui gère une liste d&#039;objets [[lib_fr:Web.HTTPApp.TWebSession|TWebSession]]. Il s&#039;agit d&#039;un composant non visuel qui offre un ensemble de propriétés au moment de la conception.&lt;br /&gt;
&lt;br /&gt;
La propriété [[lib_fr:Web.HTTPApp.TWebRequest.Session|TWebRequest.Session]] renvoie la session de la requête. Les objets personnalisés stockés dans TWebSession.DataVars sont maintenant directement disponibles dans les scripts WebStencils.&lt;br /&gt;
&lt;br /&gt;
L&#039;authentification des sessions peut être intégrée à la gestion des sessions et peut être basée sur une logique différente.&lt;br /&gt;
&lt;br /&gt;
Un algorithme “sentinelle” est intégré à TCustomWebDispatcher.DispatchAction, et délègue le traitement à [[lib_fr:Web.HTTPApp.IWebSessionManager|IWebSessionManager]] ou [[lib_fr:Web.HTTPApp.IWebAuthenticator|IWebAuthenticator]].&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ci-dessous d&#039;autres changements apportés à la prise en charge des bibliothèques :&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gestion des sessions&#039;&#039;&#039; : &lt;br /&gt;
**Ajout du TWebSessionManager qui gère une collection d&#039;objets TWebSession. Il s&#039;agit d&#039;un composant non visuel avec des propriétés de conception ayant les configurations suivantes : IdLocation, IdName, Scope (ssUnlimited, ssUser et ssUserAndIP), Timeout et SharedSecret.&lt;br /&gt;
**Ajout du TWebSession, qui représente des sessions individuelles.&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Authentification&#039;&#039;&#039; :&lt;br /&gt;
**Ajout du TWebBasicAutenticator, qui implémente l&#039;authentification de base HTTP.&lt;br /&gt;
**&lt;br /&gt;
 Ajout du TWebFormsAuthenticator, qui implémente l&#039;authentification basée sur des fiches HTML. &lt;br /&gt;
***&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Authorisation&#039;&#039;&#039; :&lt;br /&gt;
**TWebAuthorizer fournit un contrôle d&#039;accès basé sur les rôles via des zones d&#039;autorisation.&lt;br /&gt;
**Authorization vérifie les rôles des utilisateurs conformément aux exigences de la zone. Utilisez l&#039;événement OnAuthorize pour la logique d&#039;autorisation personnalisée. En cas d&#039;échec de l&#039;autorisation, une redirection est effectuée vers UnauthorizedURL ou l&#039;état 403 est renvoyé.&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Intégration WebStencils&#039;&#039;&#039; : &lt;br /&gt;
**&lt;br /&gt;
 Les sessions s&#039;intègrent aux modèles WebStencils suivants : &lt;br /&gt;
***{{code|@session.xxx}} : accès aux propriétés de l&#039;objet session.&lt;br /&gt;
***{{code|@session.DataVars}} : accès aux variables personnalisées des sessions.&lt;br /&gt;
***{{code|@session.UserHasRole(&amp;amp;lt;string&amp;amp;gt;)}} : vérifie si un utilisateur a un rôle spécifique.&lt;br /&gt;
***{{code|@&amp;amp;lt;n&amp;amp;gt;}} : accès direct aux objets stockés dans DataVars avec la clé {{code|&amp;amp;lt;n&amp;amp;gt;}}.&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nouvelles propriétés de requêtes&#039;&#039;&#039; :&lt;br /&gt;
**TWebRequest.AuthUserName : nom d&#039;utilisateur authentifié.&lt;br /&gt;
**TWebRequest.AuthMethod : méthode d&#039;authentification utilisée.&lt;br /&gt;
**TWebRequest.Session : objet session de la requête en cours.&lt;br /&gt;
&lt;br /&gt;
Pour utiliser ces composants, ajoutez-les au module Web (un seul TWebSessionManager et un seul authentificateur par module). Les composants sont automatiquement détectés par la sentinelle du répartiteur. Le traitement s&#039;effectue comme suit : {{Menu| Gestion des sessions &amp;amp;gt; Authentification &amp;amp;gt; Autorisation &amp;amp;gt; Actions de répartition}}.&lt;br /&gt;
&lt;br /&gt;
Les sessions sont automatiquement créées quand TWebSessionManager est présent. L&#039;authentification est obligatoire lorsqu&#039;un composant authentificateur est ajouté (utilisez TWebAuthorizer pour contrôler ce comportement). Tous les composants fonctionnent ensemble via des interfaces (IWebSessionManager, IWebAuthenticator, IWebAuthorizer).&lt;br /&gt;
&lt;br /&gt;
===Sortie d&#039;historique===&lt;br /&gt;
&lt;br /&gt;
Une nouvelle méthode TWebApplication.Log intégrant la gravité, le message et les paramètres est prise en charge sur toutes les plates-formes et utilise le système d&#039;historique approprié du serveur Web :&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Apache&#039;&#039;&#039; : fichier journal du serveur Apache, par défaut logs\error.log.&lt;br /&gt;
*&#039;&#039;&#039;ISAPI&#039;&#039;&#039; : journal d&#039;événements Windows (eventvwr.msc) : journaux Windows.&lt;br /&gt;
*&#039;&#039;&#039;CGI&#039;&#039;&#039; : fichier ayant le nom TCGIApplication.LogFileName.&lt;br /&gt;
*&#039;&#039;&#039;FastCGI&#039;&#039;&#039; : fichier journal du serveur HTTP (Apache, nginx), par défaut logs\error.log.&lt;br /&gt;
&lt;br /&gt;
===TWebRequest étendu===&lt;br /&gt;
&lt;br /&gt;
Cette release a étendu le composant TWebRequest comme suit :&lt;br /&gt;
&lt;br /&gt;
*Méthode ExtractAllHeaders, propriété AllHeaders&lt;br /&gt;
*SessionID&lt;br /&gt;
*AuthUserName et AuthMethod&lt;br /&gt;
&lt;br /&gt;
===Apache Config===&lt;br /&gt;
&lt;br /&gt;
Cette release introduit Apache Config, un système de configuration textuel et extensible. Voici un exemple de configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039; :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
MyEnabled On&lt;br /&gt;
MyFolder &amp;quot;c:/temp&amp;quot;&lt;br /&gt;
MyMimeTypes image/bmp text/html&lt;br /&gt;
&amp;lt;Location /qwe/asd&amp;gt;&lt;br /&gt;
  MyEnabled On&lt;br /&gt;
  MyFolder &amp;quot;c:/temp/asd&amp;quot;&lt;br /&gt;
&amp;lt;/Location&amp;gt;&lt;br /&gt;
&amp;lt;Location /qwe/asd/zxc&amp;gt;&lt;br /&gt;
  MyMimeTypes image/png image/jpeg text/html&lt;br /&gt;
  MyRole admin&lt;br /&gt;
&amp;lt;/Location&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Permet le mappage d&#039;un enregistrement Delphi sur des directives Apache (types de champs non gérés uniquement, y compris string[n]) :&lt;br /&gt;
&lt;br /&gt;
*Utilisez des attributs WebHTTPMethod pour personnaliser le mappage.&lt;br /&gt;
*Utilisez Web.ApacheApp.InitConfig pour recenser le type d&#039;enregistrement. Appelez-le juste après InitApplication.&lt;br /&gt;
*Utilisez Web.ApacheHTTP. TApacheRequest.GetConfig pour obtenir une instance d&#039;enregistrement avec des valeurs spécifiques à une URL de requête.&lt;br /&gt;
*Utilisez Web.HTTPDMethods.IHTTPDConfigAdaptor, THTTPDCustomConfigAdaptor&amp;amp;lt;T&amp;amp;gt; pour personnaliser l&#039;initialisation et la redéfinition des enregistrements.&lt;br /&gt;
&lt;br /&gt;
L&#039;expert WebBroker permet d&#039;inclure un exemple de configuration Apache.&lt;br /&gt;
&lt;br /&gt;
{{Attention| Cette fonctionnalité n&#039;est pas prise en charge dans C++ Builder.}}&lt;br /&gt;
&lt;br /&gt;
===Prise en charge de FastGCI et NGINX===&lt;br /&gt;
&lt;br /&gt;
Cette release intègre la prise en charge de FastCGI pour nginx. Cette interface permet d&#039;accéder à un module Web exécuté sous forme d&#039;application distincte.&lt;br /&gt;
&lt;br /&gt;
Plus de détails ci-dessous :&lt;br /&gt;
&lt;br /&gt;
*Ajout de nouvelles unités Web.FastCGIApp.pas, Web.FastCGIHTTP.pas et Web.FCGI_Protocol.pas.&lt;br /&gt;
*FastCGI est pris en charge par nginx et Apache.&lt;br /&gt;
*Ajout de nouvelles classes : TFastCGIApplication, TFastCGIRequest et TFastCGIResponse.&lt;br /&gt;
*Ajout de la prise en charge de FastCGI à l&#039;expert WebBroker.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour recenser une application avec nginx, ajoutez les lignes suivantes à conf\nginx.conf :&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
# 1) &amp;quot;location&amp;quot; mask, fastcgi_param directives are environment dependent&lt;br /&gt;
# 2) Update the fastcgi_pass directive when the host or port is different&lt;br /&gt;
# 3) This will redirect the request &amp;quot;GET http://localhost:8000/fcgi/&amp;quot; &lt;br /&gt;
#    to the FastCGI server.&lt;br /&gt;
&lt;br /&gt;
        location ~ ^/fcgi(.*)$ {&lt;br /&gt;
            include fastcgi_params;&lt;br /&gt;
&lt;br /&gt;
            fastcgi_param SCRIPT_NAME /fcgi;&lt;br /&gt;
            fastcgi_param PATH_INFO   $1;&lt;br /&gt;
            fastcgi_param SCRIPT_FILENAME dummy;&lt;br /&gt;
            fastcgi_param PATH_TRANSLATED $document_root$1;&lt;br /&gt;
            fastcgi_keep_conn on;&lt;br /&gt;
&lt;br /&gt;
            fastcgi_pass 127.0.0.1:9000;&lt;br /&gt;
        }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Améliorations relatives à WebStencils==&lt;br /&gt;
&lt;br /&gt;
WebStencils étend considérablement les technologies Web existantes dans RAD Studio en fournissant des scripts côté serveur et en transformant RAD Server d&#039;un moteur de service Web en un outil de site Web et de service Web.&lt;br /&gt;
&lt;br /&gt;
La section suivante décrit les mises à jour de [[WebStencils|WebStencils]] introduites dans RAD Studio Florence 13.0.&lt;br /&gt;
&lt;br /&gt;
*Implémentation de la propriété du mécanisme de liste blanche pour empêcher l&#039;exposition d&#039;informations sensibles comme les chaînes de connexion de base de données ou toute autre information sensible. Découvrez comment personnaliser la liste blanche [[WebStencils#Liste blanche de sécurité|ici]].&lt;br /&gt;
*Introduction de la possibilité d&#039;ajouter des [[WebStencils#Utilisation de variables supplémentaires|variables supplémentaires]] au moteur de script à l&#039;extérieur des modèles d&#039;objet et d&#039;ensemble de données.&lt;br /&gt;
*La notation WebStencils {{code|@}} pour un ensemble de données permet maintenant d&#039;accéder aux propriétés de l&#039;ensemble de données, en plus du champ. Le niveau d&#039;accès au champ peut être contrôlé à l&#039;aide d&#039;une propriété spécifique ([[lib_fr:Web.Stencils.TWebStencilsProcessor.Whitelist|TWebStencilsProcessor.Whitelist]]) pour empêcher l&#039;accès non autorisé aux informations internes. Vous trouverez plus d&#039;informations [[WebStencils#Accès aux propriétés de l&#039;ensemble de données|ici]].&lt;br /&gt;
*WebStencils s&#039;intègre maintenant automatiquement aux sessions Web lorsqu&#039;elles sont disponibles. Vous trouverez plus d&#039;informations [[WebStencils#Intégration automatique aux sessions|ici]].&lt;br /&gt;
*WebStencils prend maintenant en charge la propagation du contenu @ExtraHeader via des hiérarchies de dispositions imbriquées. Vous trouverez plus d&#039;informations [[WebStencils#Modèles WebStencils : disposition et corps|ici]].&lt;br /&gt;
*Ajout d&#039;améliorations relatives aux [[WebStencils#Mots clés WebStencil|mots clés WebStencils]] en donnant au mot-clé {{code|@page}} deux valeurs supplémentaires, comme {{code|@page.request_path}} et {{code|@page.request_segment}}.&lt;br /&gt;
&lt;br /&gt;
==Améliorations relatives à RAD Server==&lt;br /&gt;
&lt;br /&gt;
RAD Studio 13.0 rend l&#039;utilisation de la documentation API Swagger plus flexible, ajoute la prise en charge multi-client de RAD Server en tant qu&#039;option pour intégrer une configuration spécifique au client, et introduit un moyen simple et direct d&#039;implémenter le versionage des API.&lt;br /&gt;
&lt;br /&gt;
La section suivante répertorie les améliorations apportées à RAD Server dans RAD Studio Florence 13.0.&lt;br /&gt;
&lt;br /&gt;
*Documentation API Swagger de RAD Server : les paramètres de schémas et de références pour les définitions Swagger et OpenAPI sont maintenant facultatifs.&lt;br /&gt;
*&lt;br /&gt;
 Ajoute l&#039;option permettant de renvoyer un en-tête personnalisé dans le document de réponse Swagger en utilisant le nouvel attribut [[lib_fr:EMS.ResourceTypes.EndPointResponseHeaderAttribute|EndPointResponseHeaderAttribute]]. &lt;br /&gt;
**Nouvelles méthodes [[lib_fr:EMS.Services.IEMSApiDocumentService.SetBaseUrl|SetBaseUrl]] et [[lib_fr:EMS.Services.TEMSAPIDocumentService.GetBaseUrl|GetBaseUrl]].&lt;br /&gt;
*&lt;br /&gt;
 Cette release ajoute à la [[Support multi-client RAD Server|prise en charge multi-client (multi-tenancy) de RAD Server]] une façon d&#039;intégrer une configuration spécifique au client (comme des connexions aux bases de données), à configurer avant l&#039;exécution d&#039;une logique métier quelconque. Plus spécifiquement, les éléments suivants ont été ajoutés :&lt;br /&gt;
**Variables serveur préfixées par le client (tenant) : la spécification d&#039;une variable préfixée par le client garantit l&#039;utilisation de sa valeur. Sinon, une variable sans préfixe du client est utilisée.&lt;br /&gt;
**Une interface [[lib_fr:EMS.ResourceTypes.IEMSResourceInterceptor|IEMSResourceInterceptor]] avec des méthodes [[lib_fr:EMS.ResourceTypes.IEMSResourceInterceptor.BeforeRequest|BeforeRequest]] et [[lib_fr:EMS.ResourceTypes.IEMSResourceInterceptor.AfterRequest|AfterRequest]].&lt;br /&gt;
*&lt;br /&gt;
 RAD Server prend maintenant en charge l&#039;exportation de plusieurs versions de la même fonction de l&#039;API, ce qui permet aux clients d&#039;invoquer la version la plus récente de l&#039;API REST ou une version plus ancienne en utilisant le nouvel attribut ResourceVersion. Les nouvelles valeurs de [[lib_fr:EMS.ResourceAPI.TEMSVersionStatus|TEMSVersionStatus]] sont les suivantes :&lt;br /&gt;
**Experimental - utilise {{code|ver/myapi/…}} comme URL de base et ajoute “Experimental” à la description Swagger.&lt;br /&gt;
**Active - utilise {{code|ver/myapi/…}} comme URL de base.&lt;br /&gt;
**Default - utilise {{code|ver/myapi/…}} et {{code|myapi/…}} comme URL de base.&lt;br /&gt;
**Deprecated - utilise {{code|ver/myapi/…}} comme URL de base et ajoute “Deprecated” à la description Swagger.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Notes d&#039;installation|Notes d&#039;installation]]&lt;br /&gt;
*[[Notes de release|Notes de release]]&lt;br /&gt;
*[[New features and customer reported issues fixed in RAD Studio 13.0|Nouvelles fonctionnalités et problèmes corrigés]]&lt;br /&gt;
*[[Nouveautés des releases précédentes|Nouveautés des releases précédentes]]&lt;br /&gt;
&lt;br /&gt;
===Références===&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;références&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;”TAniCalculations”&amp;quot;&amp;gt; L&#039;intervalle de rendu des animations a été supprimé pour qu&#039;il corresponde maintenant au taux de rafraîchissement actuel de l&#039;écran. L&#039;application peut s&#039;exécuter sur des périphériques équipés d&#039;un écran de 60 Hz, 90 Hz ou 120 Hz, et le défilement sera automatiquement plus fluide, sans ajustement manuel de l&#039;intervalle. Les animations exécutées seront constamment mises à jour (recalculées) sur chaque nouvelle trame de l&#039;écran.  &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;/références&amp;amp;gt;&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Nouveau_(menu_Fichier)&amp;diff=218922</id>
		<title>Nouveau (menu Fichier)</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Nouveau_(menu_Fichier)&amp;diff=218922"/>
		<updated>2026-05-09T03:34:54Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Menu Fichier}}&lt;br /&gt;
&lt;br /&gt;
{{Menu|Fichier &amp;amp;gt; Nouveau}}&lt;br /&gt;
&lt;br /&gt;
Crée un projet ou une [[Unité|unité]] du type sélectionné.&lt;br /&gt;
&lt;br /&gt;
Ce menu vous permet de choisir parmi les types de projets et d&#039;unités &#039;&#039;&#039;{{Product}}&#039;&#039;&#039; les plus courants dans une liste. Vous pouvez également sélectionner &#039;&#039;&#039;[[Nouveaux éléments|Autre…]]&#039;&#039;&#039; pour accéder à de nombreux autres types de projets et d&#039;unités, ou sur &#039;&#039;&#039;[[Personnaliser le menu Nouveau|Personnaliser…]]&#039;&#039;&#039; pour changer les types de projets et d&#039;unités listés dans ce menu.&lt;br /&gt;
&lt;br /&gt;
==Types de projets et d&#039;unités par défaut==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l s=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Types de projets et d&#039;unités {{Delphi}} par défaut===&lt;br /&gt;
&lt;br /&gt;
Le tableau suivant liste les types de projets et d&#039;unités {{Delphi}} par défaut de ce menu :&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Elément&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:Windows VCL App.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Application VCL Windows - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée une nouvelle &#039;&#039;&#039;[[Application Fiches VCL|application VCL Windows]]&#039;&#039;&#039; {{Delphi}}, une application de bureau basée sur des fiches, en utilisant des composants VCL.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:Multi-Device App.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Application multi-périphérique - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée une nouvelle &#039;&#039;&#039;[[Application multi-périphérique|application multi-périphérique]]&#039;&#039;&#039; {{Delphi}} en utilisant [[FireMonkey|FireMonkey]]. Vous pouvez choisir entre :&lt;br /&gt;
*Application vide&lt;br /&gt;
*Application 3D&lt;br /&gt;
*Un des [[Modèles d&#039;applications multi-périphériques|modèles disponibles]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:PackageD.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Package - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour un &#039;&#039;&#039;[[Packages|package]]&#039;&#039;&#039; {{Delphi}}.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:Console App.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Application console - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée de nouvelles &#039;&#039;&#039;[[Applications console|applications console]]&#039;&#039;&#039; {{Delphi}}, des programmes sans interface utilisateur.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:DLL.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Dynamic Library - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée une nouvelle &#039;&#039;&#039;[[Bibliothèques de liaison dynamique|bibliothèque dynamique]]&#039;&#039;&#039; {{Delphi}}, un ensemble de routines pouvant être chargées à l&#039;exécution.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:VCL Form.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Fiche VCL - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour une &#039;&#039;&#039;[[Fiche VCL|fiche VCL]]&#039;&#039;&#039; {{Delphi}}, une fiche visuelle utilisant des composants VCL. Cette fiche n&#039;est pas associée à un [[Création d&#039;un projet|projet]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:Frame.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
VCL Frame - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour un &#039;&#039;&#039;[[Création de cadres|cadre VCL]]&#039;&#039;&#039; {{Delphi}}, un cadre visuel utilisant des composants VCL. Ce cadre n&#039;est pas associé à un [[Création d&#039;un projet|projet]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
[[File:Data Module.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Module de données - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour un &#039;&#039;&#039;[[Utilisation des modules de données|module de données]]&#039;&#039;&#039; {{Delphi}}, une fiche spéciale utilisant des composants non visuels. Cette fiche n&#039;est pas associée à un [[Création d&#039;un projet|projet]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
[[File:Frame.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;Cadre FireMonkey - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour un &#039;&#039;&#039;[[Création de cadres|cadre FireMonkey]]&#039;&#039;&#039; {{Delphi}}, un cadre visuel utilisant des composants FireMonkey. Ce cadre n&#039;est pas associé à un [[Création d&#039;un projet|projet]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:Multi-Device Form.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Fiche multi-périphérique - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour une &#039;&#039;&#039;[[Fiche multi-périphérique|fiche multi-périphérique]]&#039;&#039;&#039; {{Delphi}}, une fiche visuelle utilisant [[FireMonkey|FireMonkey]]. Cette fiche n&#039;est pas associée à un [[Création d&#039;un projet|projet]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:UnitD.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Unité - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour une &#039;&#039;&#039;[[Programmes et unités (Delphi)#Structure et syntaxe d&#039;unité|unité]]&#039;&#039;&#039; {{Delphi}}.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Types de projets et d&#039;unités {{CBuilderUI}} par défaut===&lt;br /&gt;
&lt;br /&gt;
Le tableau suivant liste les types de projets et d&#039;unités {{CBuilderUI}} par défaut de ce menu :&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Elément&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:Windows VCL App.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Application VCL Windows - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée une nouvelle &#039;&#039;&#039;[[Application Fiches VCL|application VCL Windows]]&#039;&#039;&#039; {{CBuilderUI}}, une application de bureau basée sur des fiches, en utilisant des composants VCL.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:Multi-Device App.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Application multi-périphérique - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée une nouvelle &#039;&#039;&#039;[[Application multi-périphérique|application multi-périphérique]]&#039;&#039;&#039; C++ utilisant [[FireMonkey|FireMonkey]]. Vous pouvez choisir entre :&lt;br /&gt;
*Application vide&lt;br /&gt;
*Application 3D&lt;br /&gt;
*Un des [[Modèles d&#039;applications multi-périphériques|modèles disponibles]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:PackageD.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Package - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour un &#039;&#039;&#039;[[Packages|package]]&#039;&#039;&#039; {{CBuilderUI}}.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:Console App.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Application console - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée de nouvelles &#039;&#039;&#039;[[Applications console|applications console]]&#039;&#039;&#039; {{CBuilderUI}}, des programmes sans interface utilisateur.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
[[File:Windows VCL App.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Application WinAPI - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée une nouvelle &#039;&#039;&#039;[[WinAPI Application|application WinAPI]]&#039;&#039;&#039; {{CBuilderUI}}, une app Win32 traditionnelle pour tester Windows, se former et utiliser des exemples de code.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
[[File:DLL.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Bibliothèque dynamique - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée une nouvelle &#039;&#039;&#039;[[Bibliothèques de liaison dynamique|bibliothèque dynamique]]&#039;&#039;&#039; {{CBuilderUI}}, un ensemble de routines pouvant être chargées à l&#039;exécution.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
[[File:Static Library.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Bibliothèque statique - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée une nouvelle &#039;&#039;&#039;[[Construction de packages statiques|bibliothèque statique]]&#039;&#039;&#039; {{CBuilderUI}}, un ensemble de routines intégrées en programme en mode compilation.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:VCL Form.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Fiche VCL - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour une &#039;&#039;&#039;[[Fiche VCL|fiche VCL]]&#039;&#039;&#039; {{CBuilderUI}}, une fiche visuelle utilisant des composants VCL. Cette fiche n&#039;est pas associée à un [[Création d&#039;un projet|projet]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
[[File:Frame.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Cadre VCL - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour un &#039;&#039;&#039;[[Création de cadres|cadre VCL]]&#039;&#039;&#039; {{CBuilderUI}}, un cadre visuel utilisant des composants FireMonkey. Ce cadre n&#039;est pas associé à un [[Création d&#039;un projet|projet]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
[[File:Data Module.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Module de données - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour un &#039;&#039;&#039;[[Utilisation des modules de données|module de données]]&#039;&#039;&#039; {{CBuilderUI}}, une fiche spéciale contenant des composants non visuels. Cette fiche n&#039;est pas associée à un [[Création d&#039;un projet|projet]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
[[File:Frame.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;Cadre FireMonkey - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour un &#039;&#039;&#039;[[Création de cadres|cadre FireMonkey]]&#039;&#039;&#039; {{CBuilderUI}}, un cadre visuel utilisant des composants FireMonkey. Ce cadre n&#039;est pas associé à un [[Création d&#039;un projet|projet]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:Multi-Device Form.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Fiche multi-périphérique - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour une &#039;&#039;&#039;[[Fiche multi-périphérique|fiche multi-périphérique]]&#039;&#039;&#039; C++, une fiche visuelle utilisant [[FireMonkey|FireMonkey]]. Cette fiche n&#039;est pas associée à un [[Création d&#039;un projet|projet]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:UnitD.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Unité - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour une &#039;&#039;&#039;[[Unité|unité]]&#039;&#039;&#039; {{CBuilderUI}}.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Toutes les personnalités==&lt;br /&gt;
&lt;br /&gt;
Ce menu fournit également les entrées suivantes :&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Elément&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Autre&lt;br /&gt;
|&lt;br /&gt;
Ouvre la boîte de dialogue &#039;&#039;&#039;[[Nouveaux éléments|Nouveaux éléments]]&#039;&#039;&#039; qui liste chaque fichier ou projet pris en charge par l&#039;EDI. Exemples : fichiers XML, fichiers texte et projets C++.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Personnaliser&lt;br /&gt;
|&lt;br /&gt;
Ouvre la boîte de dialogue &#039;&#039;&#039;[[Personnaliser le menu Nouveau|Personnalisation du menu Nouveau]]&#039;&#039;&#039; qui vous permet de personnaliser l&#039;affichage des projets et des fichiers dans le menu &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Fichier &amp;amp;gt; Nouveau&#039;&#039;&#039; &amp;lt;/font&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Note|La liste des unités et des projets disponibles est mise à jour dynamiquement en fonction des projets ouverts. Seules apparaissent les options compatibles avec le projet actuellement ouvert.}}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Nouveaux éléments|Nouveaux éléments]]&lt;br /&gt;
*[[Packages|Packages ({{Delphi}})]]&lt;br /&gt;
*[[Programmes et unités (Delphi)|Programmes et unités (Delphi)]]{{f|vcl|&lt;br /&gt;
*[[Présentation de la VCL|Présentation de la VCL]]}}&lt;br /&gt;
*[[FireMonkey|FireMonkey]]&lt;br /&gt;
*[[Personnaliser le menu Nouveau|Personnaliser le menu Nouveau]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Référence EDI]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Nouveau_(menu_Fichier)&amp;diff=218921</id>
		<title>Nouveau (menu Fichier)</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Nouveau_(menu_Fichier)&amp;diff=218921"/>
		<updated>2026-05-09T03:34:54Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Menu Fichier}}&lt;br /&gt;
&lt;br /&gt;
{{Menu|Fichier &amp;amp;gt; Nouveau}}&lt;br /&gt;
&lt;br /&gt;
Crée un projet ou une [[Unité|unité]] du type sélectionné.&lt;br /&gt;
&lt;br /&gt;
Ce menu vous permet de choisir parmi les types de projets et d&#039;unités &#039;&#039;&#039;{{Product}}&#039;&#039;&#039; les plus courants dans une liste. Vous pouvez également sélectionner &#039;&#039;&#039;[[Nouveaux éléments|Autre…]]&#039;&#039;&#039; pour accéder à de nombreux autres types de projets et d&#039;unités, ou sur &#039;&#039;&#039;[[Personnaliser le menu Nouveau|Personnaliser…]]&#039;&#039;&#039; pour changer les types de projets et d&#039;unités listés dans ce menu.&lt;br /&gt;
&lt;br /&gt;
==Types de projets et d&#039;unités par défaut==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l s=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Types de projets et d&#039;unités {{Delphi}} par défaut===&lt;br /&gt;
&lt;br /&gt;
Le tableau suivant liste les types de projets et d&#039;unités {{Delphi}} par défaut de ce menu :&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Elément&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:Windows VCL App.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Application VCL Windows - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée une nouvelle &#039;&#039;&#039;[[Application Fiches VCL|application VCL Windows]]&#039;&#039;&#039; {{Delphi}}, une application de bureau basée sur des fiches, en utilisant des composants VCL.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:Multi-Device App.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Application multi-périphérique - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée une nouvelle &#039;&#039;&#039;[[Application multi-périphérique|application multi-périphérique]]&#039;&#039;&#039; {{Delphi}} en utilisant [[FireMonkey|FireMonkey]]. Vous pouvez choisir entre :&lt;br /&gt;
*Application vide&lt;br /&gt;
*Application 3D&lt;br /&gt;
*Un des [[Modèles d&#039;applications multi-périphériques|modèles disponibles]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:PackageD.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Package - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour un &#039;&#039;&#039;[[Packages|package]]&#039;&#039;&#039; {{Delphi}}.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:Console App.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Application console - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée de nouvelles &#039;&#039;&#039;[[Applications console|applications console]]&#039;&#039;&#039; {{Delphi}}, des programmes sans interface utilisateur.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:DLL.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Dynamic Library - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée une nouvelle &#039;&#039;&#039;[[Bibliothèques de liaison dynamique|bibliothèque dynamique]]&#039;&#039;&#039; {{Delphi}}, un ensemble de routines pouvant être chargées à l&#039;exécution.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:VCL Form.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Fiche VCL - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour une &#039;&#039;&#039;[[Fiche VCL|fiche VCL]]&#039;&#039;&#039; {{Delphi}}, une fiche visuelle utilisant des composants VCL. Cette fiche n&#039;est pas associée à un [[Création d&#039;un projet|projet]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:Frame.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
VCL Frame - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour un &#039;&#039;&#039;[[Création de cadres|cadre VCL]]&#039;&#039;&#039; {{Delphi}}, un cadre visuel utilisant des composants VCL. Ce cadre n&#039;est pas associé à un [[Création d&#039;un projet|projet]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
[[File:Data Module.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Module de données - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour un &#039;&#039;&#039;[[Utilisation des modules de données|module de données]]&#039;&#039;&#039; {{Delphi}}, une fiche spéciale utilisant des composants non visuels. Cette fiche n&#039;est pas associée à un [[Création d&#039;un projet|projet]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
[[File:Frame.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;Cadre FireMonkey - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour un &#039;&#039;&#039;[[Création de cadres|cadre FireMonkey]]&#039;&#039;&#039; {{Delphi}}, un cadre visuel utilisant des composants FireMonkey. Ce cadre n&#039;est pas associé à un [[Création d&#039;un projet|projet]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:Multi-Device Form.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Fiche multi-périphérique - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour une &#039;&#039;&#039;[[Fiche multi-périphérique|fiche multi-périphérique]]&#039;&#039;&#039; {{Delphi}}, une fiche visuelle utilisant [[FireMonkey|FireMonkey]]. Cette fiche n&#039;est pas associée à un [[Création d&#039;un projet|projet]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:UnitD.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Unité - {{Delphi}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour une &#039;&#039;&#039;[[Programmes et unités (Delphi)#Structure et syntaxe d&#039;unité|unité]]&#039;&#039;&#039; {{Delphi}}.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Types de projets et d&#039;unités {{CBuilderUI}} par défaut===&lt;br /&gt;
&lt;br /&gt;
Le tableau suivant liste les types de projets et d&#039;unités {{CBuilderUI}} par défaut de ce menu :&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Elément&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:Windows VCL App.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Application VCL Windows - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée une nouvelle &#039;&#039;&#039;[[Application Fiches VCL|application VCL Windows]]&#039;&#039;&#039; {{CBuilderUI}}, une application de bureau basée sur des fiches, en utilisant des composants VCL.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:Multi-Device App.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Application multi-périphérique - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée une nouvelle &#039;&#039;&#039;[[Application multi-périphérique|application multi-périphérique]]&#039;&#039;&#039; C++ utilisant [[FireMonkey|FireMonkey]]. Vous pouvez choisir entre :&lt;br /&gt;
*Application vide&lt;br /&gt;
*Application 3D&lt;br /&gt;
*Un des [[Modèles d&#039;applications multi-périphériques|modèles disponibles]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:PackageD.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Package - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour un &#039;&#039;&#039;[[Packages|package]]&#039;&#039;&#039; {{CBuilderUI}}.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:Console App.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Application console - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée de nouvelles &#039;&#039;&#039;[[Applications console|applications console]]&#039;&#039;&#039; {{CBuilderUI}}, des programmes sans interface utilisateur.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
[[File:Windows VCL App.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Application WinAPI - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée une nouvelle &#039;&#039;&#039;[[WinAPI Application|application WinAPI]]&#039;&#039;&#039; {{CBuilderUI}}, une app Win32 traditionnelle pour tester Windows, se former et utiliser des exemples de code.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
[[File:DLL.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Bibliothèque dynamique - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée une nouvelle &#039;&#039;&#039;[[Bibliothèques de liaison dynamique|bibliothèque dynamique]]&#039;&#039;&#039; {{CBuilderUI}}, un ensemble de routines pouvant être chargées à l&#039;exécution.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
[[File:Static Library.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Bibliothèque statique - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée une nouvelle &#039;&#039;&#039;[[Construction de packages statiques|bibliothèque statique]]&#039;&#039;&#039; {{CBuilderUI}}, un ensemble de routines intégrées en programme en mode compilation.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:VCL Form.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Fiche VCL - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour une &#039;&#039;&#039;[[Fiche VCL|fiche VCL]]&#039;&#039;&#039; {{CBuilderUI}}, une fiche visuelle utilisant des composants VCL. Cette fiche n&#039;est pas associée à un [[Création d&#039;un projet|projet]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
[[File:Frame.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Cadre VCL - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour un &#039;&#039;&#039;[[Création de cadres|cadre VCL]]&#039;&#039;&#039; {{CBuilderUI}}, un cadre visuel utilisant des composants FireMonkey. Ce cadre n&#039;est pas associé à un [[Création d&#039;un projet|projet]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
[[File:Data Module.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Module de données - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour un &#039;&#039;&#039;[[Utilisation des modules de données|module de données]]&#039;&#039;&#039; {{CBuilderUI}}, une fiche spéciale contenant des composants non visuels. Cette fiche n&#039;est pas associée à un [[Création d&#039;un projet|projet]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
[[File:Frame.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;Cadre FireMonkey - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour un &#039;&#039;&#039;[[Création de cadres|cadre FireMonkey]]&#039;&#039;&#039; {{CBuilderUI}}, un cadre visuel utilisant des composants FireMonkey. Ce cadre n&#039;est pas associé à un [[Création d&#039;un projet|projet]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:Multi-Device Form.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Fiche multi-périphérique - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour une &#039;&#039;&#039;[[Fiche multi-périphérique|fiche multi-périphérique]]&#039;&#039;&#039; C++, une fiche visuelle utilisant [[FireMonkey|FireMonkey]]. Cette fiche n&#039;est pas associée à un [[Création d&#039;un projet|projet]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; {{fr|vcl}}&lt;br /&gt;
|&lt;br /&gt;
[[File:UnitD.png|link=]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Unité - {{CBuilderUI}}&lt;br /&gt;
|&lt;br /&gt;
Crée un squelette pour une &#039;&#039;&#039;[[Unité|unité]]&#039;&#039;&#039; {{CBuilderUI}}.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Toutes les personnalités==&lt;br /&gt;
&lt;br /&gt;
Ce menu fournit également les entrées suivantes :&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Elément&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Autre&lt;br /&gt;
|&lt;br /&gt;
Ouvre la boîte de dialogue &#039;&#039;&#039;[[Nouveaux éléments|Nouveaux éléments]]&#039;&#039;&#039; qui liste chaque fichier ou projet pris en charge par l&#039;EDI. Exemples : fichiers XML, fichiers texte et projets C++.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Personnaliser&lt;br /&gt;
|&lt;br /&gt;
Ouvre la boîte de dialogue &#039;&#039;&#039;[[Personnaliser le menu Nouveau|Personnalisation du menu Nouveau]]&#039;&#039;&#039; qui vous permet de personnaliser l&#039;affichage des projets et des fichiers dans le menu &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Fichier &amp;amp;gt; Nouveau&#039;&#039;&#039; &amp;lt;/font&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Note|La liste des unités et des projets disponibles est mise à jour dynamiquement en fonction des projets ouverts. Seules apparaissent les options compatibles avec le projet actuellement ouvert.}}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Nouveaux éléments|Nouveaux éléments]]&lt;br /&gt;
*[[Packages|Packages ({{Delphi}})]]&lt;br /&gt;
*[[Programmes et unités (Delphi)|Programmes et unités (Delphi)]]{{f|vcl|&lt;br /&gt;
*[[Présentation de la VCL|Présentation de la VCL]]}}&lt;br /&gt;
*[[FireMonkey|FireMonkey]]&lt;br /&gt;
*[[Personnaliser le menu Nouveau|Personnaliser le menu Nouveau]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Référence EDI]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Utilisation_des_styles_de_l%27EDI_dans_des_Plugins_tierces_parties&amp;diff=218920</id>
		<title>Utilisation des styles de l&#039;EDI dans des Plugins tierces parties</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Utilisation_des_styles_de_l%27EDI_dans_des_Plugins_tierces_parties&amp;diff=218920"/>
		<updated>2026-05-09T03:34:54Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Extension de l&#039;EDI par l&#039;utilisation de l&#039;API Tools}}&lt;br /&gt;
&lt;br /&gt;
L&#039;EDI utilise des styles VCL pour son apparence. Des plugins tierces parties fournissent des fenêtres telles que les fenêtres ancrables et des boîtes de dialogue correspondant aux styles de l&#039;EDI. En plus de suivre le thème utilisé, des contrôles spécifiques comme [[lib_fr:FMX.StdCtrls.TGroupBox|TGroupBox]] possèdent des &amp;quot;raccordements de styles&amp;quot; pour garantir qu&#039;ils sont restitués dans une apparence différente de l&#039;apparence habituelle. C&#039;est aussi le cas pour vos fenêtres.&lt;br /&gt;
&lt;br /&gt;
==Informations générales==&lt;br /&gt;
&lt;br /&gt;
L&#039;EDI fournit l&#039;API &amp;lt;code&amp;gt;IOTAIDEThemingServices&amp;lt;/code&amp;gt; qui vous permet de vérifier si les thèmes sont activés.&lt;br /&gt;
&lt;br /&gt;
Après avoir identifié le nom des thèmes de l&#039;EDI et de l&#039;éditeur, appliquez le thème de l&#039;EDI à votre fiche ou à vos contrôles et recensez votre fiche dans les raccordements de styles afin d&#039;obtenir un comportement spécial de l&#039;EDI.&lt;br /&gt;
&lt;br /&gt;
Cette interface vous permet également d&#039;accéder aux [[lib_fr:Vcl.Themes.StyleServices|StyleServices]] de l&#039;EDI. L&#039;EDI maintient un objet services de styles représentant le style de l&#039;EDI.&lt;br /&gt;
&lt;br /&gt;
Accédez à cette interface en utilisant &amp;lt;code&amp;gt;BorlandIDEServices&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
ThemingServices : IOTAIDEThemingServices;&lt;br /&gt;
&lt;br /&gt;
if Supports (BorlandIDEServices, IOTAIDEThemingServices, ThemingServices) then...&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recensement de votre fiche pour définir l&#039;apparence de l&#039;EDI==&lt;br /&gt;
&lt;br /&gt;
Activez la fonctionnalité Apparence de l&#039;EDI dans les fiches de votre plugin, en utilisant &amp;lt;code&amp;gt;IOTAIDEThemingServices.RegisterFormClass&amp;lt;/code&amp;gt; pour spécifier la classe de votre fiche.&lt;br /&gt;
&lt;br /&gt;
{{Note| Il est essentiel de recenser la fiche chaque fois que le thème de l’EDI change.}}&lt;br /&gt;
&lt;br /&gt;
Une fois cela effectué, le [[lib_fr:FMX.StdCtrls.TGroupBox|TGroupBox]] est dessiné sans cadre, avec une fonte de libellé plus grande et une seule ligne dans la partie supérieure, comme c&#039;est le cas pour les zones de groupe de la boîte de dialogue Options.&lt;br /&gt;
&lt;br /&gt;
Pour chaque instance de votre fiche, appelez &amp;lt;code&amp;gt;IOTAIDEThemingServices.ApplyTheme&amp;lt;/code&amp;gt;. Vous appliquez ainsi le style de l&#039;EDI à votre fiche. Répétez l&#039;opération lorsque le style de l&#039;EDI est modifié, afin de répercuter le changement sur votre fiche et les contrôles. Voir ci-dessous plus d&#039;informations sur comment détecter les modifications de style de l&#039;EDI.&lt;br /&gt;
&lt;br /&gt;
==Détection des changements de style==&lt;br /&gt;
&lt;br /&gt;
Recensez un notificateur qui détectera les modifications de thème de l&#039;EDI ou de l&#039;éditeur.&lt;br /&gt;
&lt;br /&gt;
*Pour le thème de l&#039;EDI, utilisez &amp;lt;code&amp;gt;IOTAIDEThemingServices.AddNotifier&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*Pour les modifications du schéma de couleurs de l&#039;editeur, utilisez &amp;lt;code&amp;gt;IOTAIDEThemingServices.AddEditorColorNotifier&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Les deux interfaces du notificateur possèdent deux méthodes qui sont appelées, un variant Changing (par exemple &amp;lt;code&amp;gt;IOTAEditorColorSpeedSetting.EditorColorChanging&amp;lt;/code&amp;gt;) qui est appelé avant la modification du thème, et un variant Changed (par exemple &amp;lt;code&amp;gt;INTAIDEThemingServicesNotifier.ChangedTheme&amp;lt;/code&amp;gt;) qui est appelé après la modification du thème.&lt;br /&gt;
&lt;br /&gt;
En principe, un notificateur n&#039;est recensé que si vous souhaitez être averti des modifications du thème de l&#039;EDI, à moins que vous ne souhaitiez être averti des modifications des paramètres de couleur de l&#039;éditeur.&lt;br /&gt;
&lt;br /&gt;
Dans votre implémentation de la méthode &amp;lt;code&amp;gt;INTAIDEThemingServicesNotifier.ChangedTheme&amp;lt;/code&amp;gt;, appelez &amp;lt;code&amp;gt;IOTAIDEThemingServices.ApplyTheme&amp;lt;/code&amp;gt; pour votre fiche. Votre fiche et vos contrôles sont ainsi mis à jour avec le nouveau style. Les couleurs personnalisées et les dessins personnalisés utilisés par votre fiche sont également mis à jour en fonction des nouvelles couleurs.&lt;br /&gt;
&lt;br /&gt;
==Guide de style==&lt;br /&gt;
&lt;br /&gt;
L&#039;EDI utilise une apparence commune pour de nombreuses boîtes de dialogue : un volet teinté contenant les boutons &#039;&#039;&#039;OK&#039;&#039;&#039;, &#039;&#039;&#039;Annuler&#039;&#039;&#039; apparaît en bas de la fiche avec d&#039;autres boutons, alors que le reste de la fiche est de la même couleur que la fenêtre. &lt;br /&gt;
&lt;br /&gt;
La meilleure façon d&#039;implémenter ce type d&#039;apparence se fait en utilisant deux volets, un volet aligné en bas qui contient les boutons, et un autre aligné sur le client qui contient le reste de la boîte de dialogue.&lt;br /&gt;
Par chaque volet, procédez comme suit :&lt;br /&gt;
&lt;br /&gt;
#Définissez [[lib_fr:Vcl.Controls.TWinControl.ParentBackground|ParentBackground]] sur false.&lt;br /&gt;
#Retirez &amp;lt;code&amp;gt;seClient&amp;lt;/code&amp;gt; de [[lib_fr:Vcl.Controls.TControl.StyleElements|StyleElements]].&lt;br /&gt;
#Définissez la propriété Color du volet qui contient le reste de la boîte de dialogue sur &amp;lt;code&amp;gt;clWindow&amp;lt;/code&amp;gt;, et celle du volet des boutons sur &amp;lt;code&amp;gt;clBtnFace&amp;lt;/code&amp;gt;. Si besoin, vous pouvez obtenir la valeur du thème de chaque couleur système via &amp;lt;code&amp;gt;IOTAIDEThemingServices.StyleServices.GetSystemColor&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Avec une mise à l&#039;échelle de 100 %, un volet de boutons typique a une hauteur de 49 pixels. Les boutons sont indentés de 20 pixels à droite, mis à l&#039;échelle par défaut à 75x25 et placés avec une propriété Top définie à 12. Vous obtenez ainsi une marge de 12 pixels sous le bouton.&lt;br /&gt;
&lt;br /&gt;
Dans [[lib_fr:FMX.StdCtrls.TGroupBox|TGroupBox]], assurez-vous la propriété Top de votre plus haut contrôle soit à 26 pixels minimum. Cela laissera de la place pour des libellés plus longs.&lt;br /&gt;
&lt;br /&gt;
L&#039;EDI indique les relations entre les contrôles et les données via l&#039;indentation. &lt;br /&gt;
&lt;br /&gt;
Un paramètre ou un contrôle qui dépend d&#039;un autre contrôle (par exemple, qui modifie le comportement d&#039;un paramètre ou qui est uniquement activé si un paramètre a une valeur spécifique) doit être placé sous ce paramètre, avec une indentation de 16 pixels). Cette indentation permet au contenu de s&#039;aligner sur le début du libellé du [[lib_fr:Vcl.Dialogs.TCustomTaskDialog.RadioButton|bouton radio]] ou de la [[lib_fr:Vcl.ComCtrls.THeaderSection.CheckBox|case à cocher]] ; s&#039;il apparaît sous un autre contrôle tel qu&#039;un [[lib_fr:Vcl.StdCtrls.TComboBox|TComboBox]] l&#039;indentation sera cohérente pour tous les contrôles.&lt;br /&gt;
&lt;br /&gt;
La disposition de l&#039;EDI utilise une grille de 4x4 pixels. La hauteur de la plupart des éléments d&#039;UI est un multiple de 4 pixels. Par exemple, la hauteur d&#039;une rangée de vue liste ou d&#039;arborescence est de 20 pixels.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Présentation des styles VCL|Présentation des styles VCL]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Utilisation_des_styles_de_l%27EDI_dans_des_Plugins_tierces_parties&amp;diff=218919</id>
		<title>Utilisation des styles de l&#039;EDI dans des Plugins tierces parties</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Utilisation_des_styles_de_l%27EDI_dans_des_Plugins_tierces_parties&amp;diff=218919"/>
		<updated>2026-05-09T03:34:53Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Extension de l&#039;EDI par l&#039;utilisation de l&#039;API Tools}}&lt;br /&gt;
&lt;br /&gt;
L&#039;EDI utilise des styles VCL pour son apparence. Des plugins tierces parties fournissent des fenêtres telles que les fenêtres ancrables et des boîtes de dialogue correspondant aux styles de l&#039;EDI. En plus de suivre le thème utilisé, des contrôles spécifiques comme [[lib_fr:FMX.StdCtrls.TGroupBox|TGroupBox]] possèdent des &amp;quot;raccordements de styles&amp;quot; pour garantir qu&#039;ils sont restitués dans une apparence différente de l&#039;apparence habituelle. C&#039;est aussi le cas pour vos fenêtres.&lt;br /&gt;
&lt;br /&gt;
==Informations générales==&lt;br /&gt;
&lt;br /&gt;
L&#039;EDI fournit l&#039;API &amp;lt;code&amp;gt;IOTAIDEThemingServices&amp;lt;/code&amp;gt; qui vous permet de vérifier si les thèmes sont activés.&lt;br /&gt;
&lt;br /&gt;
Après avoir identifié le nom des thèmes de l&#039;EDI et de l&#039;éditeur, appliquez le thème de l&#039;EDI à votre fiche ou à vos contrôles et recensez votre fiche dans les raccordements de styles afin d&#039;obtenir un comportement spécial de l&#039;EDI.&lt;br /&gt;
&lt;br /&gt;
Cette interface vous permet également d&#039;accéder aux [[lib_fr:Vcl.Themes.StyleServices|StyleServices]] de l&#039;EDI. L&#039;EDI maintient un objet services de styles représentant le style de l&#039;EDI.&lt;br /&gt;
&lt;br /&gt;
Accédez à cette interface en utilisant &amp;lt;code&amp;gt;BorlandIDEServices&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
ThemingServices : IOTAIDEThemingServices;&lt;br /&gt;
&lt;br /&gt;
if Supports (BorlandIDEServices, IOTAIDEThemingServices, ThemingServices) then...&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recensement de votre fiche pour définir l&#039;apparence de l&#039;EDI==&lt;br /&gt;
&lt;br /&gt;
Activez la fonctionnalité Apparence de l&#039;EDI dans les fiches de votre plugin, en utilisant &amp;lt;code&amp;gt;IOTAIDEThemingServices.RegisterFormClass&amp;lt;/code&amp;gt; pour spécifier la classe de votre fiche.&lt;br /&gt;
&lt;br /&gt;
{{Note| Il est essentiel de recenser la fiche chaque fois que le thème de l’EDI change.}}&lt;br /&gt;
&lt;br /&gt;
Une fois cela effectué, le [[lib_fr:FMX.StdCtrls.TGroupBox|TGroupBox]] est dessiné sans cadre, avec une fonte de libellé plus grande et une seule ligne dans la partie supérieure, comme c&#039;est le cas pour les zones de groupe de la boîte de dialogue Options.&lt;br /&gt;
&lt;br /&gt;
Pour chaque instance de votre fiche, appelez &amp;lt;code&amp;gt;IOTAIDEThemingServices.ApplyTheme&amp;lt;/code&amp;gt;. Vous appliquez ainsi le style de l&#039;EDI à votre fiche. Répétez l&#039;opération lorsque le style de l&#039;EDI est modifié, afin de répercuter le changement sur votre fiche et les contrôles. Voir ci-dessous plus d&#039;informations sur comment détecter les modifications de style de l&#039;EDI.&lt;br /&gt;
&lt;br /&gt;
==Détection des changements de style==&lt;br /&gt;
&lt;br /&gt;
Recensez un notificateur qui détectera les modifications de thème de l&#039;EDI ou de l&#039;éditeur.&lt;br /&gt;
&lt;br /&gt;
*Pour le thème de l&#039;EDI, utilisez &amp;lt;code&amp;gt;IOTAIDEThemingServices.AddNotifier&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*Pour les modifications du schéma de couleurs de l&#039;editeur, utilisez &amp;lt;code&amp;gt;IOTAIDEThemingServices.AddEditorColorNotifier&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Les deux interfaces du notificateur possèdent deux méthodes qui sont appelées, un variant Changing (par exemple &amp;lt;code&amp;gt;IOTAEditorColorSpeedSetting.EditorColorChanging&amp;lt;/code&amp;gt;) qui est appelé avant la modification du thème, et un variant Changed (par exemple &amp;lt;code&amp;gt;INTAIDEThemingServicesNotifier.ChangedTheme&amp;lt;/code&amp;gt;) qui est appelé après la modification du thème.&lt;br /&gt;
&lt;br /&gt;
En principe, un notificateur n&#039;est recensé que si vous souhaitez être averti des modifications du thème de l&#039;EDI, à moins que vous ne souhaitiez être averti des modifications des paramètres de couleur de l&#039;éditeur.&lt;br /&gt;
&lt;br /&gt;
Dans votre implémentation de la méthode &amp;lt;code&amp;gt;INTAIDEThemingServicesNotifier.ChangedTheme&amp;lt;/code&amp;gt;, appelez &amp;lt;code&amp;gt;IOTAIDEThemingServices.ApplyTheme&amp;lt;/code&amp;gt; pour votre fiche. Votre fiche et vos contrôles sont ainsi mis à jour avec le nouveau style. Les couleurs personnalisées et les dessins personnalisés utilisés par votre fiche sont également mis à jour en fonction des nouvelles couleurs.&lt;br /&gt;
&lt;br /&gt;
==Guide de style==&lt;br /&gt;
&lt;br /&gt;
L&#039;EDI utilise une apparence commune pour de nombreuses boîtes de dialogue : un volet teinté contenant les boutons &#039;&#039;&#039;OK&#039;&#039;&#039;, &#039;&#039;&#039;Annuler&#039;&#039;&#039; apparaît en bas de la fiche avec d&#039;autres boutons, alors que le reste de la fiche est de la même couleur que la fenêtre. &lt;br /&gt;
&lt;br /&gt;
La meilleure façon d&#039;implémenter ce type d&#039;apparence se fait en utilisant deux volets, un volet aligné en bas qui contient les boutons, et un autre aligné sur le client qui contient le reste de la boîte de dialogue.&lt;br /&gt;
Par chaque volet, procédez comme suit :&lt;br /&gt;
&lt;br /&gt;
#Définissez [[lib_fr:Vcl.Controls.TWinControl.ParentBackground|ParentBackground]] sur false.&lt;br /&gt;
#Retirez &amp;lt;code&amp;gt;seClient&amp;lt;/code&amp;gt; de [[lib_fr:Vcl.Controls.TControl.StyleElements|StyleElements]].&lt;br /&gt;
#Définissez la propriété Color du volet qui contient le reste de la boîte de dialogue sur &amp;lt;code&amp;gt;clWindow&amp;lt;/code&amp;gt;, et celle du volet des boutons sur &amp;lt;code&amp;gt;clBtnFace&amp;lt;/code&amp;gt;. Si besoin, vous pouvez obtenir la valeur du thème de chaque couleur système via &amp;lt;code&amp;gt;IOTAIDEThemingServices.StyleServices.GetSystemColor&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Avec une mise à l&#039;échelle de 100 %, un volet de boutons typique a une hauteur de 49 pixels. Les boutons sont indentés de 20 pixels à droite, mis à l&#039;échelle par défaut à 75x25 et placés avec une propriété Top définie à 12. Vous obtenez ainsi une marge de 12 pixels sous le bouton.&lt;br /&gt;
&lt;br /&gt;
Dans [[lib_fr:FMX.StdCtrls.TGroupBox|TGroupBox]], assurez-vous la propriété Top de votre plus haut contrôle soit à 26 pixels minimum. Cela laissera de la place pour des libellés plus longs.&lt;br /&gt;
&lt;br /&gt;
L&#039;EDI indique les relations entre les contrôles et les données via l&#039;indentation. &lt;br /&gt;
&lt;br /&gt;
Un paramètre ou un contrôle qui dépend d&#039;un autre contrôle (par exemple, qui modifie le comportement d&#039;un paramètre ou qui est uniquement activé si un paramètre a une valeur spécifique) doit être placé sous ce paramètre, avec une indentation de 16 pixels). Cette indentation permet au contenu de s&#039;aligner sur le début du libellé du [[lib_fr:Vcl.Dialogs.TCustomTaskDialog.RadioButton|bouton radio]] ou de la [[lib_fr:Vcl.ComCtrls.THeaderSection.CheckBox|case à cocher]] ; s&#039;il apparaît sous un autre contrôle tel qu&#039;un [[lib_fr:Vcl.StdCtrls.TComboBox|TComboBox]] l&#039;indentation sera cohérente pour tous les contrôles.&lt;br /&gt;
&lt;br /&gt;
La disposition de l&#039;EDI utilise une grille de 4x4 pixels. La hauteur de la plupart des éléments d&#039;UI est un multiple de 4 pixels. Par exemple, la hauteur d&#039;une rangée de vue liste ou d&#039;arborescence est de 20 pixels.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Présentation des styles VCL|Présentation des styles VCL]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=D%C3%A9bogage_des_applications_C%2B%2B_Builder_Windows_64_bits&amp;diff=218918</id>
		<title>Débogage des applications C++ Builder Windows 64 bits</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=D%C3%A9bogage_des_applications_C%2B%2B_Builder_Windows_64_bits&amp;diff=218918"/>
		<updated>2026-05-09T03:34:53Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Développement d&#039;applications C++ Builder Windows 64 bits}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Débogueur C++ basé sur LLDB pour WIN64==&lt;br /&gt;
&lt;br /&gt;
{{Product}} 10.4 introduit un nouveau débogueur C++ pour Win64, basé sur LLDB. Le compilateur utilise le format [http://www.dwarfstd.org/ DWARF] version 4 pour les informations de débogage.&lt;br /&gt;
&lt;br /&gt;
Le nouveau débogueur LLDB de {{Product}} offre une plus grande stabilité lors du débogage. La nouvelle technologie de débogage couplée aux informations de débogage générées renforcent les capacités d&#039;évaluation, d&#039;inspection et de débogage. De plus, le débogueur prend en charge des types complexes comme les collections STL ou les chaînes via les formateurs.&lt;br /&gt;
&lt;br /&gt;
==Formateurs==&lt;br /&gt;
&lt;br /&gt;
L&#039;inspection ou l&#039;évaluation des types complexes peut poser problème lors du débogage d&#039;applications C++. L&#039;évaluation du contenu d&#039;un std::map (par exemple) requiert de connaître la disposition du type. D&#039;autre part, l&#039;opérateur d&#039;accès au tableau [] peut ne pas être disponible pour le débogueur s&#039;il n&#039;est jamais appelé dans le code ou s&#039;il est toujours inline et donc par conséquent, non appelable. Des problèmes similaires existent pour d&#039;autres types, y compris pour les chaînes, et parfois même pour vos propres types.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez y remédier en utilisant des formateurs. Un formateur est un petit script Python qui aide à déboguer un type particulier. RAD Studio est livré avec des formateurs pour les types communs. Vous pouvez toutefois ajouter des formateurs personnalisés pour vos types.&lt;br /&gt;
&lt;br /&gt;
Les formateurs suivants sont fournis pour les types STL et Delphi.&lt;br /&gt;
&lt;br /&gt;
 * std::string and std::wstring &lt;br /&gt;
 * String (UnicodeString), AnsiString, UTF8String, WideString. &lt;br /&gt;
 * std::vector &lt;br /&gt;
 * std::deque &lt;br /&gt;
 * std::stack &lt;br /&gt;
 * std::map &lt;br /&gt;
 * std::shared_ptr&lt;br /&gt;
&lt;br /&gt;
====Formateurs personnalisés====&lt;br /&gt;
&lt;br /&gt;
Pour ajouter votre propre formateur, créez un nouveau fichier python et modifiez le fichier &#039;&#039;&#039;bin\Windows\lldb\.lldbinit&#039;&#039;&#039; de façon à ce qu&#039;il contienne une ligne faisant référence à votre nouveau script Python.  Vous trouverez plus d&#039;informations sur le codage des formateurs personnalisés ici :&lt;br /&gt;
&lt;br /&gt;
*[http://lldb.llvm.org/use/variable.html LLDB’s formatting documentation]&lt;br /&gt;
*[https://pspdfkit.com/blog/2018/how-to-extend-lldb-to-provide-a-better-debugging-experience/ How to extend LLDB to provide a better debugging experience]&lt;br /&gt;
*[https://stackoverflow.com/questions/52013282/custom-data-formatter-in-lldb This Stack Overflow question about writing a custom data formatter]&lt;br /&gt;
&lt;br /&gt;
==C++ Builder Windows 64 bits==&lt;br /&gt;
&lt;br /&gt;
Le compilateur {{CBuilder}} Windows 64 bits ([[BCC64.EXE, le compilateur C++ Windows 64 bits|BCC64]]) génère des informations de débogage au format [http://www.dwarfstd.org/ DWARF], différent du format utilisé par BCC32 et BCCOSX. Toutefois, en général, le débogage des applications Windows 64 bits est similaire au débogage des applications C++ Windows 32 bits. Il existe quelques différences, comme indiqué ci-dessous :&lt;br /&gt;
&lt;br /&gt;
*Certaines fonctionnalités du débogueur ne sont pas prises en charge.  Le débogage des propriétés, clôtures, méthodes de classe et autres extensions du langage {{Delphi}} n&#039;est pas actuellement pris en charge.&lt;br /&gt;
*:Par exemple, sur [[Inspecteur de débogage|l&#039;inspecteur d&#039;objets]], les onglets &#039;&#039;&#039;Méthodes&#039;&#039;&#039; et &#039;&#039;&#039;Propriétés&#039;&#039;&#039; ne sont pas affichés pour les applications C++ Windows 64 bits.&lt;br /&gt;
*Unicode, les pages de codes et la localisation ne sont pas complètement pris en charge.&lt;br /&gt;
*:Par exemple, Unicode n&#039;est pas pris en charge dans les noms des identificateurs et les pages de codes ne sont pas prises en charge par le débogueur C++ Windows 64 bits.&lt;br /&gt;
*Lors de l&#039;évaluation d&#039;un registre Windows 64 bits, le nom du registre doit être préfixé par $, comme par exemple &amp;lt;code&amp;gt;$rax&amp;lt;/code&amp;gt;.&lt;br /&gt;
*:Voir [[Evaluer/Modifier|Evaluer/Modifier]].&lt;br /&gt;
*Les appels de fonctions qui déclenchent des exceptions sont gérés comme suit :&lt;br /&gt;
**Si une fonction contient un bloc try/except/catch et qu&#039;une exception OS/SEH ou C++ est déclenchée lors de l&#039;exécution, l&#039;appel de fonction se termine correctement, mais le résultat est non défini ou vaut 0. Dans ce cas, le bloc d&#039;exception interne n&#039;est pas exécuté car l&#039;exception est gérée directement par le débogueur.&lt;br /&gt;
**Si une fonction contient un bloc try/except/catch et qu&#039;aucune exception OS/SEH ou de langage n&#039;est déclenchée, l&#039;appel de fonction se termine correctement et le résultat est correct, selon la fonction.&lt;br /&gt;
&lt;br /&gt;
{{Note|{{Product}} vous permet de déboguer des apps &#039;&#039;&#039;BCC64X&#039;&#039;&#039; de la même façon que des apps &#039;&#039;&#039;BCC64&#039;&#039;&#039; ou &#039;&#039;&#039;BCC32&#039;&#039;&#039;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Différences relatives à la pile d&#039;appels==&lt;br /&gt;
&lt;br /&gt;
L&#039;affichage de certaines valeurs peut être différent dans les évaluateurs 32 bits et 64 bits. Par exemple, la [[Fenêtre Pile d&#039;appels|pile d&#039;appels]] est affichée sans paramètre de fonction et sans valeur.&lt;br /&gt;
&lt;br /&gt;
La [[Fenêtre Pile d&#039;appels|pile d&#039;appels]] contient typiquement deux copies de chaque constructeur et destructeur.  &lt;br /&gt;
Par exemple, la pile d&#039;appels peut contenir :&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;:0000000000401244&amp;amp;nbsp;; MyClass::~MyClass&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;:0000000000401229&amp;amp;nbsp;; MyClass::~MyClass&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;:0000000000401187&amp;amp;nbsp;; main&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;:000000000040ef90&amp;amp;nbsp;; _startup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Clang implémente l&#039;Itanium ABI, qui décrit trois constructeurs et trois destructeurs qui effectuent un chaînage d&#039;appels l&#039;un envers l&#039;autre. Toutefois, Clang n&#039;a implémenté que deux des trois constructeurs, et {{CBuilder}} a ajouté le troisième pour les classes de style {{Delphi}}. Voir le [http://www.uclibc.org/docs/psABI-ia64.pdf Document Itanium ABI] ou cette publication : [http://stackoverflow.com/questions/6921295/dual-emission-of-constructor-symbols.}} http://stackoverflow.com/questions/6921295/dual-emission-of-constructor-symbols.}}]&lt;br /&gt;
&lt;br /&gt;
==Syntaxe pour évaluer les registres==&lt;br /&gt;
&lt;br /&gt;
Lors de l&#039;utilisation du débogueur lldb, les registres doivent être évalués en utilisant le préfixe {{code|$}} lorsqu&#039;on fait référence à un registre.&lt;br /&gt;
&lt;br /&gt;
Par exemple, pour accéder au registre {{code|eax}} ou {{code|rax}}, on écrira :&lt;br /&gt;
&lt;br /&gt;
 $eax&lt;br /&gt;
 $rax&lt;br /&gt;
&lt;br /&gt;
Ne pas inclure le symbole préfixe {{code|$}} provoque une erreur de syntaxe.&lt;br /&gt;
&lt;br /&gt;
*Utiliser {{code|$rax}} renvoie la valeur de registre en hex.&lt;br /&gt;
*Utiliser {{code|$rax,d}} renvoie la valeur de registre en décimal.&lt;br /&gt;
&lt;br /&gt;
==Réduction de la consommation mémoire du lieur grâce à Split Dwarf==&lt;br /&gt;
&lt;br /&gt;
{{Note| Split DWARF est uniquement pris en charge sur C++ Windows 64 bits. Cette fonctionnalité réduit la quantité de données à traiter, ce qui entraîne une réduction des erreurs du lieur. Pour plus d’informations sur la gestion des erreurs relatives au lieur, voir [[Gestion des erreurs de mémoire insuffisante|Gestion des erreurs de mémoire insuffisante du lieur]].&lt;br /&gt;
&lt;br /&gt;
{{Product}} 10.4.2 inclut une nouvelle fonctionnalité permettant de réduire la quantité de données devant être traitée par le lieur, tout particulièrement lors de la liaison des applications construites en mode débogage. Cette fonctionnalité appelée DWARF répartit les informations de débogage dans un fichier .dwo distinct (objet DWARF) parallèlement au fichier objet normal contenant le code compilé. Comme le lieur ne lie que le code exécutable et de petites quantité d&#039;informations, la consommation de mémoire est réduite.&lt;br /&gt;
&lt;br /&gt;
{{Note|La fonctionnalité Split Dwarf est désactivée par défaut.}}&lt;br /&gt;
&lt;br /&gt;
===Activation de Split DWARF dans l&#039;EDI ou msbuild===&lt;br /&gt;
&lt;br /&gt;
Ouvrez la boîte de dialogue Options de votre projet C++. Allez à Construction &amp;amp;gt; Compilateur C++ &amp;amp;gt; Débogueur et assurez-vous que la plate-forme cible est définie sur l&#039;une des cibles Windows 64 bits.&lt;br /&gt;
&lt;br /&gt;
#Activez la case à cocher &amp;quot;Utiliser Split DWARF&amp;quot;.&lt;br /&gt;
#Indiquez un dossier pour les fichiers des informations de débogage dans le champ &amp;quot;Répertoire de sortie DWO&amp;quot;. Vous devez indiquer un chemin absolu (cela ne peut pas être un chemin relatif ou un chemin utilisant des variables d&#039;environnement).&lt;br /&gt;
&lt;br /&gt;
Par exemple, &#039;&#039;&#039;c:\myproject\win64debug&#039;&#039;&#039; est correct mais &#039;&#039;&#039;..\win64debug&#039;&#039;&#039; ne l&#039;est pas.&lt;br /&gt;
&lt;br /&gt;
Pour désactiver cette fonctionnalité, décochez la case dans Options de projet &amp;amp;gt; Construction &amp;amp;gt; Compilateur C++ &amp;amp;gt; Débogage.&lt;br /&gt;
Ces paramètres seront utilisés lors de la construction depuis l&#039;EDI ou avec msbuild sur la ligne de commande.&lt;br /&gt;
&lt;br /&gt;
===Activation de Split DWARF depuis la ligne de commande===&lt;br /&gt;
&lt;br /&gt;
Pour activer manuellement Split DWARF sur un build exécuté depuis la ligne de commande, par exemple avec [[BCC64|BCC64]] :&lt;br /&gt;
&lt;br /&gt;
1. Spécifiez le paramètre Split DWARF sur la ligne de commande du compilateur.&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;-enable-split-dwarf&amp;quot;     &lt;br /&gt;
 AND     &lt;br /&gt;
 &amp;quot;-split-dwarf-file AFilename.dwo&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Le compilateur crée alors le fichier AFilename.dwo et indique l&#039;emplacement de ce fichier .dwo dans le fichier objet .o. Notez toutefois le fichier .dwo ne contient pas les informations de débogage.&lt;br /&gt;
&lt;br /&gt;
2. Utilisez &amp;quot;-dwo-dir &amp;amp;lt;répertoire&amp;amp;gt;&amp;quot; pour spécifier le répertoire dans lequel le compilateur écrit le fichier .dwo. Assurez-vous que c&#039;est un chemin absolu.&lt;br /&gt;
&lt;br /&gt;
3. Exécutez l&#039;outil objcopy.exe sur le fichier .o. Cette action provoque la suppression des sections dwarf du fichier objet (.o) normal et les place dans un fichier .dwo distinct. Cela doit être effectué pour chaque objet (fichier .o) et correspondre au nom que vous avez spécifié à &#039;&#039;&#039;l&#039;étape 1&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 objcopy --split-dwo=AFilename.dwo AFilename.o&lt;br /&gt;
&lt;br /&gt;
4. Pour finir, effectuez la liaison des fichiers .o afin de créer votre EXE ou DLL comme vous le feriez normalement (cette étape n&#039;est pas modifiée). Les fichiers seront plus petits que d&#039;habitude car ils contiennent moins d&#039;informations de débogage. Chaque objet contient le nom et l&#039;emplacement du fichier .dwo. Comme décrit à l&#039;étape 2, l&#039;emplacement correspond à votre propre machine et doit être un chemin absolu.&lt;br /&gt;
&lt;br /&gt;
====Problème de chargement des informations de débogage lors de l&#039;utilisation de Split DWARF====&lt;br /&gt;
&lt;br /&gt;
Lorsque vous utilisez Split-Dwarf pour le débogage Win64, les fichiers source qui ne se trouvent pas dans le même répertoire que le fichier projet peuvent recevoir des informations de répertoire incorrectes générées dans le fichier objet.  Cela signifie que les symboles contenus dans ces fichiers (types, variables locales et paramètres) ne seront pas disponibles. Ce comportement peut être remarqué lors du débogage. En effet, les points bleus qui apparaissent dans l&#039;éditeur pour indiquer les numéros de ligne sont visibles. Vous pourrez placer un point d&#039;arrêt mais ne serez pas en mesure d&#039;évaluer ou d&#039;inspecter des expressions ou des symboles.&lt;br /&gt;
&lt;br /&gt;
Pour contourner ce problème, spécifiez un chemin absolu dans le champ &amp;quot;Répertoire de sortie DWO&amp;quot; dans la page des options de projet {{Menu|Compilateur C++ &amp;amp;gt; Débogage &amp;amp;gt; Utiliser Split Dwarf}} ou utilisez l&#039;option -dwo-dir si vous construisez depuis la ligne de commande. Voir ci-dessus pour des informations sur ces paramètres.&lt;br /&gt;
&lt;br /&gt;
==Evaluation d&#039;appels de fonction tels que strcmp()==&lt;br /&gt;
&lt;br /&gt;
L&#039;évaluation d&#039;un appel de fonction tel que strcmp(str, &amp;quot;ABC&amp;quot;) peut renvoyer une erreur comme suit :&lt;br /&gt;
&lt;br /&gt;
 #include &amp;amp;lt;system.hpp&amp;amp;gt;&lt;br /&gt;
 int main()&lt;br /&gt;
 { &lt;br /&gt;
     char *str = &amp;quot;ABC&amp;quot;;&lt;br /&gt;
     return strcmp(str, &amp;quot;ABC&amp;quot;); &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 error: &#039;strcmp&#039; has unknown return type; cast the call to its declared return type&lt;br /&gt;
 error: 1 errors parsing expression&lt;br /&gt;
&lt;br /&gt;
Dans la fenêtre [[Evaluer/Modifier|Evaluer/Modifier]], vous devez transtyper le type de retour pour strcmp() :&lt;br /&gt;
&lt;br /&gt;
    (int) strcmp(str, &amp;quot;ABC&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Voir [[Strcmp, mbscmp, wcscmp|strcmp, _mbscmp, wcscmp]].&lt;br /&gt;
&lt;br /&gt;
{{Note| Si vous rencontrez des problèmes de débogage, l&#039;équipe Support peut vous demander de fournir les journaux de débogage. A cet égard, consultez comment [[Activer les journaux de consignation pour les débogueurs RAD Studio|activer les journaux de consignation pour les débogueurs {{Product}}]].}}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Présentation du débogage|Présentation du débogage]]&lt;br /&gt;
*[[Débogage des applications - Index|Comment utiliser le débogueur]]&lt;br /&gt;
*[[Débogage des applications multi-périphériques|Débogage des applications multi-périphériques]]&lt;br /&gt;
*[[Différences C++ Builder Windows 64 bits|Différences C++ Builder Windows 64 bits]]&lt;br /&gt;
*[[Gestion des erreurs de mémoire insuffisante|Gestion des erreurs de mémoire insuffisante du lieur]]&lt;br /&gt;
*[[Mise à niveau des projets C++ existants vers Windows 64 bits|Mise à niveau des projets C++ existants vers Windows 64 bits]]&lt;br /&gt;
*[[Compilateurs C++ plus stricts (compilateurs C++ améliorés par Clang)|Compilateurs C++ plus stricts (compilateurs C++ améliorés par Clang)]]&lt;br /&gt;
*[[Evaluer/Modifier|Evaluer/Modifier]]&lt;br /&gt;
*[[Extensions des fichiers générés par RAD Studio|Extensions des fichiers générés par RAD Studio]]&lt;br /&gt;
&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:XE3]]&lt;br /&gt;
[[Category:64 bits]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=D%C3%A9bogage_des_applications_C%2B%2B_Builder_Windows_64_bits&amp;diff=218917</id>
		<title>Débogage des applications C++ Builder Windows 64 bits</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=D%C3%A9bogage_des_applications_C%2B%2B_Builder_Windows_64_bits&amp;diff=218917"/>
		<updated>2026-05-09T03:34:53Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Développement d&#039;applications C++ Builder Windows 64 bits}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Débogueur C++ basé sur LLDB pour WIN64==&lt;br /&gt;
&lt;br /&gt;
{{Product}} 10.4 introduit un nouveau débogueur C++ pour Win64, basé sur LLDB. Le compilateur utilise le format [http://www.dwarfstd.org/ DWARF] version 4 pour les informations de débogage.&lt;br /&gt;
&lt;br /&gt;
Le nouveau débogueur LLDB de {{Product}} offre une plus grande stabilité lors du débogage. La nouvelle technologie de débogage couplée aux informations de débogage générées renforcent les capacités d&#039;évaluation, d&#039;inspection et de débogage. De plus, le débogueur prend en charge des types complexes comme les collections STL ou les chaînes via les formateurs.&lt;br /&gt;
&lt;br /&gt;
==Formateurs==&lt;br /&gt;
&lt;br /&gt;
L&#039;inspection ou l&#039;évaluation des types complexes peut poser problème lors du débogage d&#039;applications C++. L&#039;évaluation du contenu d&#039;un std::map (par exemple) requiert de connaître la disposition du type. D&#039;autre part, l&#039;opérateur d&#039;accès au tableau [] peut ne pas être disponible pour le débogueur s&#039;il n&#039;est jamais appelé dans le code ou s&#039;il est toujours inline et donc par conséquent, non appelable. Des problèmes similaires existent pour d&#039;autres types, y compris pour les chaînes, et parfois même pour vos propres types.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez y remédier en utilisant des formateurs. Un formateur est un petit script Python qui aide à déboguer un type particulier. RAD Studio est livré avec des formateurs pour les types communs. Vous pouvez toutefois ajouter des formateurs personnalisés pour vos types.&lt;br /&gt;
&lt;br /&gt;
Les formateurs suivants sont fournis pour les types STL et Delphi.&lt;br /&gt;
&lt;br /&gt;
 * std::string and std::wstring &lt;br /&gt;
 * String (UnicodeString), AnsiString, UTF8String, WideString. &lt;br /&gt;
 * std::vector &lt;br /&gt;
 * std::deque &lt;br /&gt;
 * std::stack &lt;br /&gt;
 * std::map &lt;br /&gt;
 * std::shared_ptr&lt;br /&gt;
&lt;br /&gt;
====Formateurs personnalisés====&lt;br /&gt;
&lt;br /&gt;
Pour ajouter votre propre formateur, créez un nouveau fichier python et modifiez le fichier &#039;&#039;&#039;bin\Windows\lldb\.lldbinit&#039;&#039;&#039; de façon à ce qu&#039;il contienne une ligne faisant référence à votre nouveau script Python.  Vous trouverez plus d&#039;informations sur le codage des formateurs personnalisés ici :&lt;br /&gt;
&lt;br /&gt;
*[http://lldb.llvm.org/use/variable.html LLDB’s formatting documentation]&lt;br /&gt;
*[https://pspdfkit.com/blog/2018/how-to-extend-lldb-to-provide-a-better-debugging-experience/ How to extend LLDB to provide a better debugging experience]&lt;br /&gt;
*[https://stackoverflow.com/questions/52013282/custom-data-formatter-in-lldb This Stack Overflow question about writing a custom data formatter]&lt;br /&gt;
&lt;br /&gt;
==C++ Builder Windows 64 bits==&lt;br /&gt;
&lt;br /&gt;
Le compilateur {{CBuilder}} Windows 64 bits ([[BCC64.EXE, le compilateur C++ Windows 64 bits|BCC64]]) génère des informations de débogage au format [http://www.dwarfstd.org/ DWARF], différent du format utilisé par BCC32 et BCCOSX. Toutefois, en général, le débogage des applications Windows 64 bits est similaire au débogage des applications C++ Windows 32 bits. Il existe quelques différences, comme indiqué ci-dessous :&lt;br /&gt;
&lt;br /&gt;
*Certaines fonctionnalités du débogueur ne sont pas prises en charge.  Le débogage des propriétés, clôtures, méthodes de classe et autres extensions du langage {{Delphi}} n&#039;est pas actuellement pris en charge.&lt;br /&gt;
*:Par exemple, sur [[Inspecteur de débogage|l&#039;inspecteur d&#039;objets]], les onglets &#039;&#039;&#039;Méthodes&#039;&#039;&#039; et &#039;&#039;&#039;Propriétés&#039;&#039;&#039; ne sont pas affichés pour les applications C++ Windows 64 bits.&lt;br /&gt;
*Unicode, les pages de codes et la localisation ne sont pas complètement pris en charge.&lt;br /&gt;
*:Par exemple, Unicode n&#039;est pas pris en charge dans les noms des identificateurs et les pages de codes ne sont pas prises en charge par le débogueur C++ Windows 64 bits.&lt;br /&gt;
*Lors de l&#039;évaluation d&#039;un registre Windows 64 bits, le nom du registre doit être préfixé par $, comme par exemple &amp;lt;code&amp;gt;$rax&amp;lt;/code&amp;gt;.&lt;br /&gt;
*:Voir [[Evaluer/Modifier|Evaluer/Modifier]].&lt;br /&gt;
*Les appels de fonctions qui déclenchent des exceptions sont gérés comme suit :&lt;br /&gt;
**Si une fonction contient un bloc try/except/catch et qu&#039;une exception OS/SEH ou C++ est déclenchée lors de l&#039;exécution, l&#039;appel de fonction se termine correctement, mais le résultat est non défini ou vaut 0. Dans ce cas, le bloc d&#039;exception interne n&#039;est pas exécuté car l&#039;exception est gérée directement par le débogueur.&lt;br /&gt;
**Si une fonction contient un bloc try/except/catch et qu&#039;aucune exception OS/SEH ou de langage n&#039;est déclenchée, l&#039;appel de fonction se termine correctement et le résultat est correct, selon la fonction.&lt;br /&gt;
&lt;br /&gt;
{{Note|{{Product}} vous permet de déboguer des apps &#039;&#039;&#039;BCC64X&#039;&#039;&#039; de la même façon que des apps &#039;&#039;&#039;BCC64&#039;&#039;&#039; ou &#039;&#039;&#039;BCC32&#039;&#039;&#039;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Différences relatives à la pile d&#039;appels==&lt;br /&gt;
&lt;br /&gt;
L&#039;affichage de certaines valeurs peut être différent dans les évaluateurs 32 bits et 64 bits. Par exemple, la [[Fenêtre Pile d&#039;appels|pile d&#039;appels]] est affichée sans paramètre de fonction et sans valeur.&lt;br /&gt;
&lt;br /&gt;
La [[Fenêtre Pile d&#039;appels|pile d&#039;appels]] contient typiquement deux copies de chaque constructeur et destructeur.  &lt;br /&gt;
Par exemple, la pile d&#039;appels peut contenir :&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;:0000000000401244&amp;amp;nbsp;; MyClass::~MyClass&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;:0000000000401229&amp;amp;nbsp;; MyClass::~MyClass&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;:0000000000401187&amp;amp;nbsp;; main&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;:000000000040ef90&amp;amp;nbsp;; _startup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Clang implémente l&#039;Itanium ABI, qui décrit trois constructeurs et trois destructeurs qui effectuent un chaînage d&#039;appels l&#039;un envers l&#039;autre. Toutefois, Clang n&#039;a implémenté que deux des trois constructeurs, et {{CBuilder}} a ajouté le troisième pour les classes de style {{Delphi}}. Voir le [http://www.uclibc.org/docs/psABI-ia64.pdf Document Itanium ABI] ou cette publication : [http://stackoverflow.com/questions/6921295/dual-emission-of-constructor-symbols.}} http://stackoverflow.com/questions/6921295/dual-emission-of-constructor-symbols.}}]&lt;br /&gt;
&lt;br /&gt;
==Syntaxe pour évaluer les registres==&lt;br /&gt;
&lt;br /&gt;
Lors de l&#039;utilisation du débogueur lldb, les registres doivent être évalués en utilisant le préfixe {{code|$}} lorsqu&#039;on fait référence à un registre.&lt;br /&gt;
&lt;br /&gt;
Par exemple, pour accéder au registre {{code|eax}} ou {{code|rax}}, on écrira :&lt;br /&gt;
&lt;br /&gt;
 $eax&lt;br /&gt;
 $rax&lt;br /&gt;
&lt;br /&gt;
Ne pas inclure le symbole préfixe {{code|$}} provoque une erreur de syntaxe.&lt;br /&gt;
&lt;br /&gt;
*Utiliser {{code|$rax}} renvoie la valeur de registre en hex.&lt;br /&gt;
*Utiliser {{code|$rax,d}} renvoie la valeur de registre en décimal.&lt;br /&gt;
&lt;br /&gt;
==Réduction de la consommation mémoire du lieur grâce à Split Dwarf==&lt;br /&gt;
&lt;br /&gt;
{{Note| Split DWARF est uniquement pris en charge sur C++ Windows 64 bits. Cette fonctionnalité réduit la quantité de données à traiter, ce qui entraîne une réduction des erreurs du lieur. Pour plus d’informations sur la gestion des erreurs relatives au lieur, voir [[Gestion des erreurs de mémoire insuffisante|Gestion des erreurs de mémoire insuffisante du lieur]].&lt;br /&gt;
&lt;br /&gt;
{{Product}} 10.4.2 inclut une nouvelle fonctionnalité permettant de réduire la quantité de données devant être traitée par le lieur, tout particulièrement lors de la liaison des applications construites en mode débogage. Cette fonctionnalité appelée DWARF répartit les informations de débogage dans un fichier .dwo distinct (objet DWARF) parallèlement au fichier objet normal contenant le code compilé. Comme le lieur ne lie que le code exécutable et de petites quantité d&#039;informations, la consommation de mémoire est réduite.&lt;br /&gt;
&lt;br /&gt;
{{Note|La fonctionnalité Split Dwarf est désactivée par défaut.}}&lt;br /&gt;
&lt;br /&gt;
===Activation de Split DWARF dans l&#039;EDI ou msbuild===&lt;br /&gt;
&lt;br /&gt;
Ouvrez la boîte de dialogue Options de votre projet C++. Allez à Construction &amp;amp;gt; Compilateur C++ &amp;amp;gt; Débogueur et assurez-vous que la plate-forme cible est définie sur l&#039;une des cibles Windows 64 bits.&lt;br /&gt;
&lt;br /&gt;
#Activez la case à cocher &amp;quot;Utiliser Split DWARF&amp;quot;.&lt;br /&gt;
#Indiquez un dossier pour les fichiers des informations de débogage dans le champ &amp;quot;Répertoire de sortie DWO&amp;quot;. Vous devez indiquer un chemin absolu (cela ne peut pas être un chemin relatif ou un chemin utilisant des variables d&#039;environnement).&lt;br /&gt;
&lt;br /&gt;
Par exemple, &#039;&#039;&#039;c:\myproject\win64debug&#039;&#039;&#039; est correct mais &#039;&#039;&#039;..\win64debug&#039;&#039;&#039; ne l&#039;est pas.&lt;br /&gt;
&lt;br /&gt;
Pour désactiver cette fonctionnalité, décochez la case dans Options de projet &amp;amp;gt; Construction &amp;amp;gt; Compilateur C++ &amp;amp;gt; Débogage.&lt;br /&gt;
Ces paramètres seront utilisés lors de la construction depuis l&#039;EDI ou avec msbuild sur la ligne de commande.&lt;br /&gt;
&lt;br /&gt;
===Activation de Split DWARF depuis la ligne de commande===&lt;br /&gt;
&lt;br /&gt;
Pour activer manuellement Split DWARF sur un build exécuté depuis la ligne de commande, par exemple avec [[BCC64|BCC64]] :&lt;br /&gt;
&lt;br /&gt;
1. Spécifiez le paramètre Split DWARF sur la ligne de commande du compilateur.&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;-enable-split-dwarf&amp;quot;     &lt;br /&gt;
 AND     &lt;br /&gt;
 &amp;quot;-split-dwarf-file AFilename.dwo&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Le compilateur crée alors le fichier AFilename.dwo et indique l&#039;emplacement de ce fichier .dwo dans le fichier objet .o. Notez toutefois le fichier .dwo ne contient pas les informations de débogage.&lt;br /&gt;
&lt;br /&gt;
2. Utilisez &amp;quot;-dwo-dir &amp;amp;lt;répertoire&amp;amp;gt;&amp;quot; pour spécifier le répertoire dans lequel le compilateur écrit le fichier .dwo. Assurez-vous que c&#039;est un chemin absolu.&lt;br /&gt;
&lt;br /&gt;
3. Exécutez l&#039;outil objcopy.exe sur le fichier .o. Cette action provoque la suppression des sections dwarf du fichier objet (.o) normal et les place dans un fichier .dwo distinct. Cela doit être effectué pour chaque objet (fichier .o) et correspondre au nom que vous avez spécifié à &#039;&#039;&#039;l&#039;étape 1&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 objcopy --split-dwo=AFilename.dwo AFilename.o&lt;br /&gt;
&lt;br /&gt;
4. Pour finir, effectuez la liaison des fichiers .o afin de créer votre EXE ou DLL comme vous le feriez normalement (cette étape n&#039;est pas modifiée). Les fichiers seront plus petits que d&#039;habitude car ils contiennent moins d&#039;informations de débogage. Chaque objet contient le nom et l&#039;emplacement du fichier .dwo. Comme décrit à l&#039;étape 2, l&#039;emplacement correspond à votre propre machine et doit être un chemin absolu.&lt;br /&gt;
&lt;br /&gt;
====Problème de chargement des informations de débogage lors de l&#039;utilisation de Split DWARF====&lt;br /&gt;
&lt;br /&gt;
Lorsque vous utilisez Split-Dwarf pour le débogage Win64, les fichiers source qui ne se trouvent pas dans le même répertoire que le fichier projet peuvent recevoir des informations de répertoire incorrectes générées dans le fichier objet.  Cela signifie que les symboles contenus dans ces fichiers (types, variables locales et paramètres) ne seront pas disponibles. Ce comportement peut être remarqué lors du débogage. En effet, les points bleus qui apparaissent dans l&#039;éditeur pour indiquer les numéros de ligne sont visibles. Vous pourrez placer un point d&#039;arrêt mais ne serez pas en mesure d&#039;évaluer ou d&#039;inspecter des expressions ou des symboles.&lt;br /&gt;
&lt;br /&gt;
Pour contourner ce problème, spécifiez un chemin absolu dans le champ &amp;quot;Répertoire de sortie DWO&amp;quot; dans la page des options de projet {{Menu|Compilateur C++ &amp;amp;gt; Débogage &amp;amp;gt; Utiliser Split Dwarf}} ou utilisez l&#039;option -dwo-dir si vous construisez depuis la ligne de commande. Voir ci-dessus pour des informations sur ces paramètres.&lt;br /&gt;
&lt;br /&gt;
==Evaluation d&#039;appels de fonction tels que strcmp()==&lt;br /&gt;
&lt;br /&gt;
L&#039;évaluation d&#039;un appel de fonction tel que strcmp(str, &amp;quot;ABC&amp;quot;) peut renvoyer une erreur comme suit :&lt;br /&gt;
&lt;br /&gt;
 #include &amp;amp;lt;system.hpp&amp;amp;gt;&lt;br /&gt;
 int main()&lt;br /&gt;
 { &lt;br /&gt;
     char *str = &amp;quot;ABC&amp;quot;;&lt;br /&gt;
     return strcmp(str, &amp;quot;ABC&amp;quot;); &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 error: &#039;strcmp&#039; has unknown return type; cast the call to its declared return type&lt;br /&gt;
 error: 1 errors parsing expression&lt;br /&gt;
&lt;br /&gt;
Dans la fenêtre [[Evaluer/Modifier|Evaluer/Modifier]], vous devez transtyper le type de retour pour strcmp() :&lt;br /&gt;
&lt;br /&gt;
    (int) strcmp(str, &amp;quot;ABC&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Voir [[Strcmp, mbscmp, wcscmp|strcmp, _mbscmp, wcscmp]].&lt;br /&gt;
&lt;br /&gt;
{{Note| Si vous rencontrez des problèmes de débogage, l&#039;équipe Support peut vous demander de fournir les journaux de débogage. A cet égard, consultez comment [[Activer les journaux de consignation pour les débogueurs RAD Studio|activer les journaux de consignation pour les débogueurs {{Product}}]].}}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Présentation du débogage|Présentation du débogage]]&lt;br /&gt;
*[[Débogage des applications - Index|Comment utiliser le débogueur]]&lt;br /&gt;
*[[Débogage des applications multi-périphériques|Débogage des applications multi-périphériques]]&lt;br /&gt;
*[[Différences C++ Builder Windows 64 bits|Différences C++ Builder Windows 64 bits]]&lt;br /&gt;
*[[Gestion des erreurs de mémoire insuffisante|Gestion des erreurs de mémoire insuffisante du lieur]]&lt;br /&gt;
*[[Mise à niveau des projets C++ existants vers Windows 64 bits|Mise à niveau des projets C++ existants vers Windows 64 bits]]&lt;br /&gt;
*[[Compilateurs C++ plus stricts (compilateurs C++ améliorés par Clang)|Compilateurs C++ plus stricts (compilateurs C++ améliorés par Clang)]]&lt;br /&gt;
*[[Evaluer/Modifier|Evaluer/Modifier]]&lt;br /&gt;
*[[Extensions des fichiers générés par RAD Studio|Extensions des fichiers générés par RAD Studio]]&lt;br /&gt;
&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:XE3]]&lt;br /&gt;
[[Category:64 bits]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=BCC32C&amp;diff=218916</id>
		<title>BCC32C</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=BCC32C&amp;diff=218916"/>
		<updated>2026-05-09T03:34:53Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Compilateurs C++ améliorés par Clang}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BCC32C&#039;&#039;&#039; est un compilateur C++ de {{Product}} pour Windows 32 bits. {{Product}} fournit BCC32C comme une alternative facultative à [[BCC32|BCC32]], qui fait partie de la génération précédente des compilateurs C++ pour Windows 32 bits.&lt;br /&gt;
&lt;br /&gt;
BCC32C est basé sur Clang. Voir &#039;&#039;&#039;[[Compilateurs C++ améliorés par Clang|Compilateurs C++ améliorés par Clang]]&#039;&#039;&#039; pour connaître les points communs entre le compilateur BCC32C et les autres compilateurs C++ améliorés par Clang.&lt;br /&gt;
&lt;br /&gt;
{{Note|Pour Windows 64 bits, utilisez [[BCC64|BCC64]] et [[BCC64X|BCC64X]].}}&lt;br /&gt;
&lt;br /&gt;
==Informations générales==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Champ&lt;br /&gt;
!Valeur&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Version de Clang&lt;br /&gt;
|5,0&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Version de LLVM&lt;br /&gt;
|5,0&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Conventions d&#039;appel&lt;br /&gt;
|&lt;br /&gt;
*MSVC __fastcall&lt;br /&gt;
*C&lt;br /&gt;
*Pascal&lt;br /&gt;
*Registre&lt;br /&gt;
*Appel standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Substantypage&lt;br /&gt;
|[http://www.uclibc.org/docs/psABI-ia64.pdf Itanium (EN)]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Bibliothèque standard&lt;br /&gt;
|[[Bibliothèque C++ standard Dinkumware|Dinkumware]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Bibliothèques supplémentaires&lt;br /&gt;
|[http://compiler-rt.llvm.org/ compiler-rt]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Fichiers de sortie==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Type de fichier&lt;br /&gt;
!Extension de fichier&lt;br /&gt;
!Format de fichier&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Exécutable&lt;br /&gt;
|{{Path|.exe}}&lt;br /&gt;
|[[Wikipedia:Portable Executable|PE32 (EN)]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Bibliothèque partagée&lt;br /&gt;
|{{Path|.dll}}&lt;br /&gt;
|[[Wikipedia:Portable Executable|PE32 (EN)]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Bibliothèque statique&lt;br /&gt;
|{{Path|.lib}}&lt;br /&gt;
|[[Wikipedia:Relocatable Object Module Format|OMF (EN)]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Objet compilé&lt;br /&gt;
|{{Path|.obj}}&lt;br /&gt;
|[[Wikipedia:Relocatable Object Module Format|OMF (EN)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Comment activer BCC32C==&lt;br /&gt;
&lt;br /&gt;
[[BCC32C|BCC32C]] ne remplace pas [[BCC32|BCC32]], {{product}} vous offre la possibilité d&#039;utiliser le compilateur de votre choix pour chacun de vos projets. [[BCC32C|BCC32C]] est le compilateur C++ par défaut pour Windows 32 bits.&lt;br /&gt;
&lt;br /&gt;
Pour activer le [[Compilateurs C++ améliorés par Clang|compilateur amélioré par Clang]] pour un projet spécifique, sélectionnez {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Compilateur C++|Compilateur C++]]}} et désélectionnez l&#039;option &#039;&#039;&#039;Utiliser le compilateur Borland &#039;classique&#039;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Ecriture du code C++ pour BCC32C==&lt;br /&gt;
&lt;br /&gt;
Pour écrire du code C++ spécifiquement pour BCC32C, utilisez :&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#if defined(__BORLANDC__) &amp;amp;&amp;amp; defined(__clang__) &amp;amp;&amp;amp; defined(_WIN32) &amp;amp;&amp;amp; !defined(_WIN64)&lt;br /&gt;
    // Your code.&lt;br /&gt;
#endif&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour plus d&#039;informations, voir [[Compilateurs C++ améliorés par Clang#Macros prédéfinies|Compilateurs C++ améliorés par Clang, Macros prédéfinies]].&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Fonctionnalités du C++ moderne prises en charge par les compilateurs C++ améliorés par Clang de RAD Studio|Supported Modern C++ Features]]&lt;br /&gt;
*[[Différences entre les compilateurs C++ améliorés par Clang et les compilateurs C++ de précédente génération|Différences entre les compilateurs C++ améliorés psr Clang et les compilateurs C++ de précédente génération]]&lt;br /&gt;
*[[Options non prises en charge par les compilateurs C++ améliorés par Clang|Options non prises en charge par les compilateurs C++ améliorés par Clang]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Seattle]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=BCC32C&amp;diff=218915</id>
		<title>BCC32C</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=BCC32C&amp;diff=218915"/>
		<updated>2026-05-09T03:34:53Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Compilateurs C++ améliorés par Clang}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BCC32C&#039;&#039;&#039; est un compilateur C++ de {{Product}} pour Windows 32 bits. {{Product}} fournit BCC32C comme une alternative facultative à [[BCC32|BCC32]], qui fait partie de la génération précédente des compilateurs C++ pour Windows 32 bits.&lt;br /&gt;
&lt;br /&gt;
BCC32C est basé sur Clang. Voir &#039;&#039;&#039;[[Compilateurs C++ améliorés par Clang|Compilateurs C++ améliorés par Clang]]&#039;&#039;&#039; pour connaître les points communs entre le compilateur BCC32C et les autres compilateurs C++ améliorés par Clang.&lt;br /&gt;
&lt;br /&gt;
{{Note|Pour Windows 64 bits, utilisez [[BCC64|BCC64]] et [[BCC64X|BCC64X]].}}&lt;br /&gt;
&lt;br /&gt;
==Informations générales==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Champ&lt;br /&gt;
!Valeur&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Version de Clang&lt;br /&gt;
|5,0&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Version de LLVM&lt;br /&gt;
|5,0&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Conventions d&#039;appel&lt;br /&gt;
|&lt;br /&gt;
*MSVC __fastcall&lt;br /&gt;
*C&lt;br /&gt;
*Pascal&lt;br /&gt;
*Registre&lt;br /&gt;
*Appel standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Substantypage&lt;br /&gt;
|[http://www.uclibc.org/docs/psABI-ia64.pdf Itanium (EN)]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Bibliothèque standard&lt;br /&gt;
|[[Bibliothèque C++ standard Dinkumware|Dinkumware]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Bibliothèques supplémentaires&lt;br /&gt;
|[http://compiler-rt.llvm.org/ compiler-rt]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Fichiers de sortie==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Type de fichier&lt;br /&gt;
!Extension de fichier&lt;br /&gt;
!Format de fichier&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Exécutable&lt;br /&gt;
|{{Path|.exe}}&lt;br /&gt;
|[[Wikipedia:Portable Executable|PE32 (EN)]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Bibliothèque partagée&lt;br /&gt;
|{{Path|.dll}}&lt;br /&gt;
|[[Wikipedia:Portable Executable|PE32 (EN)]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Bibliothèque statique&lt;br /&gt;
|{{Path|.lib}}&lt;br /&gt;
|[[Wikipedia:Relocatable Object Module Format|OMF (EN)]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Objet compilé&lt;br /&gt;
|{{Path|.obj}}&lt;br /&gt;
|[[Wikipedia:Relocatable Object Module Format|OMF (EN)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Comment activer BCC32C==&lt;br /&gt;
&lt;br /&gt;
[[BCC32C|BCC32C]] ne remplace pas [[BCC32|BCC32]], {{product}} vous offre la possibilité d&#039;utiliser le compilateur de votre choix pour chacun de vos projets. [[BCC32C|BCC32C]] est le compilateur C++ par défaut pour Windows 32 bits.&lt;br /&gt;
&lt;br /&gt;
Pour activer le [[Compilateurs C++ améliorés par Clang|compilateur amélioré par Clang]] pour un projet spécifique, sélectionnez {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Compilateur C++|Compilateur C++]]}} et désélectionnez l&#039;option &#039;&#039;&#039;Utiliser le compilateur Borland &#039;classique&#039;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Ecriture du code C++ pour BCC32C==&lt;br /&gt;
&lt;br /&gt;
Pour écrire du code C++ spécifiquement pour BCC32C, utilisez :&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#if defined(__BORLANDC__) &amp;amp;&amp;amp; defined(__clang__) &amp;amp;&amp;amp; defined(_WIN32) &amp;amp;&amp;amp; !defined(_WIN64)&lt;br /&gt;
    // Your code.&lt;br /&gt;
#endif&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour plus d&#039;informations, voir [[Compilateurs C++ améliorés par Clang#Macros prédéfinies|Compilateurs C++ améliorés par Clang, Macros prédéfinies]].&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Fonctionnalités du C++ moderne prises en charge par les compilateurs C++ améliorés par Clang de RAD Studio|Supported Modern C++ Features]]&lt;br /&gt;
*[[Différences entre les compilateurs C++ améliorés par Clang et les compilateurs C++ de précédente génération|Différences entre les compilateurs C++ améliorés psr Clang et les compilateurs C++ de précédente génération]]&lt;br /&gt;
*[[Options non prises en charge par les compilateurs C++ améliorés par Clang|Options non prises en charge par les compilateurs C++ améliorés par Clang]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Seattle]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=BCC32&amp;diff=218914</id>
		<title>BCC32</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=BCC32&amp;diff=218914"/>
		<updated>2026-05-09T03:34:53Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Compilateurs C++}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BCC32&#039;&#039;&#039; est le compilateur C++ de {{Product}} pour Windows 32 bits. {{Product}} fournit [[Compilateurs Win32 améliorés par Clang|BCC32C]], un nouveau compilateur C++ pour Windows 32 bits basé sur Clang, en alternative à BCC32.&lt;br /&gt;
&lt;br /&gt;
{{Note|Pour Windows 64 bits, utilisez [[BCC64|BCC64]] et [[BCC64X|BCC64X]].}}&lt;br /&gt;
&lt;br /&gt;
==Informations générales==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Champ&lt;br /&gt;
!Valeur&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[Options de conventions d&#039;appel (BCC32)|Conventions d&#039;appel]]&lt;br /&gt;
|&lt;br /&gt;
*MSVC __fastcall&lt;br /&gt;
*C&lt;br /&gt;
*Pascal&lt;br /&gt;
*Registre&lt;br /&gt;
*Appel standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Substantypage&lt;br /&gt;
|Borland&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Bibliothèque standard&lt;br /&gt;
|[[Bibliothèque C++ standard Dinkumware|Dinkumware]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Note|Le compilateur C++ Code Gear classique (BCC32) nécessite le répertoire Include &#039;&#039;dinkumware&#039;&#039;. Pensez à définir la variable BCC32 en ajoutant ce répertoire à &#039;&#039;&#039;Windows-Embarcadero.cmake&#039;&#039;&#039;, en haut du fichier :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
if(BCC32)&lt;br /&gt;
include_directories(SYSTEM &amp;quot;${ROOTDIR}/include/dinkumware&amp;quot;)&lt;br /&gt;
else()&lt;br /&gt;
include_directories(SYSTEM &amp;quot;${ROOTDIR}/include/dinkumware64&amp;quot;)&lt;br /&gt;
endif()&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Fichiers de sortie==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Type de fichier&lt;br /&gt;
!Extension de fichier&lt;br /&gt;
!Format de fichier&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Exécutable&lt;br /&gt;
|{{Path|.exe}}&lt;br /&gt;
|[[Wikipedia:Portable Executable|PE32 (EN)]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Bibliothèque partagée&lt;br /&gt;
|{{Path|.dll}}&lt;br /&gt;
|[[Wikipedia:Portable Executable|PE32 (EN)]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Bibliothèque statique&lt;br /&gt;
|{{Path|.lib}}&lt;br /&gt;
|[[Wikipedia:Relocatable Object Module Format|OMF (EN)]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Objet compilé&lt;br /&gt;
|{{Path|.obj}}&lt;br /&gt;
|[[Wikipedia:Relocatable Object Module Format|OMF (EN)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Ecriture du code C++ pour BCC32==&lt;br /&gt;
&lt;br /&gt;
Pour écrire du code C++ spécifiquement pour BCC32, utilisez :&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#if defined(__BORLANDC__) &amp;amp;&amp;amp; !defined(__clang__) &amp;amp;&amp;amp; defined(_WIN32) &amp;amp;&amp;amp; !defined(_WIN64)&lt;br /&gt;
    // Your code.&lt;br /&gt;
#endif&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour de plus amples informations, voir [[Compilateurs C++ améliorés par Clang#Macros prédéfinies|Compilateurs C++ améliorés par Clang, Macros prédéfinies]].&lt;br /&gt;
&lt;br /&gt;
==Rubriques==&lt;br /&gt;
&lt;br /&gt;
*[[Options de conventions d&#039;appel (BCC32)|Options de conventions d&#039;appel (BCC32)]]&lt;br /&gt;
*[[Utilisation des fichiers d&#039;inclusion|Utilisation des fichiers d&#039;inclusion]]&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[BCC32.EXE, le compilateur C++ 32 bits en ligne de commande|BCC32.EXE]]&lt;br /&gt;
*[[Compilateurs Win32 améliorés par Clang|BCC32C]]&lt;br /&gt;
*[[BCC32C.EXE|BCC32C.EXE]]&lt;br /&gt;
*[[Compilateurs Win32 améliorés par Clang|BCC32X]]&lt;br /&gt;
*[[BCC32X.EXE|BCC32X.EXE]]&lt;br /&gt;
*[[BCC64X|BCC64X]]&lt;br /&gt;
*[[Erreurs et avertissements du compilateur (C++) - Index|Erreurs et avertissements du compilateur (C++) - Index]]&lt;br /&gt;
*[[Fonctionnalités C++11 - Index|Fonctionnalités C++11 dans le compilateur Classic]]&lt;br /&gt;
*[[Options de ligne de commande des en-têtes précompilés pour BCC32|Options de ligne de commande des en-têtes précompilés pour BCC32]]&lt;br /&gt;
*[[Compilation d&#039;une application C++ depuis la ligne de commande|Compilation d&#039;une application C++ depuis la ligne de commande]]&lt;br /&gt;
*[[Fichiers de définition de module|Fichiers de définition de module]]&lt;br /&gt;
*[[RLINK32.DLL, le lieur de ressources (C++)|RLINK32.DLL, le lieur de ressources (C++)]]&lt;br /&gt;
*[[BRCC32.EXE, le compilateur de ressources|BRCC32.EXE, le compilateur de ressources]]&lt;br /&gt;
*[[BCC64.EXE, le compilateur C++ Windows 64 bits|BCC64.EXE, le compilateur C++ Windows 64 bits]]&lt;br /&gt;
*[[BCCIOSARM64.EXE, le compilateur C++ pour le périphérique iOS 64 bits|BCCIOSARM64.EXE, le compilateur C++ pour le périphérique iOS 64 bits]]&lt;br /&gt;
*[[BCCAARM.EXE, le compilateur C++ pour Android|BCCAARM.EXE, le compilateur C++ pour Android]]&lt;br /&gt;
*[[Options non prises en charge par les compilateurs C++ améliorés par Clang|Options non prises en charge par les compilateurs C++ améliorés par Clang]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Référence C++]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=BCC32&amp;diff=218913</id>
		<title>BCC32</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=BCC32&amp;diff=218913"/>
		<updated>2026-05-09T03:34:52Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Compilateurs C++}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BCC32&#039;&#039;&#039; est le compilateur C++ de {{Product}} pour Windows 32 bits. {{Product}} fournit [[Compilateurs Win32 améliorés par Clang|BCC32C]], un nouveau compilateur C++ pour Windows 32 bits basé sur Clang, en alternative à BCC32.&lt;br /&gt;
&lt;br /&gt;
{{Note|Pour Windows 64 bits, utilisez [[BCC64|BCC64]] et [[BCC64X|BCC64X]].}}&lt;br /&gt;
&lt;br /&gt;
==Informations générales==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Champ&lt;br /&gt;
!Valeur&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[Options de conventions d&#039;appel (BCC32)|Conventions d&#039;appel]]&lt;br /&gt;
|&lt;br /&gt;
*MSVC __fastcall&lt;br /&gt;
*C&lt;br /&gt;
*Pascal&lt;br /&gt;
*Registre&lt;br /&gt;
*Appel standard&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Substantypage&lt;br /&gt;
|Borland&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Bibliothèque standard&lt;br /&gt;
|[[Bibliothèque C++ standard Dinkumware|Dinkumware]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Note|Le compilateur C++ Code Gear classique (BCC32) nécessite le répertoire Include &#039;&#039;dinkumware&#039;&#039;. Pensez à définir la variable BCC32 en ajoutant ce répertoire à &#039;&#039;&#039;Windows-Embarcadero.cmake&#039;&#039;&#039;, en haut du fichier :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
if(BCC32)&lt;br /&gt;
include_directories(SYSTEM &amp;quot;${ROOTDIR}/include/dinkumware&amp;quot;)&lt;br /&gt;
else()&lt;br /&gt;
include_directories(SYSTEM &amp;quot;${ROOTDIR}/include/dinkumware64&amp;quot;)&lt;br /&gt;
endif()&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Fichiers de sortie==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Type de fichier&lt;br /&gt;
!Extension de fichier&lt;br /&gt;
!Format de fichier&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Exécutable&lt;br /&gt;
|{{Path|.exe}}&lt;br /&gt;
|[[Wikipedia:Portable Executable|PE32 (EN)]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Bibliothèque partagée&lt;br /&gt;
|{{Path|.dll}}&lt;br /&gt;
|[[Wikipedia:Portable Executable|PE32 (EN)]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Bibliothèque statique&lt;br /&gt;
|{{Path|.lib}}&lt;br /&gt;
|[[Wikipedia:Relocatable Object Module Format|OMF (EN)]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Objet compilé&lt;br /&gt;
|{{Path|.obj}}&lt;br /&gt;
|[[Wikipedia:Relocatable Object Module Format|OMF (EN)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Ecriture du code C++ pour BCC32==&lt;br /&gt;
&lt;br /&gt;
Pour écrire du code C++ spécifiquement pour BCC32, utilisez :&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#if defined(__BORLANDC__) &amp;amp;&amp;amp; !defined(__clang__) &amp;amp;&amp;amp; defined(_WIN32) &amp;amp;&amp;amp; !defined(_WIN64)&lt;br /&gt;
    // Your code.&lt;br /&gt;
#endif&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour de plus amples informations, voir [[Compilateurs C++ améliorés par Clang#Macros prédéfinies|Compilateurs C++ améliorés par Clang, Macros prédéfinies]].&lt;br /&gt;
&lt;br /&gt;
==Rubriques==&lt;br /&gt;
&lt;br /&gt;
*[[Options de conventions d&#039;appel (BCC32)|Options de conventions d&#039;appel (BCC32)]]&lt;br /&gt;
*[[Utilisation des fichiers d&#039;inclusion|Utilisation des fichiers d&#039;inclusion]]&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[BCC32.EXE, le compilateur C++ 32 bits en ligne de commande|BCC32.EXE]]&lt;br /&gt;
*[[Compilateurs Win32 améliorés par Clang|BCC32C]]&lt;br /&gt;
*[[BCC32C.EXE|BCC32C.EXE]]&lt;br /&gt;
*[[Compilateurs Win32 améliorés par Clang|BCC32X]]&lt;br /&gt;
*[[BCC32X.EXE|BCC32X.EXE]]&lt;br /&gt;
*[[BCC64X|BCC64X]]&lt;br /&gt;
*[[Erreurs et avertissements du compilateur (C++) - Index|Erreurs et avertissements du compilateur (C++) - Index]]&lt;br /&gt;
*[[Fonctionnalités C++11 - Index|Fonctionnalités C++11 dans le compilateur Classic]]&lt;br /&gt;
*[[Options de ligne de commande des en-têtes précompilés pour BCC32|Options de ligne de commande des en-têtes précompilés pour BCC32]]&lt;br /&gt;
*[[Compilation d&#039;une application C++ depuis la ligne de commande|Compilation d&#039;une application C++ depuis la ligne de commande]]&lt;br /&gt;
*[[Fichiers de définition de module|Fichiers de définition de module]]&lt;br /&gt;
*[[RLINK32.DLL, le lieur de ressources (C++)|RLINK32.DLL, le lieur de ressources (C++)]]&lt;br /&gt;
*[[BRCC32.EXE, le compilateur de ressources|BRCC32.EXE, le compilateur de ressources]]&lt;br /&gt;
*[[BCC64.EXE, le compilateur C++ Windows 64 bits|BCC64.EXE, le compilateur C++ Windows 64 bits]]&lt;br /&gt;
*[[BCCIOSARM64.EXE, le compilateur C++ pour le périphérique iOS 64 bits|BCCIOSARM64.EXE, le compilateur C++ pour le périphérique iOS 64 bits]]&lt;br /&gt;
*[[BCCAARM.EXE, le compilateur C++ pour Android|BCCAARM.EXE, le compilateur C++ pour Android]]&lt;br /&gt;
*[[Options non prises en charge par les compilateurs C++ améliorés par Clang|Options non prises en charge par les compilateurs C++ améliorés par Clang]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Référence C++]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Compilateurs_C%2B%2B&amp;diff=218912</id>
		<title>Compilateurs C++</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Compilateurs_C%2B%2B&amp;diff=218912"/>
		<updated>2026-05-09T03:34:52Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Chaînes d&#039;outils C++}}&lt;br /&gt;
&lt;br /&gt;
{{Product}} fournit des compilateurs pour toutes les [[Plates-formes cible prises en charge|plates-formes cible prises en charge]].&lt;br /&gt;
&lt;br /&gt;
Chaque compilateur appartient à l&#039;une des générations de compilateurs suivantes :&lt;br /&gt;
&lt;br /&gt;
*Compilateurs de génération précédente, notamment le compilateur Windows 32 bits {{CBuilder}}, [[BCC32|BCC32]], et les compilateurs avec une base de code similaire.&lt;br /&gt;
*[[Compilateurs C++ améliorés par Clang|Compilateurs améliorés par Clang]], qui sont des compilateurs basés sur le compilateur Clang.&lt;br /&gt;
&lt;br /&gt;
{{Product}} fournit les compilateurs C++ suivants :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Plate-forme&lt;br /&gt;
!Compilateur&lt;br /&gt;
!Génération&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Windows 32 bits&lt;br /&gt;
|[[Compilateurs Win32 améliorés par Clang|BCC32C]]&lt;br /&gt;
|Clang&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[Compilateurs Win32 améliorés par Clang|BCC32X]]&lt;br /&gt;
|Clang&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCC32|BCC32]]&lt;br /&gt;
|Précédente&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Windows 64 bits&lt;br /&gt;
|[[BCC64|BCC64]]&lt;br /&gt;
|Clang&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCC64X|BCC64X]]&lt;br /&gt;
|Clang&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|iOS 64 bits&lt;br /&gt;
|[[BCCIOSARM64|BCCIOSARM64]]&lt;br /&gt;
|Clang&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Android&lt;br /&gt;
|[[BCCAARM|BCCAARM]]&lt;br /&gt;
|Clang&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Attention| Lorsque vous utilisez des compilateurs Windows 32 bits pour plusieurs projets C++ interdépendants, le code compilé par l&#039;un des compilateurs ne doit pas être statiquement lié à du code compilé avec un autre compilateur, car ils ne sont pas compatibles au niveau de l&#039;ABI. Pour utiliser deux compilateurs différents, le code doit être dans une DLL distincte et exposer une interface &#039;&#039;&#039;c&#039;&#039;&#039; simple. Dans le cas contraire, vous devrez utiliser un seul compilateur pour pouvoir compiler correctement.}}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
{{f|cmd|&lt;br /&gt;
&lt;br /&gt;
*[[Interfaces de ligne de commande des compilateurs C++|Interfaces de ligne de commande des compilateurs C++]] }}&lt;br /&gt;
*[[Lieurs C++|Lieurs C++]]&lt;br /&gt;
*[[Chaînes d&#039;outils Delphi|Chaînes d&#039;outils {{Delphi}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Compilateurs_C%2B%2B&amp;diff=218911</id>
		<title>Compilateurs C++</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Compilateurs_C%2B%2B&amp;diff=218911"/>
		<updated>2026-05-09T03:34:52Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Chaînes d&#039;outils C++}}&lt;br /&gt;
&lt;br /&gt;
{{Product}} fournit des compilateurs pour toutes les [[Plates-formes cible prises en charge|plates-formes cible prises en charge]].&lt;br /&gt;
&lt;br /&gt;
Chaque compilateur appartient à l&#039;une des générations de compilateurs suivantes :&lt;br /&gt;
&lt;br /&gt;
*Compilateurs de génération précédente, notamment le compilateur Windows 32 bits {{CBuilder}}, [[BCC32|BCC32]], et les compilateurs avec une base de code similaire.&lt;br /&gt;
*[[Compilateurs C++ améliorés par Clang|Compilateurs améliorés par Clang]], qui sont des compilateurs basés sur le compilateur Clang.&lt;br /&gt;
&lt;br /&gt;
{{Product}} fournit les compilateurs C++ suivants :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Plate-forme&lt;br /&gt;
!Compilateur&lt;br /&gt;
!Génération&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Windows 32 bits&lt;br /&gt;
|[[Compilateurs Win32 améliorés par Clang|BCC32C]]&lt;br /&gt;
|Clang&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[Compilateurs Win32 améliorés par Clang|BCC32X]]&lt;br /&gt;
|Clang&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCC32|BCC32]]&lt;br /&gt;
|Précédente&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Windows 64 bits&lt;br /&gt;
|[[BCC64|BCC64]]&lt;br /&gt;
|Clang&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCC64X|BCC64X]]&lt;br /&gt;
|Clang&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|iOS 64 bits&lt;br /&gt;
|[[BCCIOSARM64|BCCIOSARM64]]&lt;br /&gt;
|Clang&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Android&lt;br /&gt;
|[[BCCAARM|BCCAARM]]&lt;br /&gt;
|Clang&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Attention| Lorsque vous utilisez des compilateurs Windows 32 bits pour plusieurs projets C++ interdépendants, le code compilé par l&#039;un des compilateurs ne doit pas être statiquement lié à du code compilé avec un autre compilateur, car ils ne sont pas compatibles au niveau de l&#039;ABI. Pour utiliser deux compilateurs différents, le code doit être dans une DLL distincte et exposer une interface &#039;&#039;&#039;c&#039;&#039;&#039; simple. Dans le cas contraire, vous devrez utiliser un seul compilateur pour pouvoir compiler correctement.}}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
{{f|cmd|&lt;br /&gt;
&lt;br /&gt;
*[[Interfaces de ligne de commande des compilateurs C++|Interfaces de ligne de commande des compilateurs C++]] }}&lt;br /&gt;
*[[Lieurs C++|Lieurs C++]]&lt;br /&gt;
*[[Chaînes d&#039;outils Delphi|Chaînes d&#039;outils {{Delphi}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Macros_pr%C3%A9d%C3%A9finies&amp;diff=218910</id>
		<title>Macros prédéfinies</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Macros_pr%C3%A9d%C3%A9finies&amp;diff=218910"/>
		<updated>2026-05-09T03:34:52Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Le préprocesseur - Index}}&lt;br /&gt;
&lt;br /&gt;
Le compilateur C+ prédéfinit certains identificateurs globaux, connus comme constantes manifestes. La plupart des identificateurs commencent et se terminent par deux caractères de soulignement (__).&lt;br /&gt;
&lt;br /&gt;
{{Note|Par mesure de lisibilité, les caractères de soulignement sont souvent séparés par un espace. Dans votre code source, vous ne devez pas insérer cet espace entre les caractères de soulignement.}}&lt;br /&gt;
&lt;br /&gt;
Pour les macros dont la valeur prend la forme &amp;lt;code&amp;gt;0x0nnn&amp;lt;/code&amp;gt;, le numéro de version (&amp;lt;code&amp;gt;nnn&amp;lt;/code&amp;gt;) est déterminé par le numéro de version de l&#039;exécutable du compilateur C++ associé.  En commençant avec la release XE, vous pouvez vérifier le numéro de version en utilisant l&#039;option &amp;lt;code&amp;gt;--version&amp;lt;/code&amp;gt; sur [[BCC32.EXE, le compilateur C++ 32 bits en ligne de commande|BCC32.EXE]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Macro&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Valeur&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__ANDROID__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie seulement dans les compilateurs qui prennent en charge la compilation croisée avec un produit Android en tant que plate-forme cible :&lt;br /&gt;
*[[BCCAARM.EXE, le compilateur C++ pour Android|BCCAARM.EXE, le compilateur C++ pour Android]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__APPLE__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie seulement dans les compilateurs qui supportent la compilation croisée avec un produit Apple en tant que plate-forme cible :&lt;br /&gt;
*[[BCCIOSARM64.EXE, le compilateur C++ pour le périphérique iOS 64 bits|BCCIOSARM64.EXE, le compilateur C++ pour le Périphérique iOS 64 bits]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__arm__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie seulement dans les compilateurs qui supportent la compilation croisée pour l&#039;architecture d&#039;un compilateur 32 bits ARM :&lt;br /&gt;
*[[BCCAARM.EXE, le compilateur C++ pour Android|BCCAARM.EXE, le compilateur C++ pour Android]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__arm64__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie seulement dans les compilateurs qui supportent la compilation croisée pour l&#039;architecture d&#039;un compilateur ARM64 :&lt;br /&gt;
*[[BCCIOSARM64.EXE, le compilateur C++ pour le périphérique iOS 64 bits|BCCIOSARM64.EXE, le compilateur C++ pour le Périphérique iOS 64 bits]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__BCOPT__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie seulement dans les compilateurs qui prennent en charge l&#039;optimisation, par conséquent toujours définie.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__BCPLUSPLUS__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Les valeurs sont listées dans la section [[#Versions du compilateur C++ dans les macros prédéfinies|Versions du compilateur C++]] de cette rubrique.&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie si vous avez sélectionné la compilation C++. Cette valeur augmentera dans les prochaines releases.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__BOOL__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Indique que le mot clé &#039;&#039;&#039;bool&#039;&#039;&#039; est accepté.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&amp;lt;span id=&amp;quot;BORLANDC&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;__BORLANDC__&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Les valeurs sont listées dans la section [[#Versions du compilateur C++ dans les macros prédéfinies|Versions du compilateur C++]] de cette rubrique.&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Numéro de version.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__CDECL__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie si les conventions d&#039;appel sont définies sur cdecl ; sinon, elle est non définie.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_CHAR_UNSIGNED&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Non définie par défaut. L&#039;utilisation du commutateur -K pour rendre le caractère par défaut non signé provoque la définition de cette macro. En définitive, l&#039;option -K contrôle la façon dont un &#039;&#039;&#039;char&#039;&#039;&#039; est étendu quand il est converti en &#039;&#039;&#039;int&#039;&#039;&#039;. Par défaut, le compilateur effectue une extension du signe, mais si vous activez _CHAR_UNSIGNED_, il effectue une extension de zéros lors de la conversion en &#039;&#039;&#039;int&#039;&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__clang__ &amp;lt;br /&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1 &amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie si un [[Compilateurs C++ améliorés par Clang|compilateur C++ amélioré sur Clang]] est utilisé.&lt;br /&gt;
Voir [http://clang.llvm.org/docs/LanguageExtensions.html#builtinmacros Clang Builtin Macros].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__CODEGEARC__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Les valeurs sont listées dans la section [[#Versions du compilateur C++ dans les macros prédéfinies|Versions du compilateur C++]] de cette rubrique.&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Numéro de version.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__CODEGEARC_VERSION__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
*Numéro de version majeure : bits 31..24&lt;br /&gt;
*Numéro de version mineure : bits 23..16&lt;br /&gt;
*Numéro de version interne : bits 15..0&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Cette macro interne se développe en un entier qui encode la version majeure et la version mineure du compilateur, ainsi qu&#039;un nombre interne. Voir [[Exemple de macro CODEGEARC VERSION|Exemple de macro CODEGEARC VERSION]].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__CODEGUARD__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie quand l&#039;une des options CodeGuard du compilateur est utilisée ; sinon, elle est non définie.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__CONSOLE__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Lorsqu&#039;elle est définie, la macro indique que le programme est une application console.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_CPPUNWIND&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Active le déroulement de la pile. La valeur est true par défaut. Utilisez &#039;&#039;&#039;-xd-&#039;&#039;&#039;!ALink(OSCGExceptions1) pour désactiver cette possibilité.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__cplusplus&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie en mode C++ ; sinon, elle est non définie.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__DATE__ &#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Littéral chaîne&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Donne la date du début du traitement du fichier en cours.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__DLL__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie lorsque l&#039;option -WD du compilateur est utilisée ; sinon, elle est non définie.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__FILE__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Littéral chaîne&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Nom du fichier en cours de traitement.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__FLAT__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie lors de la compilation dans un modèle de mémoire linéaire 32 bits.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__FUNC__&#039;&#039;&#039; ou &#039;&#039;&#039;__FUNCTION__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Littéral chaîne&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Nom de la fonction en cours de traitement. [[FUNC|Plus d&#039;informations.]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__LINE__ &#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Constante décimale&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Numéro de la ligne en cours de traitement du fichier source en cours.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__MACH__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie seulement dans les compilateurs qui prennent en charge la compilation croisée avec une cible de MAC OSX.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_M_IX86&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
0x12c&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Toujours définie. La valeur par défaut est 300. Vous pouvez passer la valeur à 400 ou 500 en utilisant l&#039;option de compilateur /4 ou /5.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__MT__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie seulement si l&#039;option -tWM est utilisée. Indique que la bibliothèque multithread doit être liée.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__PASCAL__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie si les conventions d&#039;appel sont définies sur Pascal ; sinon, elle est non définie.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_PUSHPOP_SUPPORTED&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Toujours définie ; permet aux en-têtes standard Microsoft d&#039;utiliser push et pop pour vérifier si une fonctionnalité est prise en charge.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_STDCALL_SUPPORTED&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Toujours définie ; définit la convention d&#039;appel stdcall de Microsoft.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__STDC__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie si vous compilez avec l&#039;option de compilateur -A ; sinon, elle est non définie.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__TCPLUSPLUS__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Les valeurs sont listées dans la section [[#Versions du compilateur C++ dans les macros prédéfinies|Versions du compilateur C++]] de cette rubrique.&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Numéro de version.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__TEMPLATES__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie à 1 pour les fichiers C++ (ce qui signifie que les templates sont pris en charge) ; sinon, elle est non définie.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__TIME__ &#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Littéral chaîne&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Donne l&#039;heure du début du traitement du fichier en cours.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
_&#039;&#039;&#039;_TLS__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Stockage local thread. Toujours true.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
_&#039;&#039;&#039;_TURBOC__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Les valeurs sont listées dans la section [[#Versions du compilateur C++ dans les macros prédéfinies|Versions du compilateur C++]] de cette rubrique.&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Valeur qui augmentera dans les prochaines releases.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_UNICODE&#039;&#039;&#039; et &#039;&#039;&#039;UNICODE&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie pour les programmes C++ qui utilisent la VCL.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_WCHAR_T&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie seulement pour les programmes C++ pour indiquer que &#039;&#039;&#039;wchar_t&#039;&#039;&#039; est un type de données intrinsèque.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_WCHAR_T_DEFINED&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie seulement pour les programmes C++ pour indiquer que &#039;&#039;&#039;wchar_t&#039;&#039;&#039; est un type de données intrinsèque.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_Windows&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie lors de la compilation sur la plate-forme Windows.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&amp;lt;span id=&amp;quot;win32&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;__WIN32__&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie pour les applications console et GUI sur la plate-forme Windows 32 bits. Le compilateur classique définit cette macro comme une macro intégrée. Le compilateur basé sur Clang exige que &#039;&#039;&#039;_defs.h&#039;&#039;&#039; soit inclus, mais ce fichier en-tête est normalement inclus par défaut dans une application standard.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_WIN64&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie pour les applications console et GUI sur la plate-forme Windows 64 bits.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Notes|&lt;br /&gt;
&lt;br /&gt;
:&lt;br /&gt;
:*Les macros prédéfinies &#039;&#039;&#039;__DATE__&#039;&#039;&#039;, &#039;&#039;&#039;__FILE__ &#039;&#039;&#039;, &#039;&#039;&#039;__FUNC__&#039;&#039;&#039;, &#039;&#039;&#039;__LINE__&#039;&#039;&#039;, &#039;&#039;&#039;__STDC__&#039;&#039;&#039; et &#039;&#039;&#039;__TIME__&#039;&#039;&#039; ne peuvent pas être redéfinies ou non définies.&lt;br /&gt;
:* Pour vérifier la liste des macros définies prises en charge par les compilateurs C++ améliorés par Clang, voir [[Compilateurs C++ améliorés par Clang#Macros prédéfinies|macros prédéfinies]].}}&lt;br /&gt;
&lt;br /&gt;
==Versions du compilateur C++ dans les macros prédéfinies==&lt;br /&gt;
&lt;br /&gt;
Les macros définies pour le compilateur C++ (telles que __CODEGEARC__) ont les numéros de version suivants :&lt;br /&gt;
&lt;br /&gt;
*0x0570 pour {{Product|2006}} {{Version|2006}}.&lt;br /&gt;
*0x0590 pour {{CBuilder|2007}} {{Version|2007}}.&lt;br /&gt;
*0x0591 pour {{CBuilder|2007}} {{Version|2007}} mise à jour 1.&lt;br /&gt;
*0x0592 pour {{Product|2007}} {{Version|2007}}.&lt;br /&gt;
*0x0593 pour {{Product|2007}} {{Version|2007}} Mise à jour de décembre.&lt;br /&gt;
*0x0610 pour {{CBuilder|2009}} {{Version|2009}} et pour {{CBuilder|2009}} {{Version|2009}} Mise à jour 1.&lt;br /&gt;
*0x0620 pour {{CBuilder|2010}} {{Version|2010}} et pour {{CBuilder|2010}} {{Version|2010}}Mise à jour 1.&lt;br /&gt;
*0x0621 pour {{CBuilder|2010}} {{Version|2010}} Mise à jour 2.&lt;br /&gt;
*0x0630 pour {{CBuilder|XE}} {{Version|XE}}.&lt;br /&gt;
*0x0631 pour {{CBuilder|XE}} {{Version|XE}} Mise à jour 1.&lt;br /&gt;
*0x0640 pour {{CBuilder|XE2}} {{Version|XE2}}.&lt;br /&gt;
*0x0650 pour {{CBuilder|XE3}} {{Version|XE3}} et {{CBuilder|XE3}} {{Version|XE3}} Mise à jour 1.&lt;br /&gt;
* 0x0651 pour la mise à jour de Janvier 2013 ([[BCC32|BCC32]]); [[BCC64|BCC64]] est resté sur 0x0650.&lt;br /&gt;
*0x0660 pour {{CBuilder|XE4}} {{Version|XE4}} (BCC32 and BCCOSX); BCC64 est resté à 0x0650.&lt;br /&gt;
* 0x0670 pour {{CBuilder|XE5}} {{Version|XE5}} (BCC32, BCC64 et BCCOSX.&lt;br /&gt;
* 0x0680 pour {{CBuilder|XE6}} {{Version|XE6}} (BCC32, BCC64, BCCOSX et [[BCCAARM|BCCAARM]]). &lt;br /&gt;
* 0x0690 pour {{CBuilder|XE7}} {{Version|XE7}} (BCC32, BCC64, BCCOSX et BCCAARM). &lt;br /&gt;
* 0x0700 pour {{CBuilder|XE8}} {{Version|XE8}} (BCC32, BCC64, BCCOSX, [[BCCIOSARM64|BCCIOSARM64]] et BCCAARM).&lt;br /&gt;
* 0x0710 pour {{CBuilder|Seattle}} {{Version|Seattle}} ([[Compilateurs Win32 améliorés par Clang|BCC32C]], BCC32, BCC64, BCCOSX, BCCIOSARM64 et BCCAARM).&lt;br /&gt;
*0x0711 pour {{CBuilder|Seattle}} {{Version|Seattle}} Subscription Update 1 (BCC32) ; d&#039;autres compilateurs restent à 0x0710.&lt;br /&gt;
* 0x0720 pour {{CBuilder|London}} {{Version|London}} (BCC32C, BCC32, BCC64, BCCOSX, BCCIOSARM64 et BCCAARM).&lt;br /&gt;
* 0x0730 pour {{CBuilder|Godzilla}} {{Version|Godzilla}} (BCC32C, BCC32, BCC64, BCCOSX,  BCCIOSARM64 et BCCAARM).&lt;br /&gt;
* 0x0740 pour {{CBuilder|Rio}} {{Version|Rio}} (BCC32C, BCC32, BCC64, BCCOSX, BCCIOSARM64, BCCAARM et BCC32X).&lt;br /&gt;
* 0x0750 pour C++Builder Sydney (BCC32C, BCC32, BCC64, BCCOSX, BCCIOSARM64, BCCAARM et BCC32X).&lt;br /&gt;
* 0x0760 pour {{CBuilder|Alexandria}} {{Version|Alexandria}} (BCC32C, BCC32, BCC64, BCCOSX, BCCIOSARM, BCCIOSARM64, BCCAARM et BCC32X).&lt;br /&gt;
* 0x0770 pour {{CBuilder|Athens}} {{Version|Athens}} (BCC32C, BCC32, BCC64, BCCOSX, BCCIOSARM, BCCIOSARM64, BCCAARM, BCC32X et [[BCC64X|BCC64X]]).&lt;br /&gt;
* 0x0780 pour {{CBuilder|Florence}} {{Version|Florence}} (BCC32C, BCC32, BCC64, BCCOSX, BCCIOSARM, BCCIOSARM64, BCCAARM, BCC32X, et [[BCC64X|BCC64X]]).&lt;br /&gt;
&lt;br /&gt;
Voir aussi &#039;&#039;&#039;[[Versions du compilateur|Versions du compilateur]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Macros définies ailleurs==&lt;br /&gt;
&lt;br /&gt;
Les macros suivantes sont définies à des fins de compatibilité descendante avec &amp;lt;code&amp;gt;#include System.hpp&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Macro&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Valeur&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;ANSISTRING_AS_TEMPLATE&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Le type AnsiString est défini comme une classe template, [[lib_fr:System.AnsiStringT|AnsiString&amp;lt;T&amp;gt;]].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_STRINGCHECKS_OFF&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
(n&#039;est plus prise en charge)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Dans les releases antérieures, les programmes C++ s&#039;attendaient à ce que le compilateur {{Delphi}} ne définisse pas la directive STRINGCHECKS. Le compilateur {{Delphi}} ne prend plus en charge la directive STRINGCHECKS. Ainsi, la macro _STRINGCHECKS_OFF C++ associée est inutile et n&#039;est plus définie. Par conséquent, si vous migrez du code pré-2009 vers la version en cours, vous devez mettre à jour la signature du gestionnaire d&#039;événement (car un gestionnaire d&#039;événement pré-2009 attend AnsiString, alors que l&#039;exécution envoie à présent UnicodeString). Voir [[Unicode dans RAD Studio|Unicode dans RAD Studio]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Utilisation de la barre oblique inversée de poursuite de ligne|Utilisation de la barre oblique inversée de poursuite de ligne]]&lt;br /&gt;
*[[Exemple de macro CODEGEARC VERSION|Exemple de macro __CODEGEARC_VERSION__]]&lt;br /&gt;
*[[FUNC|__FUNC__]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Référence C++]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Macros_pr%C3%A9d%C3%A9finies&amp;diff=218909</id>
		<title>Macros prédéfinies</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Macros_pr%C3%A9d%C3%A9finies&amp;diff=218909"/>
		<updated>2026-05-09T03:34:52Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Le préprocesseur - Index}}&lt;br /&gt;
&lt;br /&gt;
Le compilateur C+ prédéfinit certains identificateurs globaux, connus comme constantes manifestes. La plupart des identificateurs commencent et se terminent par deux caractères de soulignement (__).&lt;br /&gt;
&lt;br /&gt;
{{Note|Par mesure de lisibilité, les caractères de soulignement sont souvent séparés par un espace. Dans votre code source, vous ne devez pas insérer cet espace entre les caractères de soulignement.}}&lt;br /&gt;
&lt;br /&gt;
Pour les macros dont la valeur prend la forme &amp;lt;code&amp;gt;0x0nnn&amp;lt;/code&amp;gt;, le numéro de version (&amp;lt;code&amp;gt;nnn&amp;lt;/code&amp;gt;) est déterminé par le numéro de version de l&#039;exécutable du compilateur C++ associé.  En commençant avec la release XE, vous pouvez vérifier le numéro de version en utilisant l&#039;option &amp;lt;code&amp;gt;--version&amp;lt;/code&amp;gt; sur [[BCC32.EXE, le compilateur C++ 32 bits en ligne de commande|BCC32.EXE]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Macro&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Valeur&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__ANDROID__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie seulement dans les compilateurs qui prennent en charge la compilation croisée avec un produit Android en tant que plate-forme cible :&lt;br /&gt;
*[[BCCAARM.EXE, le compilateur C++ pour Android|BCCAARM.EXE, le compilateur C++ pour Android]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__APPLE__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie seulement dans les compilateurs qui supportent la compilation croisée avec un produit Apple en tant que plate-forme cible :&lt;br /&gt;
*[[BCCIOSARM64.EXE, le compilateur C++ pour le périphérique iOS 64 bits|BCCIOSARM64.EXE, le compilateur C++ pour le Périphérique iOS 64 bits]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__arm__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie seulement dans les compilateurs qui supportent la compilation croisée pour l&#039;architecture d&#039;un compilateur 32 bits ARM :&lt;br /&gt;
*[[BCCAARM.EXE, le compilateur C++ pour Android|BCCAARM.EXE, le compilateur C++ pour Android]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__arm64__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie seulement dans les compilateurs qui supportent la compilation croisée pour l&#039;architecture d&#039;un compilateur ARM64 :&lt;br /&gt;
*[[BCCIOSARM64.EXE, le compilateur C++ pour le périphérique iOS 64 bits|BCCIOSARM64.EXE, le compilateur C++ pour le Périphérique iOS 64 bits]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__BCOPT__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie seulement dans les compilateurs qui prennent en charge l&#039;optimisation, par conséquent toujours définie.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__BCPLUSPLUS__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Les valeurs sont listées dans la section [[#Versions du compilateur C++ dans les macros prédéfinies|Versions du compilateur C++]] de cette rubrique.&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie si vous avez sélectionné la compilation C++. Cette valeur augmentera dans les prochaines releases.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__BOOL__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Indique que le mot clé &#039;&#039;&#039;bool&#039;&#039;&#039; est accepté.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&amp;lt;span id=&amp;quot;BORLANDC&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;__BORLANDC__&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Les valeurs sont listées dans la section [[#Versions du compilateur C++ dans les macros prédéfinies|Versions du compilateur C++]] de cette rubrique.&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Numéro de version.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__CDECL__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie si les conventions d&#039;appel sont définies sur cdecl ; sinon, elle est non définie.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_CHAR_UNSIGNED&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Non définie par défaut. L&#039;utilisation du commutateur -K pour rendre le caractère par défaut non signé provoque la définition de cette macro. En définitive, l&#039;option -K contrôle la façon dont un &#039;&#039;&#039;char&#039;&#039;&#039; est étendu quand il est converti en &#039;&#039;&#039;int&#039;&#039;&#039;. Par défaut, le compilateur effectue une extension du signe, mais si vous activez _CHAR_UNSIGNED_, il effectue une extension de zéros lors de la conversion en &#039;&#039;&#039;int&#039;&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__clang__ &amp;lt;br /&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1 &amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie si un [[Compilateurs C++ améliorés par Clang|compilateur C++ amélioré sur Clang]] est utilisé.&lt;br /&gt;
Voir [http://clang.llvm.org/docs/LanguageExtensions.html#builtinmacros Clang Builtin Macros].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__CODEGEARC__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Les valeurs sont listées dans la section [[#Versions du compilateur C++ dans les macros prédéfinies|Versions du compilateur C++]] de cette rubrique.&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Numéro de version.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__CODEGEARC_VERSION__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
*Numéro de version majeure : bits 31..24&lt;br /&gt;
*Numéro de version mineure : bits 23..16&lt;br /&gt;
*Numéro de version interne : bits 15..0&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Cette macro interne se développe en un entier qui encode la version majeure et la version mineure du compilateur, ainsi qu&#039;un nombre interne. Voir [[Exemple de macro CODEGEARC VERSION|Exemple de macro CODEGEARC VERSION]].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__CODEGUARD__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie quand l&#039;une des options CodeGuard du compilateur est utilisée ; sinon, elle est non définie.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__CONSOLE__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Lorsqu&#039;elle est définie, la macro indique que le programme est une application console.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_CPPUNWIND&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Active le déroulement de la pile. La valeur est true par défaut. Utilisez &#039;&#039;&#039;-xd-&#039;&#039;&#039;!ALink(OSCGExceptions1) pour désactiver cette possibilité.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__cplusplus&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie en mode C++ ; sinon, elle est non définie.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__DATE__ &#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Littéral chaîne&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Donne la date du début du traitement du fichier en cours.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__DLL__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie lorsque l&#039;option -WD du compilateur est utilisée ; sinon, elle est non définie.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__FILE__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Littéral chaîne&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Nom du fichier en cours de traitement.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__FLAT__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie lors de la compilation dans un modèle de mémoire linéaire 32 bits.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__FUNC__&#039;&#039;&#039; ou &#039;&#039;&#039;__FUNCTION__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Littéral chaîne&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Nom de la fonction en cours de traitement. [[FUNC|Plus d&#039;informations.]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__LINE__ &#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Constante décimale&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Numéro de la ligne en cours de traitement du fichier source en cours.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__MACH__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie seulement dans les compilateurs qui prennent en charge la compilation croisée avec une cible de MAC OSX.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_M_IX86&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
0x12c&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Toujours définie. La valeur par défaut est 300. Vous pouvez passer la valeur à 400 ou 500 en utilisant l&#039;option de compilateur /4 ou /5.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__MT__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie seulement si l&#039;option -tWM est utilisée. Indique que la bibliothèque multithread doit être liée.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__PASCAL__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie si les conventions d&#039;appel sont définies sur Pascal ; sinon, elle est non définie.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_PUSHPOP_SUPPORTED&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Toujours définie ; permet aux en-têtes standard Microsoft d&#039;utiliser push et pop pour vérifier si une fonctionnalité est prise en charge.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_STDCALL_SUPPORTED&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Toujours définie ; définit la convention d&#039;appel stdcall de Microsoft.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__STDC__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie si vous compilez avec l&#039;option de compilateur -A ; sinon, elle est non définie.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__TCPLUSPLUS__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Les valeurs sont listées dans la section [[#Versions du compilateur C++ dans les macros prédéfinies|Versions du compilateur C++]] de cette rubrique.&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Numéro de version.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__TEMPLATES__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie à 1 pour les fichiers C++ (ce qui signifie que les templates sont pris en charge) ; sinon, elle est non définie.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;__TIME__ &#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Littéral chaîne&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Donne l&#039;heure du début du traitement du fichier en cours.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
_&#039;&#039;&#039;_TLS__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Stockage local thread. Toujours true.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
_&#039;&#039;&#039;_TURBOC__&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Les valeurs sont listées dans la section [[#Versions du compilateur C++ dans les macros prédéfinies|Versions du compilateur C++]] de cette rubrique.&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Valeur qui augmentera dans les prochaines releases.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_UNICODE&#039;&#039;&#039; et &#039;&#039;&#039;UNICODE&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie pour les programmes C++ qui utilisent la VCL.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_WCHAR_T&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie seulement pour les programmes C++ pour indiquer que &#039;&#039;&#039;wchar_t&#039;&#039;&#039; est un type de données intrinsèque.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_WCHAR_T_DEFINED&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie seulement pour les programmes C++ pour indiquer que &#039;&#039;&#039;wchar_t&#039;&#039;&#039; est un type de données intrinsèque.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_Windows&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie lors de la compilation sur la plate-forme Windows.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&amp;lt;span id=&amp;quot;win32&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;__WIN32__&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie pour les applications console et GUI sur la plate-forme Windows 32 bits. Le compilateur classique définit cette macro comme une macro intégrée. Le compilateur basé sur Clang exige que &#039;&#039;&#039;_defs.h&#039;&#039;&#039; soit inclus, mais ce fichier en-tête est normalement inclus par défaut dans une application standard.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_WIN64&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center; vertical-align: top;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Définie pour les applications console et GUI sur la plate-forme Windows 64 bits.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Notes|&lt;br /&gt;
&lt;br /&gt;
:&lt;br /&gt;
:*Les macros prédéfinies &#039;&#039;&#039;__DATE__&#039;&#039;&#039;, &#039;&#039;&#039;__FILE__ &#039;&#039;&#039;, &#039;&#039;&#039;__FUNC__&#039;&#039;&#039;, &#039;&#039;&#039;__LINE__&#039;&#039;&#039;, &#039;&#039;&#039;__STDC__&#039;&#039;&#039; et &#039;&#039;&#039;__TIME__&#039;&#039;&#039; ne peuvent pas être redéfinies ou non définies.&lt;br /&gt;
:* Pour vérifier la liste des macros définies prises en charge par les compilateurs C++ améliorés par Clang, voir [[Compilateurs C++ améliorés par Clang#Macros prédéfinies|macros prédéfinies]].}}&lt;br /&gt;
&lt;br /&gt;
==Versions du compilateur C++ dans les macros prédéfinies==&lt;br /&gt;
&lt;br /&gt;
Les macros définies pour le compilateur C++ (telles que __CODEGEARC__) ont les numéros de version suivants :&lt;br /&gt;
&lt;br /&gt;
*0x0570 pour {{Product|2006}} {{Version|2006}}.&lt;br /&gt;
*0x0590 pour {{CBuilder|2007}} {{Version|2007}}.&lt;br /&gt;
*0x0591 pour {{CBuilder|2007}} {{Version|2007}} mise à jour 1.&lt;br /&gt;
*0x0592 pour {{Product|2007}} {{Version|2007}}.&lt;br /&gt;
*0x0593 pour {{Product|2007}} {{Version|2007}} Mise à jour de décembre.&lt;br /&gt;
*0x0610 pour {{CBuilder|2009}} {{Version|2009}} et pour {{CBuilder|2009}} {{Version|2009}} Mise à jour 1.&lt;br /&gt;
*0x0620 pour {{CBuilder|2010}} {{Version|2010}} et pour {{CBuilder|2010}} {{Version|2010}}Mise à jour 1.&lt;br /&gt;
*0x0621 pour {{CBuilder|2010}} {{Version|2010}} Mise à jour 2.&lt;br /&gt;
*0x0630 pour {{CBuilder|XE}} {{Version|XE}}.&lt;br /&gt;
*0x0631 pour {{CBuilder|XE}} {{Version|XE}} Mise à jour 1.&lt;br /&gt;
*0x0640 pour {{CBuilder|XE2}} {{Version|XE2}}.&lt;br /&gt;
*0x0650 pour {{CBuilder|XE3}} {{Version|XE3}} et {{CBuilder|XE3}} {{Version|XE3}} Mise à jour 1.&lt;br /&gt;
* 0x0651 pour la mise à jour de Janvier 2013 ([[BCC32|BCC32]]); [[BCC64|BCC64]] est resté sur 0x0650.&lt;br /&gt;
*0x0660 pour {{CBuilder|XE4}} {{Version|XE4}} (BCC32 and BCCOSX); BCC64 est resté à 0x0650.&lt;br /&gt;
* 0x0670 pour {{CBuilder|XE5}} {{Version|XE5}} (BCC32, BCC64 et BCCOSX.&lt;br /&gt;
* 0x0680 pour {{CBuilder|XE6}} {{Version|XE6}} (BCC32, BCC64, BCCOSX et [[BCCAARM|BCCAARM]]). &lt;br /&gt;
* 0x0690 pour {{CBuilder|XE7}} {{Version|XE7}} (BCC32, BCC64, BCCOSX et BCCAARM). &lt;br /&gt;
* 0x0700 pour {{CBuilder|XE8}} {{Version|XE8}} (BCC32, BCC64, BCCOSX, [[BCCIOSARM64|BCCIOSARM64]] et BCCAARM).&lt;br /&gt;
* 0x0710 pour {{CBuilder|Seattle}} {{Version|Seattle}} ([[Compilateurs Win32 améliorés par Clang|BCC32C]], BCC32, BCC64, BCCOSX, BCCIOSARM64 et BCCAARM).&lt;br /&gt;
*0x0711 pour {{CBuilder|Seattle}} {{Version|Seattle}} Subscription Update 1 (BCC32) ; d&#039;autres compilateurs restent à 0x0710.&lt;br /&gt;
* 0x0720 pour {{CBuilder|London}} {{Version|London}} (BCC32C, BCC32, BCC64, BCCOSX, BCCIOSARM64 et BCCAARM).&lt;br /&gt;
* 0x0730 pour {{CBuilder|Godzilla}} {{Version|Godzilla}} (BCC32C, BCC32, BCC64, BCCOSX,  BCCIOSARM64 et BCCAARM).&lt;br /&gt;
* 0x0740 pour {{CBuilder|Rio}} {{Version|Rio}} (BCC32C, BCC32, BCC64, BCCOSX, BCCIOSARM64, BCCAARM et BCC32X).&lt;br /&gt;
* 0x0750 pour C++Builder Sydney (BCC32C, BCC32, BCC64, BCCOSX, BCCIOSARM64, BCCAARM et BCC32X).&lt;br /&gt;
* 0x0760 pour {{CBuilder|Alexandria}} {{Version|Alexandria}} (BCC32C, BCC32, BCC64, BCCOSX, BCCIOSARM, BCCIOSARM64, BCCAARM et BCC32X).&lt;br /&gt;
* 0x0770 pour {{CBuilder|Athens}} {{Version|Athens}} (BCC32C, BCC32, BCC64, BCCOSX, BCCIOSARM, BCCIOSARM64, BCCAARM, BCC32X et [[BCC64X|BCC64X]]).&lt;br /&gt;
* 0x0780 pour {{CBuilder|Florence}} {{Version|Florence}} (BCC32C, BCC32, BCC64, BCCOSX, BCCIOSARM, BCCIOSARM64, BCCAARM, BCC32X, et [[BCC64X|BCC64X]]).&lt;br /&gt;
&lt;br /&gt;
Voir aussi &#039;&#039;&#039;[[Versions du compilateur|Versions du compilateur]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Macros définies ailleurs==&lt;br /&gt;
&lt;br /&gt;
Les macros suivantes sont définies à des fins de compatibilité descendante avec &amp;lt;code&amp;gt;#include System.hpp&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Macro&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Valeur&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;ANSISTRING_AS_TEMPLATE&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Le type AnsiString est défini comme une classe template, [[lib_fr:System.AnsiStringT|AnsiString&amp;lt;T&amp;gt;]].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;_STRINGCHECKS_OFF&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
(n&#039;est plus prise en charge)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Dans les releases antérieures, les programmes C++ s&#039;attendaient à ce que le compilateur {{Delphi}} ne définisse pas la directive STRINGCHECKS. Le compilateur {{Delphi}} ne prend plus en charge la directive STRINGCHECKS. Ainsi, la macro _STRINGCHECKS_OFF C++ associée est inutile et n&#039;est plus définie. Par conséquent, si vous migrez du code pré-2009 vers la version en cours, vous devez mettre à jour la signature du gestionnaire d&#039;événement (car un gestionnaire d&#039;événement pré-2009 attend AnsiString, alors que l&#039;exécution envoie à présent UnicodeString). Voir [[Unicode dans RAD Studio|Unicode dans RAD Studio]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Utilisation de la barre oblique inversée de poursuite de ligne|Utilisation de la barre oblique inversée de poursuite de ligne]]&lt;br /&gt;
*[[Exemple de macro CODEGEARC VERSION|Exemple de macro __CODEGEARC_VERSION__]]&lt;br /&gt;
*[[FUNC|__FUNC__]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Référence C++]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Statut_de_conformit%C3%A9_des_fonctionnalit%C3%A9s_du_langage_C%2B%2B_moderne&amp;diff=218908</id>
		<title>Statut de conformité des fonctionnalités du langage C++ moderne</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Statut_de_conformit%C3%A9_des_fonctionnalit%C3%A9s_du_langage_C%2B%2B_moderne&amp;diff=218908"/>
		<updated>2026-05-09T03:34:52Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|C++ moderne}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici ci-dessous la liste des fonctionnalités du C++ moderne qui sont prises en charge par les [[Compilateurs C++|compilateurs C++ de {{Product}}]].&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités C++2c==&lt;br /&gt;
&lt;br /&gt;
{{Note| &amp;lt;code&amp;gt;C++2c&amp;lt;/code&amp;gt; devrait correspondre à C++26.}}&lt;br /&gt;
{{Note|[[BCC64X|BCC64X]] est actuellement en version préliminaire (Preview). Les informations ci-dessous correspondent à un objectif non testé et ne garantissent pas la prise en charge dans la version finale. BCC64X utilise C++17 comme niveau de langage par défaut, et la version initiale n&#039;est pas censée prendre en charge des langages de niveau supérieur. Pour compiler en C++2c, exécutez bcc64x avec &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;-std=c++2c&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.}}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;2&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Fonctionnalité&lt;br /&gt;
! Document de proposition C++ 2c&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[Compilateurs Win32 améliorés par Clang|BCC32C/X]]&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[BCC64|BCC64]]&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[BCC64X|BCC64X]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; | Supprimer le comportement non défini lors de l’analyse lexicale&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[https://wg21.link/P2621R2 P2621R2]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; | Rendre les littéraux de chaîne non encodables mal formés&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[https://wg21.link/P1854R4 P1854R4]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; | Chaînes non évaluées&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[https://wg21.link/P2361R6 P2361R6]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; | Ajouter @, $, et ` à l&#039;ensemble de caractères de base&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[https://wg21.link/P2558R2 P2558R2]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; | Transtyper constexpr à partir de void*&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[https://wg21.link/P2738R1 P2738R1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; | Ignorabilité des attributs standard&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[https://wg21.link/P2552R3 P2552R3]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; | Stockage statique pour les initialisateurs entre accolades&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[https://wg21.link/P2752R3 P2752R3]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; | Messages static_assert générés par l&#039;utilisateur&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[https://wg21.link/P2741R3 P2741R3]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; | Variables de remplacement sans nom&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[https://wg21.link/P2169R4 P2169R4]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités C++23==&lt;br /&gt;
&lt;br /&gt;
{{Note| C+23 est partiellement pris en charge par la version de Clang sur laquelle [[BCC64X|BCC64X]] est basé, ainsi que par les bibliothèques C+ RTL et STL (libc+) qu&#039;il utilise. Toutes les fonctionnalités de langage prises en charge par [https://clang.llvm.org/cxx_status.html Clang] et par [https://libcxx.llvm.org/Status/Cxx23.html libc+] dans les versions 15 et antérieures devraient être prises en charge et fonctionner correctement. Mais, il convient de nuancer cela par les restrictions propres à une version préliminaire (Preview). En effet, aucune prise en charge officielle n&#039;est garantie. Le compilateur [[BCC64X|BCC64X]] visant actuellement C+17 comme standard de langage, vous pouvez utiliser &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;-std=c++23&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; pour modifier le niveau de conformité du langage cible. }}&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités C++20==&lt;br /&gt;
&lt;br /&gt;
{{Note| C+20 est partiellement pris en charge par la version de Clang sur laquelle [[BCC64X|BCC64X]] est basé, ainsi que par les bibliothèques C+ RTL et STL (libc+) qu&#039;il utilise. Toutes les fonctionnalités de langage prises en charge par [https://clang.llvm.org/cxx_status.html Clang] et par [https://libcxx.llvm.org/Status/Cxx20.html libc+] dans les versions 15 et antérieures devraient être prises en charge et fonctionner correctement. Mais, il convient de nuancer cela par les restrictions propres à une version préliminaire (Preview). En effet, aucune prise en charge officielle n&#039;est garantie. Le compilateur [[BCC64X|BCC64X]] visant actuellement C+17 comme standard de langage, vous pouvez utiliser &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;-std=c++20&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; pour modifier le niveau de conformité du langage cible. }}&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités C++17==&lt;br /&gt;
&lt;br /&gt;
{{Note|[[BCC64X|BCC64X]] est une version préliminaire (Preview). Les informations ci-dessous correspondent à un objectif non testé et ne garantissent pas la prise en charge dans la version finale.}}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;2&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Fonctionnalité&lt;br /&gt;
!Document de  proposition C++17&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[Compilateurs Win32 améliorés par Clang|BCC32C/X]]&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[BCC64|BCC64]]&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[BCC64X|BCC64X]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Nouvelles règles relatives à auto pour direct-list-initialization&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3922.html N3922]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |static_assert sans message&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3928.pdf N3928]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |typename dans un paramètre template template&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4051.html N4051]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Suppression des trigraphes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4086.html N4086]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Définition d&#039;espaces de nommage imbriqués&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4230.html N4230]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Attributs pour espaces de nommages et énumérateurs&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4266.html N4266]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Littéraux caractères u8&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4267.html N4267]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Autoriser l&#039;évaluation de constante pour tous les arguments template sans type&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4268.html N4268]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Expressions fold&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4295.html N4295]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Suppression du mot clé register devenu obsolète&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0001r1.html P0001R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Suppression de l&#039;opérateur ++(bool) obsolète&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0002r1.html P0002R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Suppression de spécifications d&#039;exceptions obsolètes dans C++17&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0003r5 P0003R5]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Inclure les spécifications d&#039;exception dans le système de type&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0012r1 P0012R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Initialisation des agrégats de classes avec les classes de base&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0017r1.html P0017R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Capture lambda de *this&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0018r3.html P0018R3]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Utilisation des espaces de nommage des attributs sans répétition&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0028r4 P0028R4]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Allocation mémoire dynamique pour des données sur-alignées&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0035r4 P0035R4]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Expressions fold unaires et packs de paramètres vides&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0036r0 P0036R0]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |__has_include dans les conditions du préprocesseur&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0061r1.html P0061R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Déduction d&#039;arguments de template pour les templates de classes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0091r3 P0091R3]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Paramètres de template sans type avec le type auto&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0127r2 P0127R2]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Elision de copie garantie&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0135r1 P0135R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Nouvelle spécification pour l&#039;héritage des constructeurs (DR1941 et al)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0136r1 P0136R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Remplacement des objets de classe contenant des membres de référence&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0137r1 P0137R1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Direct-list-initialization des énumérations&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0138r2.pdf P0138R2]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Ordre d&#039;évaluation des expressions plus strict&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0145r3 P0145R3]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Expressions lambda constexpr&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0170r1 P0170R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Types begin et end différents dans les boucles for basées sur un intervalle&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0184r0.html P0184R0]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Attribut &amp;lt;nowiki&amp;gt;[[fallthrough]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0188r1.pdf P0188R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Attribut &amp;lt;nowiki&amp;gt;[[nodiscard]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0189r1.pdf P0189R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Extensions de packs dans les déclarations using&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0195r2 P0195R2]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Attribut &amp;lt;nowiki&amp;gt;[[maybe_unused]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0212r1.pdf P0212R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Liaisons structurées&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0217r3 P0217R3]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Littéraux hexadécimaux à virgule flottante&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0245r1 P0245R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Ignorer les attributs inconnus&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0283r2 P0283R2]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Instructions if constexpr&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0292r2 P0292R2]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Instructions init pour if et switch&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0305r1 P0305R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Variables inline&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0386r2 P0386R2]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |DR :  La mise en correspondance d&#039;arguments template template exclut les templates compatibles&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0522r0 P0522R0]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::uncaught_exceptions()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4259 N4259]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Amélioration de std::pair et std::tuple&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4387.html N4387]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::any&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0220r1 P0220R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::variant&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0088r3 P0088R3]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::optional&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0220r1 P0220R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::shared_mutex (untimed)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4508.html N4508]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::string_view&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3921.html N3921]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Standardisation du parallélisme TS&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0024r2.html P0024R2]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Conversions de chaînes élémentaires&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0067r5.html P0067R5]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Fonctions mathématiques spéciales&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0226r1.pdf P0226R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Transferts d&#039;ensembles et de cartes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0083r3 P0083R3]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Taille d&#039;interférence matérielle&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0154r1 P0154R1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::filesystem&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0218r1.html P0218R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::byte&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0298r3 P0298R3]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités C++14==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;2&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Fonctionnalité&lt;br /&gt;
!Document de proposition C++14&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[Compilateurs Win32 améliorés par Clang|BCC32C/X]]&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[BCC64|BCC64]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Formulation ajustée pour les conversions textuelles&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3323.pdf N3323]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Littéraux binaires&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3472.pdf N3472]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |decltype(auto), déduction du type de retour pour les fonctions normales&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3638.html N3638]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Captures lamba initilisées/généralisées (init-capture)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3648.html N3648]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Expressions lambda (polymorphiques) génériques&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3649.html N3649]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Templates de variables&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3651.pdf N3651]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Constexpr étendu&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3652.html N3652]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Initialiseurs de membres et agrégats (NSDMI)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html N3653]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Clarification de l&#039;allocation mémoire (en évitant/fusionnant les allocations)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3664.html N3664]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Attribut &amp;lt;nowiki&amp;gt;[[deprecated]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html N3760]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Désallocation dimensionnée&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3778.html N3768]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Guillemet simple utilisé comme séparateur numérique&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3781.pdf N3781]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::result_of et SFINAE&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3462.html N3462]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |constexpr pour &amp;amp;amp;lt;complex&amp;amp;amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3302.html N3302]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |constexpr pour &amp;amp;amp;lt;chrono&amp;amp;amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3469.html N3469]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |constexpr pour &amp;amp;amp;lt;array&amp;amp;amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3470.html N3470]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |constexpr pour &amp;amp;amp;lt;initializer_list&amp;amp;amp;gt;, &amp;amp;amp;lt;utility&amp;amp;amp;gt; et &amp;amp;amp;lt;tuple&amp;amp;amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3471.html N3471]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Amélioration de std::integral_constant&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3545.pdf N3545]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Littéraux définis par l&#039;utilisateur pour &amp;amp;amp;lt;chrono&amp;amp;amp;gt; et &amp;amp;amp;lt;string&amp;amp;amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3642.pdf N3642]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Itérateurs forward null&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3644.pdf N3644]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::quoted&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3654.html N3654]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Recherche associative hétérogène&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3657.htm N3657]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::integer_sequence&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3658.html N3658]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::shared_timed_mutex&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3659.html N3659]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::exchange&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3668.html N3668]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Résolution des fonctions membre constexpr sans const&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3669.pdf N3669]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::get&amp;amp;amp;lt;T&amp;amp;amp;gt;()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3670.html N3670]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::equal, std::is_permutation, std::mismatch à double plage&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3671.html N3671]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités C++11==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2.5&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;2&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Fonctionnalité&lt;br /&gt;
!Document de &amp;lt;br /&amp;gt; proposition C++11&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[Compilateurs Win32 améliorés par Clang|BCC32C/X]]&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[BCC32|BCC32]]&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[BCC64|BCC64]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Références rvalue&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html N2118]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Références rvalue pour &amp;lt;code&amp;gt;*this&amp;lt;/code&amp;gt;&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm N2439]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Initialisation des objets de classe par rvalues&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1610.html N1610]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Initialiseurs de membres de données non statiques&lt;br /&gt;
|[http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2756.htm N2756]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Templates variadic&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf N2242]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Extension des paramètres template de modèle variadic&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2555.pdf N2555]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Liste d&#039;initialiseurs&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm N2672]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Assertions statiques&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html N1720]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Variables &amp;lt;code&amp;gt;auto&amp;lt;/code&amp;gt;-typées&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf N1984]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Multi-déclarateur &amp;lt;code&amp;gt;auto&amp;lt;/code&amp;gt;&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1737.pdf N1737]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Suppression de auto comme spécificateur de classe de stockage&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2546.htm N2546]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Nouvelle syntaxe de déclarateur de fonction&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm N2541]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |&amp;lt;span id=&amp;quot;lambda&amp;quot;&amp;gt;Expressions lambda&amp;lt;/span&amp;gt;&lt;br /&gt;
|[http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2927.pdf N2927]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Type déclaré d&#039;une expression&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf N2343]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Types de retour incomplets&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf N3276]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Crochets droits&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html N1757]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Arguments de template par défaut pour les templates de fonctions&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#226 DR226]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Résolution du problème SFINAE pour les expressions&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2634.html DR339]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Templates d&#039;alias&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf N2258]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Templates extern&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm N1987]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Constante pointeur null&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf N2431]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Enumérations fortement typées&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf N2347]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Déclaration forward des énumérations&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf N2764] &amp;lt;br /&amp;gt; [http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1206 DR1206]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Syntaxe des attributs standardisés&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf N2761]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Expressions constantes généralisées&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf N2235]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Support de l&#039;alignement&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf N2341]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Comportement support conditionnel&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1627.pdf N1627]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Changement du comportement non défini en erreurs diagnosticables&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1727.pdf N1727]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Délégation de constructeurs&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf N1986]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Constructeurs d&#039;héritage&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm N2540]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Opérateurs de conversion explicite&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf N2437]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Nouveaux types de caractères&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2249.html N2249]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Littéraux chaîne Unicode&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm N2442]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Littéraux chaîne brute&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm N2442]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Noms de caractères universels dans les littéraux&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2170.html N2170]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Littéraux définis par l&#039;utilisateur&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf N2765]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Types de disposition standard&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2342.htm N2342]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Fonctions par défaut&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm N2346]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Fonctions supprimées&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm N2346]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Déclarations friend étendues&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf N1791]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Extension de &amp;lt;code&amp;gt;sizeof&amp;lt;/code&amp;gt;&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2253.html N2253] &amp;lt;br /&amp;gt; [http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#850 DR850]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Espaces de nommage inline&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.htm N2535]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Unions non restreintes&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf N2544]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Types locaux et non nommés comme arguments de template&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm N2657]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Boucle for basée sur l&#039;étendue&lt;br /&gt;
|[http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2930.html N2930]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Redéfinitions explicites de virtual&lt;br /&gt;
|[http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm N2928] &amp;lt;br /&amp;gt; [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm N3206] &amp;lt;br /&amp;gt; [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm N3272]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Support minimal du nettoyage de la mémoire et de la détection de perte basée sur l&#039;accessibilité&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2670.htm N2670]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Autoriser les constructeurs de déplacement à déclencher une exception [noexcept]&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html N3050]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Définition de fonctions membre spéciales de déplacement&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html N3053]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; style=&amp;quot;text-align:center; background-color:white&amp;quot; |&#039;&#039;&#039;Accès concurrent&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Points de séquence&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html N2239]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Opérations atomiques&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2427.html N2427]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Opération comparer-échanger forte&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2748.html N2748]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Délimitations bidirectionnelles&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2752.htm N2752]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Modèle de mémoire&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2429.htm N2429]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Ordre dépendant des données : opérations atomiques et modèle de mémoire&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm N2664]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Propagation des exceptions&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html N2179]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Autoriser l&#039;usage des opérations atomiques dans les gestionnaires de signaux&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2547.htm N2547]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Stockage local des threads&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm N2659]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Initialisation dynamique et destruction avec accès concurrent&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2660.htm N2660]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; style=&amp;quot;text-align:center; background-color:white&amp;quot; |&#039;&#039;&#039;Fonctionnalités C99 dans C++11&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Identificateur prédéfini &amp;lt;code&amp;gt;__func__&amp;lt;/code&amp;gt;&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2340.htm N2340]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Préprocesseur C99&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm N1653]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Type &amp;lt;code&amp;gt;long long&amp;lt;/code&amp;gt;&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf N1811]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Types intégraux étendus&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1988.pdf N1988]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Fonctionnalités du C++ moderne prises en charge par les compilateurs C++ améliorés par Clang de RAD Studio|Fonctionnalités du C++ moderne prises en charge par les compilateurs C++ améliorés par Clang de RAD Studio]]&lt;br /&gt;
*[[Solution pour les attributs C++11|Solution pour les attributs C++11 (Compilateurs C++ améliorés par Clang)]]&lt;br /&gt;
*[[Fonctionnalités C++11 - Index|Fonctionnalités C++11 dans le compilateur Classique]]&lt;br /&gt;
&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Statut_de_conformit%C3%A9_des_fonctionnalit%C3%A9s_du_langage_C%2B%2B_moderne&amp;diff=218907</id>
		<title>Statut de conformité des fonctionnalités du langage C++ moderne</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Statut_de_conformit%C3%A9_des_fonctionnalit%C3%A9s_du_langage_C%2B%2B_moderne&amp;diff=218907"/>
		<updated>2026-05-09T03:34:51Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|C++ moderne}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici ci-dessous la liste des fonctionnalités du C++ moderne qui sont prises en charge par les [[Compilateurs C++|compilateurs C++ de {{Product}}]].&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités C++2c==&lt;br /&gt;
&lt;br /&gt;
{{Note| &amp;lt;code&amp;gt;C++2c&amp;lt;/code&amp;gt; devrait correspondre à C++26.}}&lt;br /&gt;
{{Note|[[BCC64X|BCC64X]] est actuellement en version préliminaire (Preview). Les informations ci-dessous correspondent à un objectif non testé et ne garantissent pas la prise en charge dans la version finale. BCC64X utilise C++17 comme niveau de langage par défaut, et la version initiale n&#039;est pas censée prendre en charge des langages de niveau supérieur. Pour compiler en C++2c, exécutez bcc64x avec &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;-std=c++2c&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.}}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;2&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Fonctionnalité&lt;br /&gt;
! Document de proposition C++ 2c&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[Compilateurs Win32 améliorés par Clang|BCC32C/X]]&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[BCC64|BCC64]]&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[BCC64X|BCC64X]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; | Supprimer le comportement non défini lors de l’analyse lexicale&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[https://wg21.link/P2621R2 P2621R2]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; | Rendre les littéraux de chaîne non encodables mal formés&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[https://wg21.link/P1854R4 P1854R4]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; | Chaînes non évaluées&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[https://wg21.link/P2361R6 P2361R6]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; | Ajouter @, $, et ` à l&#039;ensemble de caractères de base&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[https://wg21.link/P2558R2 P2558R2]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; | Transtyper constexpr à partir de void*&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[https://wg21.link/P2738R1 P2738R1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; | Ignorabilité des attributs standard&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[https://wg21.link/P2552R3 P2552R3]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; | Stockage statique pour les initialisateurs entre accolades&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[https://wg21.link/P2752R3 P2752R3]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; | Messages static_assert générés par l&#039;utilisateur&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[https://wg21.link/P2741R3 P2741R3]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; | Variables de remplacement sans nom&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[https://wg21.link/P2169R4 P2169R4]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités C++23==&lt;br /&gt;
&lt;br /&gt;
{{Note| C+23 est partiellement pris en charge par la version de Clang sur laquelle [[BCC64X|BCC64X]] est basé, ainsi que par les bibliothèques C+ RTL et STL (libc+) qu&#039;il utilise. Toutes les fonctionnalités de langage prises en charge par [https://clang.llvm.org/cxx_status.html Clang] et par [https://libcxx.llvm.org/Status/Cxx23.html libc+] dans les versions 15 et antérieures devraient être prises en charge et fonctionner correctement. Mais, il convient de nuancer cela par les restrictions propres à une version préliminaire (Preview). En effet, aucune prise en charge officielle n&#039;est garantie. Le compilateur [[BCC64X|BCC64X]] visant actuellement C+17 comme standard de langage, vous pouvez utiliser &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;-std=c++23&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; pour modifier le niveau de conformité du langage cible. }}&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités C++20==&lt;br /&gt;
&lt;br /&gt;
{{Note| C+20 est partiellement pris en charge par la version de Clang sur laquelle [[BCC64X|BCC64X]] est basé, ainsi que par les bibliothèques C+ RTL et STL (libc+) qu&#039;il utilise. Toutes les fonctionnalités de langage prises en charge par [https://clang.llvm.org/cxx_status.html Clang] et par [https://libcxx.llvm.org/Status/Cxx20.html libc+] dans les versions 15 et antérieures devraient être prises en charge et fonctionner correctement. Mais, il convient de nuancer cela par les restrictions propres à une version préliminaire (Preview). En effet, aucune prise en charge officielle n&#039;est garantie. Le compilateur [[BCC64X|BCC64X]] visant actuellement C+17 comme standard de langage, vous pouvez utiliser &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;-std=c++20&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; pour modifier le niveau de conformité du langage cible. }}&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités C++17==&lt;br /&gt;
&lt;br /&gt;
{{Note|[[BCC64X|BCC64X]] est une version préliminaire (Preview). Les informations ci-dessous correspondent à un objectif non testé et ne garantissent pas la prise en charge dans la version finale.}}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;2&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Fonctionnalité&lt;br /&gt;
!Document de  proposition C++17&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[Compilateurs Win32 améliorés par Clang|BCC32C/X]]&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[BCC64|BCC64]]&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[BCC64X|BCC64X]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Nouvelles règles relatives à auto pour direct-list-initialization&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3922.html N3922]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |static_assert sans message&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3928.pdf N3928]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |typename dans un paramètre template template&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4051.html N4051]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Suppression des trigraphes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4086.html N4086]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Définition d&#039;espaces de nommage imbriqués&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4230.html N4230]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Attributs pour espaces de nommages et énumérateurs&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4266.html N4266]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Littéraux caractères u8&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4267.html N4267]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Autoriser l&#039;évaluation de constante pour tous les arguments template sans type&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4268.html N4268]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Expressions fold&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4295.html N4295]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Suppression du mot clé register devenu obsolète&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0001r1.html P0001R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Suppression de l&#039;opérateur ++(bool) obsolète&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0002r1.html P0002R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Suppression de spécifications d&#039;exceptions obsolètes dans C++17&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0003r5 P0003R5]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Inclure les spécifications d&#039;exception dans le système de type&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0012r1 P0012R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Initialisation des agrégats de classes avec les classes de base&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0017r1.html P0017R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Capture lambda de *this&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0018r3.html P0018R3]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Utilisation des espaces de nommage des attributs sans répétition&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0028r4 P0028R4]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Allocation mémoire dynamique pour des données sur-alignées&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0035r4 P0035R4]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Expressions fold unaires et packs de paramètres vides&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0036r0 P0036R0]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |__has_include dans les conditions du préprocesseur&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0061r1.html P0061R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Déduction d&#039;arguments de template pour les templates de classes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0091r3 P0091R3]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Paramètres de template sans type avec le type auto&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0127r2 P0127R2]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Elision de copie garantie&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0135r1 P0135R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Nouvelle spécification pour l&#039;héritage des constructeurs (DR1941 et al)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0136r1 P0136R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Remplacement des objets de classe contenant des membres de référence&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0137r1 P0137R1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Direct-list-initialization des énumérations&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0138r2.pdf P0138R2]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Ordre d&#039;évaluation des expressions plus strict&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0145r3 P0145R3]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Expressions lambda constexpr&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0170r1 P0170R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Types begin et end différents dans les boucles for basées sur un intervalle&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0184r0.html P0184R0]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Attribut &amp;lt;nowiki&amp;gt;[[fallthrough]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0188r1.pdf P0188R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Attribut &amp;lt;nowiki&amp;gt;[[nodiscard]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0189r1.pdf P0189R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Extensions de packs dans les déclarations using&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0195r2 P0195R2]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Attribut &amp;lt;nowiki&amp;gt;[[maybe_unused]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0212r1.pdf P0212R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Liaisons structurées&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0217r3 P0217R3]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Littéraux hexadécimaux à virgule flottante&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0245r1 P0245R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Ignorer les attributs inconnus&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0283r2 P0283R2]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Instructions if constexpr&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0292r2 P0292R2]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Instructions init pour if et switch&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0305r1 P0305R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Variables inline&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0386r2 P0386R2]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |DR :  La mise en correspondance d&#039;arguments template template exclut les templates compatibles&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0522r0 P0522R0]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::uncaught_exceptions()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4259 N4259]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Amélioration de std::pair et std::tuple&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4387.html N4387]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::any&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0220r1 P0220R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::variant&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0088r3 P0088R3]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::optional&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0220r1 P0220R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::shared_mutex (untimed)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4508.html N4508]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::string_view&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3921.html N3921]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Standardisation du parallélisme TS&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0024r2.html P0024R2]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Conversions de chaînes élémentaires&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0067r5.html P0067R5]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Fonctions mathématiques spéciales&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0226r1.pdf P0226R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Transferts d&#039;ensembles et de cartes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0083r3 P0083R3]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Taille d&#039;interférence matérielle&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0154r1 P0154R1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::filesystem&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0218r1.html P0218R1]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::byte&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://wg21.link/p0298r3 P0298R3]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités C++14==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;2&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Fonctionnalité&lt;br /&gt;
!Document de proposition C++14&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[Compilateurs Win32 améliorés par Clang|BCC32C/X]]&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[BCC64|BCC64]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Formulation ajustée pour les conversions textuelles&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3323.pdf N3323]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Littéraux binaires&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3472.pdf N3472]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |decltype(auto), déduction du type de retour pour les fonctions normales&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3638.html N3638]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Captures lamba initilisées/généralisées (init-capture)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3648.html N3648]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Expressions lambda (polymorphiques) génériques&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3649.html N3649]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Templates de variables&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3651.pdf N3651]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Constexpr étendu&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3652.html N3652]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Initialiseurs de membres et agrégats (NSDMI)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html N3653]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Clarification de l&#039;allocation mémoire (en évitant/fusionnant les allocations)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3664.html N3664]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Attribut &amp;lt;nowiki&amp;gt;[[deprecated]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html N3760]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Désallocation dimensionnée&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3778.html N3768]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Guillemet simple utilisé comme séparateur numérique&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3781.pdf N3781]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::result_of et SFINAE&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3462.html N3462]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |constexpr pour &amp;amp;amp;lt;complex&amp;amp;amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3302.html N3302]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |constexpr pour &amp;amp;amp;lt;chrono&amp;amp;amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3469.html N3469]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |constexpr pour &amp;amp;amp;lt;array&amp;amp;amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3470.html N3470]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |constexpr pour &amp;amp;amp;lt;initializer_list&amp;amp;amp;gt;, &amp;amp;amp;lt;utility&amp;amp;amp;gt; et &amp;amp;amp;lt;tuple&amp;amp;amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3471.html N3471]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Amélioration de std::integral_constant&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3545.pdf N3545]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Littéraux définis par l&#039;utilisateur pour &amp;amp;amp;lt;chrono&amp;amp;amp;gt; et &amp;amp;amp;lt;string&amp;amp;amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3642.pdf N3642]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Itérateurs forward null&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3644.pdf N3644]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::quoted&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3654.html N3654]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Recherche associative hétérogène&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3657.htm N3657]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::integer_sequence&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3658.html N3658]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::shared_timed_mutex&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3659.html N3659]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::exchange&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3668.html N3668]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Résolution des fonctions membre constexpr sans const&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3669.pdf N3669]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::get&amp;amp;amp;lt;T&amp;amp;amp;gt;()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3670.html N3670]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |std::equal, std::is_permutation, std::mismatch à double plage&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3671.html N3671]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités C++11==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2.5&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;2&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Fonctionnalité&lt;br /&gt;
!Document de &amp;lt;br /&amp;gt; proposition C++11&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[Compilateurs Win32 améliorés par Clang|BCC32C/X]]&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[BCC32|BCC32]]&lt;br /&gt;
! style=&amp;quot;padding: 0px 5px;&amp;quot; |[[BCC64|BCC64]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Références rvalue&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html N2118]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Références rvalue pour &amp;lt;code&amp;gt;*this&amp;lt;/code&amp;gt;&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm N2439]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Initialisation des objets de classe par rvalues&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1610.html N1610]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Initialiseurs de membres de données non statiques&lt;br /&gt;
|[http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2756.htm N2756]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Templates variadic&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf N2242]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Extension des paramètres template de modèle variadic&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2555.pdf N2555]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Liste d&#039;initialiseurs&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm N2672]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Assertions statiques&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html N1720]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Variables &amp;lt;code&amp;gt;auto&amp;lt;/code&amp;gt;-typées&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf N1984]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Multi-déclarateur &amp;lt;code&amp;gt;auto&amp;lt;/code&amp;gt;&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1737.pdf N1737]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Suppression de auto comme spécificateur de classe de stockage&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2546.htm N2546]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Nouvelle syntaxe de déclarateur de fonction&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm N2541]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |&amp;lt;span id=&amp;quot;lambda&amp;quot;&amp;gt;Expressions lambda&amp;lt;/span&amp;gt;&lt;br /&gt;
|[http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2927.pdf N2927]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Type déclaré d&#039;une expression&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf N2343]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Types de retour incomplets&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf N3276]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Crochets droits&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html N1757]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Arguments de template par défaut pour les templates de fonctions&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#226 DR226]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Résolution du problème SFINAE pour les expressions&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2634.html DR339]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Templates d&#039;alias&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf N2258]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Templates extern&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm N1987]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Constante pointeur null&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf N2431]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Enumérations fortement typées&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf N2347]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Déclaration forward des énumérations&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf N2764] &amp;lt;br /&amp;gt; [http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1206 DR1206]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Syntaxe des attributs standardisés&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf N2761]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Expressions constantes généralisées&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf N2235]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Support de l&#039;alignement&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf N2341]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Comportement support conditionnel&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1627.pdf N1627]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Changement du comportement non défini en erreurs diagnosticables&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1727.pdf N1727]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Délégation de constructeurs&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf N1986]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Constructeurs d&#039;héritage&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm N2540]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Opérateurs de conversion explicite&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf N2437]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Nouveaux types de caractères&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2249.html N2249]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Littéraux chaîne Unicode&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm N2442]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Littéraux chaîne brute&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm N2442]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Noms de caractères universels dans les littéraux&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2170.html N2170]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Littéraux définis par l&#039;utilisateur&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf N2765]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Types de disposition standard&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2342.htm N2342]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Fonctions par défaut&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm N2346]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Fonctions supprimées&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm N2346]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Déclarations friend étendues&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf N1791]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Extension de &amp;lt;code&amp;gt;sizeof&amp;lt;/code&amp;gt;&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2253.html N2253] &amp;lt;br /&amp;gt; [http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#850 DR850]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Espaces de nommage inline&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.htm N2535]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Unions non restreintes&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf N2544]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Types locaux et non nommés comme arguments de template&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm N2657]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Boucle for basée sur l&#039;étendue&lt;br /&gt;
|[http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2930.html N2930]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Redéfinitions explicites de virtual&lt;br /&gt;
|[http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm N2928] &amp;lt;br /&amp;gt; [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm N3206] &amp;lt;br /&amp;gt; [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm N3272]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Support minimal du nettoyage de la mémoire et de la détection de perte basée sur l&#039;accessibilité&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2670.htm N2670]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Autoriser les constructeurs de déplacement à déclencher une exception [noexcept]&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html N3050]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Définition de fonctions membre spéciales de déplacement&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html N3053]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; style=&amp;quot;text-align:center; background-color:white&amp;quot; |&#039;&#039;&#039;Accès concurrent&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Points de séquence&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html N2239]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Opérations atomiques&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2427.html N2427]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Opération comparer-échanger forte&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2748.html N2748]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Délimitations bidirectionnelles&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2752.htm N2752]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Modèle de mémoire&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2429.htm N2429]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Ordre dépendant des données : opérations atomiques et modèle de mémoire&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm N2664]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Propagation des exceptions&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html N2179]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Autoriser l&#039;usage des opérations atomiques dans les gestionnaires de signaux&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2547.htm N2547]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Stockage local des threads&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm N2659]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Initialisation dynamique et destruction avec accès concurrent&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2660.htm N2660]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; style=&amp;quot;text-align:center; background-color:white&amp;quot; |&#039;&#039;&#039;Fonctionnalités C99 dans C++11&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Identificateur prédéfini &amp;lt;code&amp;gt;__func__&amp;lt;/code&amp;gt;&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2340.htm N2340]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Préprocesseur C99&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm N1653]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Type &amp;lt;code&amp;gt;long long&amp;lt;/code&amp;gt;&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf N1811]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|{{V}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:35px&amp;quot; |Types intégraux étendus&lt;br /&gt;
|[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1988.pdf N1988]&lt;br /&gt;
|{{V}}&lt;br /&gt;
|&lt;br /&gt;
|{{V}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Fonctionnalités du C++ moderne prises en charge par les compilateurs C++ améliorés par Clang de RAD Studio|Fonctionnalités du C++ moderne prises en charge par les compilateurs C++ améliorés par Clang de RAD Studio]]&lt;br /&gt;
*[[Solution pour les attributs C++11|Solution pour les attributs C++11 (Compilateurs C++ améliorés par Clang)]]&lt;br /&gt;
*[[Fonctionnalités C++11 - Index|Fonctionnalités C++11 dans le compilateur Classique]]&lt;br /&gt;
&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=BCC64X.EXE,_le_compilateur_C%2B%2B_Windows_64_bits&amp;diff=218906</id>
		<title>BCC64X.EXE, le compilateur C++ Windows 64 bits</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=BCC64X.EXE,_le_compilateur_C%2B%2B_Windows_64_bits&amp;diff=218906"/>
		<updated>2026-05-09T03:34:51Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Interfaces de ligne de commande des compilateurs C++ améliorés par Clang}}&lt;br /&gt;
&lt;br /&gt;
{{Path|BCC64X.EXE}} est l&#039;interface de ligne de commande pour [[BCC64X|BCC64X]], le compilateur C++ pour Windows 64 bits.&lt;br /&gt;
&lt;br /&gt;
Voir [[BCC64X|BCC64X]] pour plus d&#039;informations sur le compilateur.&lt;br /&gt;
&lt;br /&gt;
Voir les &#039;&#039;&#039;[[Interfaces de ligne de commande des compilateurs C++ améliorés par Clang|Interfaces de ligne de commande des compilateurs C++ améliorés par Clang]]&#039;&#039;&#039; pour connaître les points communs entre l&#039;interface de ligne de commande {{Path|BCC64X.EXE}} et les autres interfaces de ligne de commande des compilateurs C++ améliorés par Clang.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[BCC64X|BCC64X]]&lt;br /&gt;
*[[C++Builder 64-bit Windows (Modern) Application Development|Développement d&#039;applications C++ Builder Windows 64 bits (Moderne)]]&lt;br /&gt;
**[[Mise à niveau des projets C++ existants vers Windows 64 bits|Mise à niveau des projets C++ existants vers Windows 64 bits]]&lt;br /&gt;
**[[Débogage des applications C++ Builder Windows 64 bits|Débogage des applications C++ Builder Windows 64 bits]]&lt;br /&gt;
* [[Application Hello World Windows 64 bits (Delphi et C++)|Application &amp;quot;Hello World&amp;quot; Windows 64 bits ({{Delphi}} et C++)]]&lt;br /&gt;
*[[Liaison d&#039;une application Hello World C++ Windows 64 bits|Liaison d&#039;une application Hello World C++ Windows 64 bits]]&lt;br /&gt;
*[[CPP64, le préprocesseur pour Windows 64 bits|CPP64, le préprocesseur pour Windows 64 bits]]&lt;br /&gt;
*[[MKEXP.EXE, l&#039;outil bibliothèque d&#039;importation Windows 64 bits pour C++|MKEXP.EXE, l&#039;outil bibliothèque d&#039;importation Windows 64 bits pour C++]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=BCC64X.EXE,_le_compilateur_C%2B%2B_Windows_64_bits&amp;diff=218905</id>
		<title>BCC64X.EXE, le compilateur C++ Windows 64 bits</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=BCC64X.EXE,_le_compilateur_C%2B%2B_Windows_64_bits&amp;diff=218905"/>
		<updated>2026-05-09T03:34:51Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Interfaces de ligne de commande des compilateurs C++ améliorés par Clang}}&lt;br /&gt;
&lt;br /&gt;
{{Path|BCC64X.EXE}} est l&#039;interface de ligne de commande pour [[BCC64X|BCC64X]], le compilateur C++ pour Windows 64 bits.&lt;br /&gt;
&lt;br /&gt;
Voir [[BCC64X|BCC64X]] pour plus d&#039;informations sur le compilateur.&lt;br /&gt;
&lt;br /&gt;
Voir les &#039;&#039;&#039;[[Interfaces de ligne de commande des compilateurs C++ améliorés par Clang|Interfaces de ligne de commande des compilateurs C++ améliorés par Clang]]&#039;&#039;&#039; pour connaître les points communs entre l&#039;interface de ligne de commande {{Path|BCC64X.EXE}} et les autres interfaces de ligne de commande des compilateurs C++ améliorés par Clang.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[BCC64X|BCC64X]]&lt;br /&gt;
*[[C++Builder 64-bit Windows (Modern) Application Development|Développement d&#039;applications C++ Builder Windows 64 bits (Moderne)]]&lt;br /&gt;
**[[Mise à niveau des projets C++ existants vers Windows 64 bits|Mise à niveau des projets C++ existants vers Windows 64 bits]]&lt;br /&gt;
**[[Débogage des applications C++ Builder Windows 64 bits|Débogage des applications C++ Builder Windows 64 bits]]&lt;br /&gt;
* [[Application Hello World Windows 64 bits (Delphi et C++)|Application &amp;quot;Hello World&amp;quot; Windows 64 bits ({{Delphi}} et C++)]]&lt;br /&gt;
*[[Liaison d&#039;une application Hello World C++ Windows 64 bits|Liaison d&#039;une application Hello World C++ Windows 64 bits]]&lt;br /&gt;
*[[CPP64, le préprocesseur pour Windows 64 bits|CPP64, le préprocesseur pour Windows 64 bits]]&lt;br /&gt;
*[[MKEXP.EXE, l&#039;outil bibliothèque d&#039;importation Windows 64 bits pour C++|MKEXP.EXE, l&#039;outil bibliothèque d&#039;importation Windows 64 bits pour C++]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Le_pr%C3%A9processeur_-_Index&amp;diff=218904</id>
		<title>Le préprocesseur - Index</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Le_pr%C3%A9processeur_-_Index&amp;diff=218904"/>
		<updated>2026-05-09T03:34:50Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Guide du langage C++ - Index}}&lt;br /&gt;
Cette section contient les rubriques relatives au préprocesseur {{CBuilder}}.&lt;br /&gt;
&lt;br /&gt;
Le préprocesseur est un traitement de texte qui effectue des opérations préliminaires sur les fichiers C et C++ avant de les transmettre au compilateur. Le compilateur C++Builder invoque normalement le préprocesseur dans sa première passe pour convertir le texte d&#039;un fichier source en tant que partie de la première phase de la conversion. Vous pouvez aussi invoquer le préprocesseur séparément, avec le [[CPP32.EXE, le préprocesseur du compilateur C|préprocesseur CPP32.EXE en ligne de commande]], pour traiter le texte sans compilation. Vous pouvez utiliser le préprocesseur pour insérer des fichiers, compiler conditionnellement du code, appliquer des substitutions de macro, spécifier des messages d&#039;erreur de compilation et appliquer les règles spécifiques à la machine aux sections de code.&lt;br /&gt;
&lt;br /&gt;
==Invocation du préprocesseur C++==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Compilateur C++&lt;br /&gt;
  &lt;br /&gt;
! Plate-forme&lt;br /&gt;
! Opération&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[Compilateurs Win32 améliorés par Clang|BCC32C]]&lt;br /&gt;
| Windows 32 bits&lt;br /&gt;
|&amp;lt;code&amp;gt;-c- Xclang&amp;lt;/code&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[Compilateurs Win32 améliorés par Clang|BCC32X]]&lt;br /&gt;
| Windows 32 bits&lt;br /&gt;
|&amp;lt;code&amp;gt;-E&amp;lt;/code&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCC64|BCC64]]&lt;br /&gt;
| Windows 64 bits&lt;br /&gt;
|&amp;lt;code&amp;gt;-E&amp;lt;/code&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCC64X|BCC64X]]&lt;br /&gt;
| Windows 64 bits&lt;br /&gt;
|&amp;lt;code&amp;gt;-E&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;--preprocess&amp;lt;/code&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCCIOSARM64|BCCIOSARM64]]&lt;br /&gt;
| iOS 64 bits&lt;br /&gt;
|&amp;lt;code&amp;gt;-E&amp;lt;/code&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCCAARM|BCCAARM]]&lt;br /&gt;
|Android&lt;br /&gt;
|&amp;lt;code&amp;gt;-E&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Note| Pour [[Compilateurs Win32 améliorés par Clang|BCC32C]], certaines opérations peuvent être acceptées et ignorées silencieusement.}}&lt;br /&gt;
&lt;br /&gt;
==Invocation du préprocesseur C++ avec les interfaces de ligne de commande des compilateurs C++ Windows==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Plate-forme&lt;br /&gt;
! Compilateur classique&lt;br /&gt;
! [[Interfaces de ligne de commande des compilateurs C++ améliorés par Clang|Compilateur basé sur Clang]]&lt;br /&gt;
! Prétraitement&lt;br /&gt;
! Notes&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Windows 32 bits&lt;br /&gt;
|&lt;br /&gt;
|    [[BCC32C.EXE|BCC32C.EXE]]&lt;br /&gt;
|&amp;lt;code&amp;gt;cpp32.exe test.cpp&amp;lt;/code&amp;gt;&lt;br /&gt;
| Crée &amp;lt;code&amp;gt;test.i&amp;lt;/code&amp;gt; avec la sortie prétraitée.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|    [[BCC32C.EXE|BCC32C.EXE]]&lt;br /&gt;
|&amp;lt;code&amp;gt;bcc32x -E test.cpp &amp;lt;/code&amp;gt;&lt;br /&gt;
| Sortie prétraitée envoyée à stdout : utilisez -o &amp;amp;lt;file&amp;amp;gt; pour écrire la sortie dans un fichier.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCC32.EXE, le compilateur C++ 32 bits en ligne de commande|BCC32.EXE]]&lt;br /&gt;
|&lt;br /&gt;
|    &amp;lt;code&amp;gt;cpp32.exe test.cpp&amp;lt;/code&amp;gt;&lt;br /&gt;
| Crée &amp;lt;code&amp;gt;test.1&amp;lt;/code&amp;gt; avec la sortie prétraitée.&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
| Windows 64 bits&lt;br /&gt;
|&lt;br /&gt;
|    [[BCC64.EXE, le compilateur C++ Windows 64 bits|BCC64.EXE]]&lt;br /&gt;
|&amp;lt;code&amp;gt;bcc32x -E test.cpp &amp;lt;/code&amp;gt;&lt;br /&gt;
| Sortie prétraitée envoyée à stdout : utilisez -o &amp;amp;lt;file&amp;amp;gt; pour écrire la sortie dans un fichier.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Rubriques==&lt;br /&gt;
&lt;br /&gt;
*[[Directives du préprocesseur - Index|Directives du préprocesseur]]&lt;br /&gt;
**[[(directive null)|# (directive null)]]&lt;br /&gt;
**[[Include|Directive #include]]&lt;br /&gt;
**[[Error|Directive #error]]&lt;br /&gt;
**[[Line|Directive #line]]&lt;br /&gt;
**[[Import|Directive #import]]&lt;br /&gt;
**&lt;br /&gt;
[[Présentation de la compilation conditionnelle - Index|Directives de compilation conditionnelle]]&lt;br /&gt;
***[[If, elif, else et endif|Utilisation de #if, #elif, #else et #endif]]&lt;br /&gt;
***[[Defined|Opérateur defined]]&lt;br /&gt;
***[[Ifdef et ifndef|Utilisation de #ifdef et #ifndef]]&lt;br /&gt;
*[[Définition et annulation de la définition des macros - Index|Définition et annulation de la définition des macros]]&lt;br /&gt;
**[[Define|#define]]&lt;br /&gt;
**[[Undef|#undef]]&lt;br /&gt;
**[[Utilisation des options de ligne de commande -D et -U|Utilisation des options de ligne de commande -D et -U]]&lt;br /&gt;
**[[Mots clés et mots protégés dans les macros|Mots clés et mots protégés dans les macros]]&lt;br /&gt;
**[[Fusion de tokens avec|Fusion de tokens avec l&#039;opérateur ##]]&lt;br /&gt;
* [[Macros avec paramètres|Macros avec paramètres (C++)]]&lt;br /&gt;
*[[Macros prédéfinies|Macros prédéfinies]]&lt;br /&gt;
*[[Macros de compatibilité Delphi|Macros de compatibilité Delphi]]&lt;br /&gt;
*[[Utilisation de la barre oblique inversée de poursuite de ligne|Utilisation de la barre oblique inversée (\) de poursuite de ligne]]&lt;br /&gt;
*[[Présentation des directives pragma - Index|Directives #pragma]]&lt;br /&gt;
**[[Pragma alias|#pragma alias]]&lt;br /&gt;
**[[Pragma alignment|#pragma alignment]]&lt;br /&gt;
**[[Pragma anon struct|#pragma anon_struct]]&lt;br /&gt;
**[[Pragma argsused|#pragma argsused]]&lt;br /&gt;
**[[Pragma checkoption|#pragma checkoption]]&lt;br /&gt;
**[[Pragma codeseg|#pragma codeseg]]&lt;br /&gt;
**[[Pragma defineonoption et pragma undefineonoption|#pragma defineonoption et #pragma undefineonoption]]&lt;br /&gt;
**[[Pragma exit et pragma startup|#pragma exit]]&lt;br /&gt;
**[[Pragma hdrfile|#pragma hdrfile]]&lt;br /&gt;
**[[Pragma hdrstop|#pragma hdrstop]]&lt;br /&gt;
**[[Pragma inline|#pragma inline]]&lt;br /&gt;
**[[Pragma intrinsic|#pragma intrinsic]]&lt;br /&gt;
**[[Pragma link|#pragma link]]&lt;br /&gt;
**[[Pragma message|#pragma messages]]&lt;br /&gt;
**[[Pragma nopushoptwarn|#pragma nopushoptwarn]]&lt;br /&gt;
**[[Pragma obsolete|#pragmaobsolete]]&lt;br /&gt;
**[[Pragma once|#pragma once]]&lt;br /&gt;
**[[Pragma option|#pragma option]]&lt;br /&gt;
**[[Pragma pack|#pragma pack]]&lt;br /&gt;
**[[Pragma package|#pragma package]]&lt;br /&gt;
**[[Pragma region et pragma end region|#pragma region et #pragma end_region]]&lt;br /&gt;
**[[Pragma resource|#pragma resource]]&lt;br /&gt;
**[[Pragma exit et pragma startup|#pragma startup]]&lt;br /&gt;
**[[Pragma defineonoption et pragma undefineonoption|#pragma undefineonoption]]&lt;br /&gt;
**[[Pragma warn|#pragma warn]]&lt;br /&gt;
*[[Pseudo-grammaire|Pseudo-grammaire]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Référence C++]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Le_pr%C3%A9processeur_-_Index&amp;diff=218903</id>
		<title>Le préprocesseur - Index</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Le_pr%C3%A9processeur_-_Index&amp;diff=218903"/>
		<updated>2026-05-09T03:34:50Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Guide du langage C++ - Index}}&lt;br /&gt;
Cette section contient les rubriques relatives au préprocesseur {{CBuilder}}.&lt;br /&gt;
&lt;br /&gt;
Le préprocesseur est un traitement de texte qui effectue des opérations préliminaires sur les fichiers C et C++ avant de les transmettre au compilateur. Le compilateur C++Builder invoque normalement le préprocesseur dans sa première passe pour convertir le texte d&#039;un fichier source en tant que partie de la première phase de la conversion. Vous pouvez aussi invoquer le préprocesseur séparément, avec le [[CPP32.EXE, le préprocesseur du compilateur C|préprocesseur CPP32.EXE en ligne de commande]], pour traiter le texte sans compilation. Vous pouvez utiliser le préprocesseur pour insérer des fichiers, compiler conditionnellement du code, appliquer des substitutions de macro, spécifier des messages d&#039;erreur de compilation et appliquer les règles spécifiques à la machine aux sections de code.&lt;br /&gt;
&lt;br /&gt;
==Invocation du préprocesseur C++==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Compilateur C++&lt;br /&gt;
  &lt;br /&gt;
! Plate-forme&lt;br /&gt;
! Opération&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[Compilateurs Win32 améliorés par Clang|BCC32C]]&lt;br /&gt;
| Windows 32 bits&lt;br /&gt;
|&amp;lt;code&amp;gt;-c- Xclang&amp;lt;/code&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[Compilateurs Win32 améliorés par Clang|BCC32X]]&lt;br /&gt;
| Windows 32 bits&lt;br /&gt;
|&amp;lt;code&amp;gt;-E&amp;lt;/code&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCC64|BCC64]]&lt;br /&gt;
| Windows 64 bits&lt;br /&gt;
|&amp;lt;code&amp;gt;-E&amp;lt;/code&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCC64X|BCC64X]]&lt;br /&gt;
| Windows 64 bits&lt;br /&gt;
|&amp;lt;code&amp;gt;-E&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;--preprocess&amp;lt;/code&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCCIOSARM64|BCCIOSARM64]]&lt;br /&gt;
| iOS 64 bits&lt;br /&gt;
|&amp;lt;code&amp;gt;-E&amp;lt;/code&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCCAARM|BCCAARM]]&lt;br /&gt;
|Android&lt;br /&gt;
|&amp;lt;code&amp;gt;-E&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Note| Pour [[Compilateurs Win32 améliorés par Clang|BCC32C]], certaines opérations peuvent être acceptées et ignorées silencieusement.}}&lt;br /&gt;
&lt;br /&gt;
==Invocation du préprocesseur C++ avec les interfaces de ligne de commande des compilateurs C++ Windows==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Plate-forme&lt;br /&gt;
! Compilateur classique&lt;br /&gt;
! [[Interfaces de ligne de commande des compilateurs C++ améliorés par Clang|Compilateur basé sur Clang]]&lt;br /&gt;
! Prétraitement&lt;br /&gt;
! Notes&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Windows 32 bits&lt;br /&gt;
|&lt;br /&gt;
|    [[BCC32C.EXE|BCC32C.EXE]]&lt;br /&gt;
|&amp;lt;code&amp;gt;cpp32.exe test.cpp&amp;lt;/code&amp;gt;&lt;br /&gt;
| Crée &amp;lt;code&amp;gt;test.i&amp;lt;/code&amp;gt; avec la sortie prétraitée.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|    [[BCC32C.EXE|BCC32C.EXE]]&lt;br /&gt;
|&amp;lt;code&amp;gt;bcc32x -E test.cpp &amp;lt;/code&amp;gt;&lt;br /&gt;
| Sortie prétraitée envoyée à stdout : utilisez -o &amp;amp;lt;file&amp;amp;gt; pour écrire la sortie dans un fichier.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCC32.EXE, le compilateur C++ 32 bits en ligne de commande|BCC32.EXE]]&lt;br /&gt;
|&lt;br /&gt;
|    &amp;lt;code&amp;gt;cpp32.exe test.cpp&amp;lt;/code&amp;gt;&lt;br /&gt;
| Crée &amp;lt;code&amp;gt;test.1&amp;lt;/code&amp;gt; avec la sortie prétraitée.&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
| Windows 64 bits&lt;br /&gt;
|&lt;br /&gt;
|    [[BCC64.EXE, le compilateur C++ Windows 64 bits|BCC64.EXE]]&lt;br /&gt;
|&amp;lt;code&amp;gt;bcc32x -E test.cpp &amp;lt;/code&amp;gt;&lt;br /&gt;
| Sortie prétraitée envoyée à stdout : utilisez -o &amp;amp;lt;file&amp;amp;gt; pour écrire la sortie dans un fichier.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Rubriques==&lt;br /&gt;
&lt;br /&gt;
*[[Directives du préprocesseur - Index|Directives du préprocesseur]]&lt;br /&gt;
**[[(directive null)|# (directive null)]]&lt;br /&gt;
**[[Include|Directive #include]]&lt;br /&gt;
**[[Error|Directive #error]]&lt;br /&gt;
**[[Line|Directive #line]]&lt;br /&gt;
**[[Import|Directive #import]]&lt;br /&gt;
**&lt;br /&gt;
[[Présentation de la compilation conditionnelle - Index|Directives de compilation conditionnelle]]&lt;br /&gt;
***[[If, elif, else et endif|Utilisation de #if, #elif, #else et #endif]]&lt;br /&gt;
***[[Defined|Opérateur defined]]&lt;br /&gt;
***[[Ifdef et ifndef|Utilisation de #ifdef et #ifndef]]&lt;br /&gt;
*[[Définition et annulation de la définition des macros - Index|Définition et annulation de la définition des macros]]&lt;br /&gt;
**[[Define|#define]]&lt;br /&gt;
**[[Undef|#undef]]&lt;br /&gt;
**[[Utilisation des options de ligne de commande -D et -U|Utilisation des options de ligne de commande -D et -U]]&lt;br /&gt;
**[[Mots clés et mots protégés dans les macros|Mots clés et mots protégés dans les macros]]&lt;br /&gt;
**[[Fusion de tokens avec|Fusion de tokens avec l&#039;opérateur ##]]&lt;br /&gt;
* [[Macros avec paramètres|Macros avec paramètres (C++)]]&lt;br /&gt;
*[[Macros prédéfinies|Macros prédéfinies]]&lt;br /&gt;
*[[Macros de compatibilité Delphi|Macros de compatibilité Delphi]]&lt;br /&gt;
*[[Utilisation de la barre oblique inversée de poursuite de ligne|Utilisation de la barre oblique inversée (\) de poursuite de ligne]]&lt;br /&gt;
*[[Présentation des directives pragma - Index|Directives #pragma]]&lt;br /&gt;
**[[Pragma alias|#pragma alias]]&lt;br /&gt;
**[[Pragma alignment|#pragma alignment]]&lt;br /&gt;
**[[Pragma anon struct|#pragma anon_struct]]&lt;br /&gt;
**[[Pragma argsused|#pragma argsused]]&lt;br /&gt;
**[[Pragma checkoption|#pragma checkoption]]&lt;br /&gt;
**[[Pragma codeseg|#pragma codeseg]]&lt;br /&gt;
**[[Pragma defineonoption et pragma undefineonoption|#pragma defineonoption et #pragma undefineonoption]]&lt;br /&gt;
**[[Pragma exit et pragma startup|#pragma exit]]&lt;br /&gt;
**[[Pragma hdrfile|#pragma hdrfile]]&lt;br /&gt;
**[[Pragma hdrstop|#pragma hdrstop]]&lt;br /&gt;
**[[Pragma inline|#pragma inline]]&lt;br /&gt;
**[[Pragma intrinsic|#pragma intrinsic]]&lt;br /&gt;
**[[Pragma link|#pragma link]]&lt;br /&gt;
**[[Pragma message|#pragma messages]]&lt;br /&gt;
**[[Pragma nopushoptwarn|#pragma nopushoptwarn]]&lt;br /&gt;
**[[Pragma obsolete|#pragmaobsolete]]&lt;br /&gt;
**[[Pragma once|#pragma once]]&lt;br /&gt;
**[[Pragma option|#pragma option]]&lt;br /&gt;
**[[Pragma pack|#pragma pack]]&lt;br /&gt;
**[[Pragma package|#pragma package]]&lt;br /&gt;
**[[Pragma region et pragma end region|#pragma region et #pragma end_region]]&lt;br /&gt;
**[[Pragma resource|#pragma resource]]&lt;br /&gt;
**[[Pragma exit et pragma startup|#pragma startup]]&lt;br /&gt;
**[[Pragma defineonoption et pragma undefineonoption|#pragma undefineonoption]]&lt;br /&gt;
**[[Pragma warn|#pragma warn]]&lt;br /&gt;
*[[Pseudo-grammaire|Pseudo-grammaire]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Référence C++]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Boost&amp;diff=218902</id>
		<title>Boost</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Boost&amp;diff=218902"/>
		<updated>2026-05-09T03:34:50Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Add-ins logiciels tiers}}&lt;br /&gt;
&lt;br /&gt;
[http://www.boost.org/&lt;br /&gt;
&#039;&#039;&#039; Boost (EN)&#039;&#039;&#039;] est un ensemble de bibliothèques C++ qui étend de manière significative le langage de programmation C++ en utilisant une métaprogrammation de templates. {{Product}} vous permet d&#039;installer un sous-ensemble de Boost ayant été entièrement testé et préconfiguré spécifiquement pour {{CBuilder}}.&lt;br /&gt;
&lt;br /&gt;
==Version, compilateurs et plates-formes pris en charge==&lt;br /&gt;
&lt;br /&gt;
{{Product}} prend en charge différentes versions de Boost en fonction du compilateur que vous utilisez pour construire votre application :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Plate-forme&lt;br /&gt;
!Compilateur&lt;br /&gt;
!Version Boost&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
Windows 32 bits&lt;br /&gt;
|&lt;br /&gt;
[[BCC32|BCC32]]&lt;br /&gt;
|&lt;br /&gt;
1.39.0&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Compilateurs Win32 améliorés par Clang|BCC32C]]&lt;br /&gt;
|&lt;br /&gt;
1.70.0&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
Windows 64 bits&lt;br /&gt;
|&lt;br /&gt;
[[BCC64|BCC64]]&lt;br /&gt;
|&lt;br /&gt;
1.70.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installation de Boost==&lt;br /&gt;
&lt;br /&gt;
Pour installer Boost, sélectionnez {{Menu|Outils &amp;amp;gt; [[Fenêtre du Gestionnaire de packages GetIt|Gestionnaire de packages GetIt]]}} et sélectionnez l&#039;un des packages Boost.  Cliquez sur Installer pour démarrer le processus.&lt;br /&gt;
&lt;br /&gt;
[[File:BoostPackage.png|link=|border]]&lt;br /&gt;
&lt;br /&gt;
==Inclusion de Boost dans vos applications==&lt;br /&gt;
&lt;br /&gt;
Vous pouvez inclure les fichiers en-tête de Boost en utilisant la même méthode que pour les autres bibliothèques. Les applications C++ utilisent automatiquement la version correcte de Boost pour le compilateur que vous utilisez.&lt;br /&gt;
&lt;br /&gt;
Par exemple, pour utiliser minmax dans une application créée avec [[BCC32|BCC32]] :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/algorithm/minmax.hpp&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Différentes versions de Boost peuvent contenir différents fichiers en-tête ou une API différente. Pour construire votre application à l&#039;aide de compilateurs prenant en charge différentes versions de Boost, vous devrez peut-être [[Présentation de la compilation conditionnelle - Index|utiliser la compilation conditionnelle]].&lt;br /&gt;
&lt;br /&gt;
Les chemins d&#039;accès include de Boost sont spécifiés dans les variables d&#039;environnement suivantes dans l&#039;EDI :&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CG_BOOST_ROOT&#039;&#039;&#039; ([[BCC32|BCC32]]): {{Path|{{InstallPath}}\include\boost_1_39}}&lt;br /&gt;
*&#039;&#039;&#039;CG_64_BOOST_ROOT&#039;&#039;&#039; ([[BCC64|BCC64]]): {{Path|{{InstallPath}}\include\boost_1_70}}&lt;br /&gt;
*&#039;&#039;&#039;CG_32_BOOST_ROOT&#039;&#039;&#039; ([[Compilateurs Win32 améliorés par Clang|BCC32C]]) : Installé par GetIt et situé dans le référentiel de catalogues {{Path|Documents\Embarcadero\Studio\(version)\CatalogRepository}}&lt;br /&gt;
&lt;br /&gt;
Ces variables sont définies sur la boîte de dialogue {{Menu|Outils &amp;amp;gt; Options &amp;amp;gt; Options d&#039;environnement &amp;amp;gt; [[Variables d&#039;environnement|Variables d&#039;environnement]]}}.&lt;br /&gt;
&lt;br /&gt;
===Auto-liaison===&lt;br /&gt;
&lt;br /&gt;
Certaines bibliothèques Boost requièrent des binaires, qu&#039;il s&#039;agisse de liaisons statiques ou dynamiques. Elles sont liées automatiquement, la liaison statique étant le paramétrage par défaut. Pour effectuer une liaison dynamique avec une DLL, définissez &amp;lt;code&amp;gt;BOOST_ALL_DYN_LINK&amp;lt;/code&amp;gt; en tant que macro dans les options de projet.&lt;br /&gt;
&lt;br /&gt;
==Pourcentage de tests réussis des bibliothèques Boost==&lt;br /&gt;
&lt;br /&gt;
Un grand nombre de bibliothèques Boost fonctionnent avec les compilateurs Win32 et Win64 améliorés par Clang. Vous pouvez [[Supported Clang-enhanced Boost Libraries|consulter les résultats de tests affichés en pourcentages]].&lt;br /&gt;
&lt;br /&gt;
==Documentation relative à Boost==&lt;br /&gt;
&lt;br /&gt;
Suivez les liens ci-dessous pour accéder à l&#039;aide en ligne pour les versions de Boost prises en charge par {{Product}} :&lt;br /&gt;
&lt;br /&gt;
*[http://www.boost.org/doc/libs/1_39_0/ Documentation relative à Boost 1.39.0 (EN)]&lt;br /&gt;
*[https://www.boost.org/doc/libs/1_68_0/ Documentation relative à Boost 1.68.0]&lt;br /&gt;
* [https://www.boost.org/doc/libs/1_70_0/ Documentation relative à Boost 1.70.0]&lt;br /&gt;
&lt;br /&gt;
==Désinstallation de Boost==&lt;br /&gt;
&lt;br /&gt;
Si vous avez installé Boost à l&#039;aide du &#039;&#039;&#039;[[Gestionnaire de packages GetIt|Gestionnaire de packages GetIt]]&#039;&#039;&#039;, utilisez-le pour retirer Boost :&lt;br /&gt;
&lt;br /&gt;
#Ouvrez {{Product}} et sélectionnez {{Menu|Outils &amp;amp;gt; [[Fenêtre du Gestionnaire de packages GetIt|Gestionnaire de packages GetIt]]}} pour ouvrir la [[Fenêtre du Gestionnaire de packages GetIt|fenêtre du Gestionnaire de packages GetIt]].&lt;br /&gt;
#Localisez l&#039;entrée Boost. Vous pouvez taper &amp;quot;Boost&amp;quot; dans la zone de recherche pour filtrer d&#039;autres packages à partir du Gestionnaire de packages GetIt.&lt;br /&gt;
#Cliquez sur &#039;&#039;&#039;Désinstaller&#039;&#039;&#039; sur l&#039;entrée Boost.&lt;br /&gt;
&lt;br /&gt;
Si vous avez installé Boost en utilisant l&#039;une des autres [[#Installation de Boost|méthodes d&#039;installation]] :&lt;br /&gt;
&lt;br /&gt;
#Ouvrez le &#039;&#039;&#039;Panneau de configuration&#039;&#039;&#039; Windows et choisissez &#039;&#039;&#039;Désinstaller un programme&#039;&#039;&#039;.&lt;br /&gt;
#Double-cliquez sur &#039;&#039;&#039;Boost Libraries for {{CBuilder}} {{Placeholder|version}}&#039;&#039;&#039;. L&#039;installateur Boost démarre.&lt;br /&gt;
#Sur la page &#039;&#039;&#039;Bienvenue&#039;&#039;&#039; de l&#039;installateur Boost, choisissez l&#039;option &#039;&#039;&#039;Retirer&#039;&#039;&#039; et cliquez sur &#039;&#039;&#039;Suivant&#039;&#039;&#039;.&lt;br /&gt;
#Sur la page &#039;&#039;&#039;Prêt à désinstaller&#039;&#039;&#039;, cliquez sur &#039;&#039;&#039;Suivant&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Bibliothèque C++ standard Dinkumware|Bibliothèque C++ standard Dinkumware]]&lt;br /&gt;
&lt;br /&gt;
===Exemples===&lt;br /&gt;
&lt;br /&gt;
*Exemple [[samp_en:RTL.BoostArchiveDemo Sample|RTL Boost Archive (EN)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Boost&amp;diff=218901</id>
		<title>Boost</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Boost&amp;diff=218901"/>
		<updated>2026-05-09T03:34:50Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Add-ins logiciels tiers}}&lt;br /&gt;
&lt;br /&gt;
[http://www.boost.org/&lt;br /&gt;
&#039;&#039;&#039; Boost (EN)&#039;&#039;&#039;] est un ensemble de bibliothèques C++ qui étend de manière significative le langage de programmation C++ en utilisant une métaprogrammation de templates. {{Product}} vous permet d&#039;installer un sous-ensemble de Boost ayant été entièrement testé et préconfiguré spécifiquement pour {{CBuilder}}.&lt;br /&gt;
&lt;br /&gt;
==Version, compilateurs et plates-formes pris en charge==&lt;br /&gt;
&lt;br /&gt;
{{Product}} prend en charge différentes versions de Boost en fonction du compilateur que vous utilisez pour construire votre application :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Plate-forme&lt;br /&gt;
!Compilateur&lt;br /&gt;
!Version Boost&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
Windows 32 bits&lt;br /&gt;
|&lt;br /&gt;
[[BCC32|BCC32]]&lt;br /&gt;
|&lt;br /&gt;
1.39.0&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Compilateurs Win32 améliorés par Clang|BCC32C]]&lt;br /&gt;
|&lt;br /&gt;
1.70.0&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
Windows 64 bits&lt;br /&gt;
|&lt;br /&gt;
[[BCC64|BCC64]]&lt;br /&gt;
|&lt;br /&gt;
1.70.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installation de Boost==&lt;br /&gt;
&lt;br /&gt;
Pour installer Boost, sélectionnez {{Menu|Outils &amp;amp;gt; [[Fenêtre du Gestionnaire de packages GetIt|Gestionnaire de packages GetIt]]}} et sélectionnez l&#039;un des packages Boost.  Cliquez sur Installer pour démarrer le processus.&lt;br /&gt;
&lt;br /&gt;
[[File:BoostPackage.png|link=|border]]&lt;br /&gt;
&lt;br /&gt;
==Inclusion de Boost dans vos applications==&lt;br /&gt;
&lt;br /&gt;
Vous pouvez inclure les fichiers en-tête de Boost en utilisant la même méthode que pour les autres bibliothèques. Les applications C++ utilisent automatiquement la version correcte de Boost pour le compilateur que vous utilisez.&lt;br /&gt;
&lt;br /&gt;
Par exemple, pour utiliser minmax dans une application créée avec [[BCC32|BCC32]] :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/algorithm/minmax.hpp&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Différentes versions de Boost peuvent contenir différents fichiers en-tête ou une API différente. Pour construire votre application à l&#039;aide de compilateurs prenant en charge différentes versions de Boost, vous devrez peut-être [[Présentation de la compilation conditionnelle - Index|utiliser la compilation conditionnelle]].&lt;br /&gt;
&lt;br /&gt;
Les chemins d&#039;accès include de Boost sont spécifiés dans les variables d&#039;environnement suivantes dans l&#039;EDI :&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CG_BOOST_ROOT&#039;&#039;&#039; ([[BCC32|BCC32]]): {{Path|{{InstallPath}}\include\boost_1_39}}&lt;br /&gt;
*&#039;&#039;&#039;CG_64_BOOST_ROOT&#039;&#039;&#039; ([[BCC64|BCC64]]): {{Path|{{InstallPath}}\include\boost_1_70}}&lt;br /&gt;
*&#039;&#039;&#039;CG_32_BOOST_ROOT&#039;&#039;&#039; ([[Compilateurs Win32 améliorés par Clang|BCC32C]]) : Installé par GetIt et situé dans le référentiel de catalogues {{Path|Documents\Embarcadero\Studio\(version)\CatalogRepository}}&lt;br /&gt;
&lt;br /&gt;
Ces variables sont définies sur la boîte de dialogue {{Menu|Outils &amp;amp;gt; Options &amp;amp;gt; Options d&#039;environnement &amp;amp;gt; [[Variables d&#039;environnement|Variables d&#039;environnement]]}}.&lt;br /&gt;
&lt;br /&gt;
===Auto-liaison===&lt;br /&gt;
&lt;br /&gt;
Certaines bibliothèques Boost requièrent des binaires, qu&#039;il s&#039;agisse de liaisons statiques ou dynamiques. Elles sont liées automatiquement, la liaison statique étant le paramétrage par défaut. Pour effectuer une liaison dynamique avec une DLL, définissez &amp;lt;code&amp;gt;BOOST_ALL_DYN_LINK&amp;lt;/code&amp;gt; en tant que macro dans les options de projet.&lt;br /&gt;
&lt;br /&gt;
==Pourcentage de tests réussis des bibliothèques Boost==&lt;br /&gt;
&lt;br /&gt;
Un grand nombre de bibliothèques Boost fonctionnent avec les compilateurs Win32 et Win64 améliorés par Clang. Vous pouvez [[Supported Clang-enhanced Boost Libraries|consulter les résultats de tests affichés en pourcentages]].&lt;br /&gt;
&lt;br /&gt;
==Documentation relative à Boost==&lt;br /&gt;
&lt;br /&gt;
Suivez les liens ci-dessous pour accéder à l&#039;aide en ligne pour les versions de Boost prises en charge par {{Product}} :&lt;br /&gt;
&lt;br /&gt;
*[http://www.boost.org/doc/libs/1_39_0/ Documentation relative à Boost 1.39.0 (EN)]&lt;br /&gt;
*[https://www.boost.org/doc/libs/1_68_0/ Documentation relative à Boost 1.68.0]&lt;br /&gt;
* [https://www.boost.org/doc/libs/1_70_0/ Documentation relative à Boost 1.70.0]&lt;br /&gt;
&lt;br /&gt;
==Désinstallation de Boost==&lt;br /&gt;
&lt;br /&gt;
Si vous avez installé Boost à l&#039;aide du &#039;&#039;&#039;[[Gestionnaire de packages GetIt|Gestionnaire de packages GetIt]]&#039;&#039;&#039;, utilisez-le pour retirer Boost :&lt;br /&gt;
&lt;br /&gt;
#Ouvrez {{Product}} et sélectionnez {{Menu|Outils &amp;amp;gt; [[Fenêtre du Gestionnaire de packages GetIt|Gestionnaire de packages GetIt]]}} pour ouvrir la [[Fenêtre du Gestionnaire de packages GetIt|fenêtre du Gestionnaire de packages GetIt]].&lt;br /&gt;
#Localisez l&#039;entrée Boost. Vous pouvez taper &amp;quot;Boost&amp;quot; dans la zone de recherche pour filtrer d&#039;autres packages à partir du Gestionnaire de packages GetIt.&lt;br /&gt;
#Cliquez sur &#039;&#039;&#039;Désinstaller&#039;&#039;&#039; sur l&#039;entrée Boost.&lt;br /&gt;
&lt;br /&gt;
Si vous avez installé Boost en utilisant l&#039;une des autres [[#Installation de Boost|méthodes d&#039;installation]] :&lt;br /&gt;
&lt;br /&gt;
#Ouvrez le &#039;&#039;&#039;Panneau de configuration&#039;&#039;&#039; Windows et choisissez &#039;&#039;&#039;Désinstaller un programme&#039;&#039;&#039;.&lt;br /&gt;
#Double-cliquez sur &#039;&#039;&#039;Boost Libraries for {{CBuilder}} {{Placeholder|version}}&#039;&#039;&#039;. L&#039;installateur Boost démarre.&lt;br /&gt;
#Sur la page &#039;&#039;&#039;Bienvenue&#039;&#039;&#039; de l&#039;installateur Boost, choisissez l&#039;option &#039;&#039;&#039;Retirer&#039;&#039;&#039; et cliquez sur &#039;&#039;&#039;Suivant&#039;&#039;&#039;.&lt;br /&gt;
#Sur la page &#039;&#039;&#039;Prêt à désinstaller&#039;&#039;&#039;, cliquez sur &#039;&#039;&#039;Suivant&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Bibliothèque C++ standard Dinkumware|Bibliothèque C++ standard Dinkumware]]&lt;br /&gt;
&lt;br /&gt;
===Exemples===&lt;br /&gt;
&lt;br /&gt;
*Exemple [[samp_en:RTL.BoostArchiveDemo Sample|RTL Boost Archive (EN)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Compilateurs_C%2B%2B_am%C3%A9lior%C3%A9s_par_Clang&amp;diff=218900</id>
		<title>Compilateurs C++ améliorés par Clang</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Compilateurs_C%2B%2B_am%C3%A9lior%C3%A9s_par_Clang&amp;diff=218900"/>
		<updated>2026-05-09T03:34:50Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Compilateurs C++}}&lt;br /&gt;
&lt;br /&gt;
La dernière génération des compilateurs C++ de {{Product}} est basée sur le [http://clang.llvm.org/ compilateur Clang (EN)] open-source, qui représente le frontal de [http://www.llvm.org/ l&#039;infrastructure du compilateur LLVM (EN)].&lt;br /&gt;
&lt;br /&gt;
{{Product}} fournit les compilateurs C++ suivants améliorés par Clang :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Compilateur&lt;br /&gt;
!Plate-forme&lt;br /&gt;
!Version de Clang&lt;br /&gt;
!Version de LLVM&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[Compilateurs Win32 améliorés par Clang|BCC32C]]&lt;br /&gt;
|Windows 32 bits&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |5.0&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |5.0&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[Compilateurs Win32 améliorés par Clang|BCC32X]] &amp;lt;ref&amp;gt;BCC32X utilise les indicateurs en ligne de commande Clang par mesure de compatibilité avec d&#039;autres compilateurs basés sur Clang (BCC64, BCCIOSARM64 et BCCAARM). BCC32C est compatible avec les indicateurs de compilateur classiques (BCC32).&amp;lt;/ref&amp;gt;&lt;br /&gt;
|Windows 32 bits&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |5.0&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |5.0&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCC64|BCC64]]&lt;br /&gt;
|Windows 64 bits&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |5.0&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |5.0&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCC64X|BCC64X]]&lt;br /&gt;
|Windows 64 bits&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |20.0&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |20.0&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCCIOSARM64|BCCIOSARM64]]&lt;br /&gt;
|iOS 64 bits&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |3.3&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |3.5&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCCAARM|BCCAARM]]&lt;br /&gt;
|Android&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |3.3&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |3.3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Différences entre les compilateurs C++ améliorés par Clang et les compilateurs C++ de précédente génération==&lt;br /&gt;
&lt;br /&gt;
Les compilateurs C++ améliorés par Clang ont une base de code entièrement nouvelle, et ils sont très différents des compilateurs C++ de précédente génération de {{Product}} :&lt;br /&gt;
&lt;br /&gt;
*[[BCC32|BCC32]] (Windows 32 bits)&lt;br /&gt;
&lt;br /&gt;
Voici quelques différences significatives entre les compilateurs C++ améliorés par Clang et les deux compilateurs C++ de précédente génération :&lt;br /&gt;
&lt;br /&gt;
*Les compilateurs C++ améliorés par Clang sont aussi des &#039;&#039;&#039;préprocesseurs&#039;&#039;&#039; lorsqu&#039;ils sont exécutés avec le commutateur &amp;lt;code&amp;gt;-E&amp;lt;/code&amp;gt;.&lt;br /&gt;
*:Pour Windows 64 bits, il existe également un [[CPP64, le préprocesseur pour Windows 64 bits|préprocesseur CPP64.EXE]] distinct.&lt;br /&gt;
*Les compilateurs C++ améliorés par Clang imposent la recherche de modèles en deux phases.&lt;br /&gt;
*:Ce qui signifie que les noms qui ne sont pas liés à un type dépendant sont recherchés lors de la première phase (avant l&#039;instanciation) et peuvent provoquer des erreurs que les compilateurs C++ de précédente génération ne signalaient pas. Lors de la deuxième phase (l&#039;instanciation), le code du modèle est à nouveau contrôlé pour vérifier que tous les appels sont valides pour les types dépendants. Pour de plus amples informations, voir [http://blog.llvm.org/2009/12/dreaded-two-phase-name-lookup.html Two-phase name lookup for Clang (EN)].&lt;br /&gt;
&lt;br /&gt;
Par ex. : le modèle peut effectuer plusieurs appels à des fonctions qui ne sont peut-être pas présentes pour ce type particulier.&lt;br /&gt;
&lt;br /&gt;
*Les compilateurs C++ améliorés par Clang n&#039;autorisent un argument par défaut que dans une déclaration de fonction.&lt;br /&gt;
*:Les compilateurs C++ de précédente génération autorisent également les arguments par défaut dans un pointeur de fonction ou une déclaration de clôture.&lt;br /&gt;
*Les compilateurs C++ améliorés par Clang n&#039;autorisent pas l&#039;utilisation de [[Sizeof|sizeof]] dans une directive du préprocesseur, telle que &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;#if sizeof(ATypeName) &amp;gt; 20&amp;lt;/source&amp;gt;.&lt;br /&gt;
*Les compilateurs C++ améliorés par Clang sont plus stricts concernant les conversions.&lt;br /&gt;
*:Par exemple, la conversion de constantes chaîne en &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;char *&amp;lt;/source&amp;gt; génère un avertissement (la conversion d&#039;un littéral chaîne en &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;char *&amp;lt;/source&amp;gt; est désapprouvée). D&#039;autre part, l&#039;initialisation d&#039;un &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;char *&amp;lt;/source&amp;gt; avec un &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;unsigned char *&amp;lt;/source&amp;gt; génère une erreur (Impossible d&#039;initialiser une variable de type &#039;char *&#039; avec une rvalue de type &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;BYTE *&amp;lt;/source&amp;gt;, aussi connue comme &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;unsigned char *&amp;lt;/source&amp;gt;).&lt;br /&gt;
*Les compilateurs C++ améliorés par Clang n&#039;autorisent pas la combinaison de &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;__try&amp;lt;/source&amp;gt; avec &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;catch&amp;lt;/source&amp;gt; : en effet, &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;catch&amp;lt;/source&amp;gt; doit être utilisé avec &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;try&amp;lt;/source&amp;gt;, et &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;__try&amp;lt;/source&amp;gt; doit être utilisé avec &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;__except&amp;lt;/source&amp;gt; ou &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;__finally&amp;lt;/source&amp;gt;, voire les deux.&lt;br /&gt;
*Les identificateurs Unicode ne sont pas pris en charge par les compilateurs C++ améliorés par Clang.&lt;br /&gt;
*[[CPP32.EXE, le préprocesseur du compilateur C|CPP32]] prend en charge l&#039;option &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;-Hp&amp;lt;/source&amp;gt; et imprime les informations de garde des en-têtes utilisées par [[Expert En-tête précompilé|l&#039;expert En-tête précompilé]].&lt;br /&gt;
*Le style Unix &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;#line&amp;lt;/source&amp;gt; n&#039;est pas la valeur &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;#line&amp;lt;/source&amp;gt; par défaut de CPP32, et ainsi de suite.&lt;br /&gt;
*Les compilateurs C++ améliorés par Clang ne prennent pas en charge les attributs C++11 [[Final (C++)|final]], [[Deprecated|deprecated]] et [[Noreturn|noreturn]]. Voir [[Solution pour les attributs C++11|Solution pour les attributs C++11]] pour trouver une solution de contournement dans les compilateurs C++ améliorés par Clang.&lt;br /&gt;
*De nombreuses options des compilateurs C++ de précédente génération ne sont pas prises en charge par les compilateurs C++ améliorés par Clang, et vice versa :&lt;br /&gt;
**[[Options de projet prises en charge par les compilateurs C++ améliorés par Clang|Options de projet prises en charge par les compilateurs C++ améliorés par Clang]]&lt;br /&gt;
**[[Options non prises en charge par les compilateurs C++ améliorés par Clang|Options non prises en charge par les compilateurs C++ améliorés par Clang]]&lt;br /&gt;
*Les compilateurs C++ améliorés par C ne traitent pas __FUNC__ en tant que macro prédéfinie. C&#039;est plutôt un identificateur prédéfini (une variable function-local prédéfinie) qui capture les noms de fonction en tant que tableau de caractères statique.&lt;br /&gt;
&lt;br /&gt;
Pour de plus amples informations, voir &#039;&#039;&#039;[[Différences entre les compilateurs C++ améliorés par Clang et les compilateurs C++ de précédente génération|Différences entre les compilateurs C++ améliorés par Clang et les compilateurs C++ de précédente génération]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Comment les options du compilateur C++ de précédente génération sont converties en options des compilateurs C++ améliorés par Clang===&lt;br /&gt;
&lt;br /&gt;
Voir &#039;&#039;&#039;[[Options de projet prises en charge par les compilateurs C++ améliorés par Clang|Options de projet prises en charge par les compilateurs C++ améliorés par Clang]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Problèmes fréquents lors de la compilation d&#039;un projet du compilateur C++ de précédente génération avec les compilateurs C++ améliorés par Clang===&lt;br /&gt;
&lt;br /&gt;
Il est probable que vous rencontrerez de nouvelles erreurs dues à la rigueur de la conformité ANSI des compilateurs C++ améliorés par Clang.&lt;br /&gt;
&lt;br /&gt;
Pour de plus amples informations, voir :&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Erreurs et avertissements des compilateurs C++ améliorés par Clang|Erreurs et avertissements des compilateurs C++ améliorés par Clang]]&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[[Différences entre les compilateurs C++ améliorés par Clang et les compilateurs C++ de précédente génération|Différences entre les compilateurs C++ améliorés par Clang et les compilateurs C++ de précédente génération]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Prise en charge des en-têtes précompilés==&lt;br /&gt;
&lt;br /&gt;
Les compilateurs C++ améliorés par Clang prennent en charge l&#039;utilisation d&#039;un en-tête précompilé, nommé par défaut &amp;lt;code&amp;gt;&amp;amp;lt;projet&amp;amp;gt;&amp;amp;lt;n&amp;amp;gt;PCH.h&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour de plus amples informations, voir &#039;&#039;&#039;[[Utilisation des en-têtes précompilés avec les compilateurs C++ améliorés par Clang|Utilisation des en-têtes précompilés avec les compilateurs C++ améliorés par Clang]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Macros prédéfinies==&lt;br /&gt;
&lt;br /&gt;
Les macros prédéfinies prises en charge par les compilateurs améliorés par Clang sont nombreuses. Par exemple, BCCIOSARM64 prend en charge des définitions telles que &amp;lt;code&amp;gt;__APPLE__&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;__BCCPLUSPLUS__&amp;lt;/code&amp;gt;.{{f|cmd|&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Pour afficher toutes les macros prédéfinies qui sont prises en charge, utilisez l&#039;interface de ligne de commande de votre compilateur, comme suit :&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:{{Code|echo {{!}} {{Placeholder|compiler}} -E -dM -}}&lt;br /&gt;
&lt;br /&gt;
L&#039;option {{Code|-E}} exécute le préprocesseur uniquement. {{Code|-dM}} vide toutes les macros définies lors du prétraitement et s&#039;arrête. Le {{Code|-}} final prend l&#039;entrée de stdin, qui est envoyée via le canal à partir de {{Code|l&#039;echo}} vide.}}&lt;br /&gt;
&lt;br /&gt;
Pour de plus amples informations, voir [[Macros prédéfinies|Macros prédéfinies]].&lt;br /&gt;
&lt;br /&gt;
==Mots clés==&lt;br /&gt;
&lt;br /&gt;
Cette section contient une liste alphabétique des [[Liste alphabétique des mots clés - Index|mots clés C++]] qui nécessitent un traitement spécial lors de leur utilisation avec les compilateurs C++ améliorés par Clang ou qui ne sont pas pris en charge par ces compilateurs.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Pris en charge&lt;br /&gt;
!Non pris en charge&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
*[[Asm, asm, asm|asm, _asm, __asm]]&lt;br /&gt;
*[[Auto|auto]]&lt;br /&gt;
*[[Cdecl, cdecl, cdecl|cdecl, _cdecl, __cdecl]]&lt;br /&gt;
*[[Declspec|__declspec]]&lt;br /&gt;
*[[Export, export|_export, __export]]&lt;br /&gt;
*[[Fastcall, fastcall|_fastcall, __fastcall]]&lt;br /&gt;
*[[Import, import|_import, __import]]&lt;br /&gt;
*[[Pascal, pascal, pascal|pascal, _pascal, __pascal]]&lt;br /&gt;
*[[Property|__property]]&lt;br /&gt;
*[[Stdcall, stdcall|_stdcall, __stdcall]]&lt;br /&gt;
|&lt;br /&gt;
*[[Deprecated|deprecated]]&lt;br /&gt;
*[[Final (C++)|final]]&lt;br /&gt;
*[[Noreturn|noreturn]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Voir &#039;&#039;&#039;[[Solution pour les attributs C++11|Solution pour les attributs C++11 (compilateurs C++ améliorés par Clang)]]&#039;&#039;&#039; pour savoir comment remplacer la fonctionnalité des mots clés qui ne sont pas pris en charge dans les compilateurs C++ améliorés par Clang.&lt;br /&gt;
&lt;br /&gt;
==Utilisation de la compilation parallèle==&lt;br /&gt;
&lt;br /&gt;
La compilation parallèle permet aux compilateurs de traiter simultanément plusieurs fichiers source, en utilisant les coeurs distincts du processeur système, afin de réduire de façon significative la durée de la compilation.&lt;br /&gt;
&lt;br /&gt;
Pour activer la compilation parallèle dans l&#039;EDI pour un projet C++ donné, ouvrez le projet cible et suivez ces étapes :&lt;br /&gt;
&lt;br /&gt;
#Sélectionnez {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Compilateur C++|Compilateur C++]]}}, et activez l&#039;option &amp;quot;Activer la compilation groupée&amp;quot; sous &#039;&#039;&#039;Compilation générale&#039;&#039;&#039;.&lt;br /&gt;
#Sélectionnez {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Propriétés de projet|Propriétés de projet]]}} et :&lt;br /&gt;
##Activez l&#039;option &amp;quot;Exécuter le compilateur C++ dans un processus distinct&amp;quot;.&lt;br /&gt;
##Sélectionnez le nombre de sous-processus parallèles que vous souhaitez utiliser.&lt;br /&gt;
#:{{Note|Le nombre de sous-processus que vous choisissez ne peut pas être supérieur au nombre de coeurs de votre CPU.}}&lt;br /&gt;
&lt;br /&gt;
==Rubriques==&lt;br /&gt;
&lt;br /&gt;
*[[Compilateurs Win32 améliorés par Clang|BCC32C]]&lt;br /&gt;
*[[Compilateurs Win32 améliorés par Clang|BCC32X]]&lt;br /&gt;
*[[BCC64|BCC64]]&lt;br /&gt;
*[[BCC64X|BCC64X]]&lt;br /&gt;
*[[BCCIOSARM64|BCCIOSARM64]]&lt;br /&gt;
*[[BCCAARM|BCCAARM]]&lt;br /&gt;
*[[Différences entre les compilateurs C++ améliorés par Clang et les compilateurs C++ de précédente génération|Différences entre les compilateurs C++ améliorés par Clang et les compilateurs C++ de précédente génération]]&lt;br /&gt;
*[[Options de projet prises en charge par les compilateurs C++ améliorés par Clang|Options de projet prises en charge par les compilateurs C++ améliorés par Clang]]&lt;br /&gt;
*[[Options non prises en charge par les compilateurs C++ améliorés par Clang|Options non prises en charge par les compilateurs C++ améliorés par Clang]]&lt;br /&gt;
*[[Options de ligne de commande des en-têtes précompilés pour les compilateurs C++ améliorés par Clang|Options de ligne de commande des en-têtes précompilés pour les compilateurs C++ améliorés par Clang]]&lt;br /&gt;
*[[Utilisation des en-têtes précompilés avec les compilateurs C++ améliorés par Clang|Utilisation des en-têtes précompilés avec les compilateurs C++ améliorés par Clang]]&lt;br /&gt;
*[[Erreurs et avertissements des compilateurs C++ améliorés par Clang|Erreurs et avertissements des compilateurs C++ améliorés par Clang]]&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Fonctionnalités du C++ moderne prises en charge par les compilateurs C++ améliorés par Clang de RAD Studio|Fonctionnalités du C++ moderne prises en charge par les compilateurs C++ améliorés par Clang de RAD Studio]]&lt;br /&gt;
*[[Statut de conformité des fonctionnalités du langage C++ moderne|Statut de conformité des fonctionnalités du langage C++11 moderne]]&lt;br /&gt;
*[[Interfaces de ligne de commande des compilateurs C++ améliorés par Clang|Interfaces de ligne de commande des compilateurs C++ améliorés par Clang]]&lt;br /&gt;
&lt;br /&gt;
*[http://clang.llvm.org/ http://clang.llvm.org/ (EN)]&lt;br /&gt;
**[https://learn.microsoft.com/en-us/shows/goingnative-2012/clang-defending-c-from-murphy-s-million-monkeys https://learn.microsoft.com/en-us/shows/goingnative-2012/clang-defending-c-from-murphy-s-million-monkeys]&lt;br /&gt;
**[http://devimages.apple.com/llvm/videos/ExtendingClang.m4v http://devimages.apple.com/llvm/videos/ExtendingClang.m4v (EN)]&lt;br /&gt;
**[http://llvm.org/devmtg/2011-11/Gregor_ExtendingClang.pdf http://llvm.org/devmtg/2011-11/Gregor_ExtendingClang.pdf (EN)]&lt;br /&gt;
**[http://llvm.org/docs/index.html http://llvm.org/docs/index.html (EN)]&lt;br /&gt;
**[http://llvm.org/docs/Passes.html http://llvm.org/docs/Passes.html (EN)]&lt;br /&gt;
&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:XE5]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Compilateurs_C%2B%2B_am%C3%A9lior%C3%A9s_par_Clang&amp;diff=218899</id>
		<title>Compilateurs C++ améliorés par Clang</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=Compilateurs_C%2B%2B_am%C3%A9lior%C3%A9s_par_Clang&amp;diff=218899"/>
		<updated>2026-05-09T03:34:47Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Compilateurs C++}}&lt;br /&gt;
&lt;br /&gt;
La dernière génération des compilateurs C++ de {{Product}} est basée sur le [http://clang.llvm.org/ compilateur Clang (EN)] open-source, qui représente le frontal de [http://www.llvm.org/ l&#039;infrastructure du compilateur LLVM (EN)].&lt;br /&gt;
&lt;br /&gt;
{{Product}} fournit les compilateurs C++ suivants améliorés par Clang :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Compilateur&lt;br /&gt;
!Plate-forme&lt;br /&gt;
!Version de Clang&lt;br /&gt;
!Version de LLVM&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[Compilateurs Win32 améliorés par Clang|BCC32C]]&lt;br /&gt;
|Windows 32 bits&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |5.0&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |5.0&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[Compilateurs Win32 améliorés par Clang|BCC32X]] &amp;lt;ref&amp;gt;BCC32X utilise les indicateurs en ligne de commande Clang par mesure de compatibilité avec d&#039;autres compilateurs basés sur Clang (BCC64, BCCIOSARM64 et BCCAARM). BCC32C est compatible avec les indicateurs de compilateur classiques (BCC32).&amp;lt;/ref&amp;gt;&lt;br /&gt;
|Windows 32 bits&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |5.0&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |5.0&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCC64|BCC64]]&lt;br /&gt;
|Windows 64 bits&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |5.0&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |5.0&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCC64X|BCC64X]]&lt;br /&gt;
|Windows 64 bits&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |20.0&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |20.0&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCCIOSARM64|BCCIOSARM64]]&lt;br /&gt;
|iOS 64 bits&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |3.3&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |3.5&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[BCCAARM|BCCAARM]]&lt;br /&gt;
|Android&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |3.3&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |3.3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Différences entre les compilateurs C++ améliorés par Clang et les compilateurs C++ de précédente génération==&lt;br /&gt;
&lt;br /&gt;
Les compilateurs C++ améliorés par Clang ont une base de code entièrement nouvelle, et ils sont très différents des compilateurs C++ de précédente génération de {{Product}} :&lt;br /&gt;
&lt;br /&gt;
*[[BCC32|BCC32]] (Windows 32 bits)&lt;br /&gt;
&lt;br /&gt;
Voici quelques différences significatives entre les compilateurs C++ améliorés par Clang et les deux compilateurs C++ de précédente génération :&lt;br /&gt;
&lt;br /&gt;
*Les compilateurs C++ améliorés par Clang sont aussi des &#039;&#039;&#039;préprocesseurs&#039;&#039;&#039; lorsqu&#039;ils sont exécutés avec le commutateur &amp;lt;code&amp;gt;-E&amp;lt;/code&amp;gt;.&lt;br /&gt;
*:Pour Windows 64 bits, il existe également un [[CPP64, le préprocesseur pour Windows 64 bits|préprocesseur CPP64.EXE]] distinct.&lt;br /&gt;
*Les compilateurs C++ améliorés par Clang imposent la recherche de modèles en deux phases.&lt;br /&gt;
*:Ce qui signifie que les noms qui ne sont pas liés à un type dépendant sont recherchés lors de la première phase (avant l&#039;instanciation) et peuvent provoquer des erreurs que les compilateurs C++ de précédente génération ne signalaient pas. Lors de la deuxième phase (l&#039;instanciation), le code du modèle est à nouveau contrôlé pour vérifier que tous les appels sont valides pour les types dépendants. Pour de plus amples informations, voir [http://blog.llvm.org/2009/12/dreaded-two-phase-name-lookup.html Two-phase name lookup for Clang (EN)].&lt;br /&gt;
&lt;br /&gt;
Par ex. : le modèle peut effectuer plusieurs appels à des fonctions qui ne sont peut-être pas présentes pour ce type particulier.&lt;br /&gt;
&lt;br /&gt;
*Les compilateurs C++ améliorés par Clang n&#039;autorisent un argument par défaut que dans une déclaration de fonction.&lt;br /&gt;
*:Les compilateurs C++ de précédente génération autorisent également les arguments par défaut dans un pointeur de fonction ou une déclaration de clôture.&lt;br /&gt;
*Les compilateurs C++ améliorés par Clang n&#039;autorisent pas l&#039;utilisation de [[Sizeof|sizeof]] dans une directive du préprocesseur, telle que &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;#if sizeof(ATypeName) &amp;gt; 20&amp;lt;/source&amp;gt;.&lt;br /&gt;
*Les compilateurs C++ améliorés par Clang sont plus stricts concernant les conversions.&lt;br /&gt;
*:Par exemple, la conversion de constantes chaîne en &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;char *&amp;lt;/source&amp;gt; génère un avertissement (la conversion d&#039;un littéral chaîne en &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;char *&amp;lt;/source&amp;gt; est désapprouvée). D&#039;autre part, l&#039;initialisation d&#039;un &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;char *&amp;lt;/source&amp;gt; avec un &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;unsigned char *&amp;lt;/source&amp;gt; génère une erreur (Impossible d&#039;initialiser une variable de type &#039;char *&#039; avec une rvalue de type &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;BYTE *&amp;lt;/source&amp;gt;, aussi connue comme &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;unsigned char *&amp;lt;/source&amp;gt;).&lt;br /&gt;
*Les compilateurs C++ améliorés par Clang n&#039;autorisent pas la combinaison de &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;__try&amp;lt;/source&amp;gt; avec &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;catch&amp;lt;/source&amp;gt; : en effet, &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;catch&amp;lt;/source&amp;gt; doit être utilisé avec &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;try&amp;lt;/source&amp;gt;, et &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;__try&amp;lt;/source&amp;gt; doit être utilisé avec &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;__except&amp;lt;/source&amp;gt; ou &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;__finally&amp;lt;/source&amp;gt;, voire les deux.&lt;br /&gt;
*Les identificateurs Unicode ne sont pas pris en charge par les compilateurs C++ améliorés par Clang.&lt;br /&gt;
*[[CPP32.EXE, le préprocesseur du compilateur C|CPP32]] prend en charge l&#039;option &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;-Hp&amp;lt;/source&amp;gt; et imprime les informations de garde des en-têtes utilisées par [[Expert En-tête précompilé|l&#039;expert En-tête précompilé]].&lt;br /&gt;
*Le style Unix &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;#line&amp;lt;/source&amp;gt; n&#039;est pas la valeur &amp;lt;source lang=&amp;quot;cpp&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;#line&amp;lt;/source&amp;gt; par défaut de CPP32, et ainsi de suite.&lt;br /&gt;
*Les compilateurs C++ améliorés par Clang ne prennent pas en charge les attributs C++11 [[Final (C++)|final]], [[Deprecated|deprecated]] et [[Noreturn|noreturn]]. Voir [[Solution pour les attributs C++11|Solution pour les attributs C++11]] pour trouver une solution de contournement dans les compilateurs C++ améliorés par Clang.&lt;br /&gt;
*De nombreuses options des compilateurs C++ de précédente génération ne sont pas prises en charge par les compilateurs C++ améliorés par Clang, et vice versa :&lt;br /&gt;
**[[Options de projet prises en charge par les compilateurs C++ améliorés par Clang|Options de projet prises en charge par les compilateurs C++ améliorés par Clang]]&lt;br /&gt;
**[[Options non prises en charge par les compilateurs C++ améliorés par Clang|Options non prises en charge par les compilateurs C++ améliorés par Clang]]&lt;br /&gt;
*Les compilateurs C++ améliorés par C ne traitent pas __FUNC__ en tant que macro prédéfinie. C&#039;est plutôt un identificateur prédéfini (une variable function-local prédéfinie) qui capture les noms de fonction en tant que tableau de caractères statique.&lt;br /&gt;
&lt;br /&gt;
Pour de plus amples informations, voir &#039;&#039;&#039;[[Différences entre les compilateurs C++ améliorés par Clang et les compilateurs C++ de précédente génération|Différences entre les compilateurs C++ améliorés par Clang et les compilateurs C++ de précédente génération]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Comment les options du compilateur C++ de précédente génération sont converties en options des compilateurs C++ améliorés par Clang===&lt;br /&gt;
&lt;br /&gt;
Voir &#039;&#039;&#039;[[Options de projet prises en charge par les compilateurs C++ améliorés par Clang|Options de projet prises en charge par les compilateurs C++ améliorés par Clang]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Problèmes fréquents lors de la compilation d&#039;un projet du compilateur C++ de précédente génération avec les compilateurs C++ améliorés par Clang===&lt;br /&gt;
&lt;br /&gt;
Il est probable que vous rencontrerez de nouvelles erreurs dues à la rigueur de la conformité ANSI des compilateurs C++ améliorés par Clang.&lt;br /&gt;
&lt;br /&gt;
Pour de plus amples informations, voir :&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Erreurs et avertissements des compilateurs C++ améliorés par Clang|Erreurs et avertissements des compilateurs C++ améliorés par Clang]]&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[[Différences entre les compilateurs C++ améliorés par Clang et les compilateurs C++ de précédente génération|Différences entre les compilateurs C++ améliorés par Clang et les compilateurs C++ de précédente génération]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Prise en charge des en-têtes précompilés==&lt;br /&gt;
&lt;br /&gt;
Les compilateurs C++ améliorés par Clang prennent en charge l&#039;utilisation d&#039;un en-tête précompilé, nommé par défaut &amp;lt;code&amp;gt;&amp;amp;lt;projet&amp;amp;gt;&amp;amp;lt;n&amp;amp;gt;PCH.h&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour de plus amples informations, voir &#039;&#039;&#039;[[Utilisation des en-têtes précompilés avec les compilateurs C++ améliorés par Clang|Utilisation des en-têtes précompilés avec les compilateurs C++ améliorés par Clang]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Macros prédéfinies==&lt;br /&gt;
&lt;br /&gt;
Les macros prédéfinies prises en charge par les compilateurs améliorés par Clang sont nombreuses. Par exemple, BCCIOSARM64 prend en charge des définitions telles que &amp;lt;code&amp;gt;__APPLE__&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;__BCCPLUSPLUS__&amp;lt;/code&amp;gt;.{{f|cmd|&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Pour afficher toutes les macros prédéfinies qui sont prises en charge, utilisez l&#039;interface de ligne de commande de votre compilateur, comme suit :&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:{{Code|echo {{!}} {{Placeholder|compiler}} -E -dM -}}&lt;br /&gt;
&lt;br /&gt;
L&#039;option {{Code|-E}} exécute le préprocesseur uniquement. {{Code|-dM}} vide toutes les macros définies lors du prétraitement et s&#039;arrête. Le {{Code|-}} final prend l&#039;entrée de stdin, qui est envoyée via le canal à partir de {{Code|l&#039;echo}} vide.}}&lt;br /&gt;
&lt;br /&gt;
Pour de plus amples informations, voir [[Macros prédéfinies|Macros prédéfinies]].&lt;br /&gt;
&lt;br /&gt;
==Mots clés==&lt;br /&gt;
&lt;br /&gt;
Cette section contient une liste alphabétique des [[Liste alphabétique des mots clés - Index|mots clés C++]] qui nécessitent un traitement spécial lors de leur utilisation avec les compilateurs C++ améliorés par Clang ou qui ne sont pas pris en charge par ces compilateurs.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Pris en charge&lt;br /&gt;
!Non pris en charge&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
*[[Asm, asm, asm|asm, _asm, __asm]]&lt;br /&gt;
*[[Auto|auto]]&lt;br /&gt;
*[[Cdecl, cdecl, cdecl|cdecl, _cdecl, __cdecl]]&lt;br /&gt;
*[[Declspec|__declspec]]&lt;br /&gt;
*[[Export, export|_export, __export]]&lt;br /&gt;
*[[Fastcall, fastcall|_fastcall, __fastcall]]&lt;br /&gt;
*[[Import, import|_import, __import]]&lt;br /&gt;
*[[Pascal, pascal, pascal|pascal, _pascal, __pascal]]&lt;br /&gt;
*[[Property|__property]]&lt;br /&gt;
*[[Stdcall, stdcall|_stdcall, __stdcall]]&lt;br /&gt;
|&lt;br /&gt;
*[[Deprecated|deprecated]]&lt;br /&gt;
*[[Final (C++)|final]]&lt;br /&gt;
*[[Noreturn|noreturn]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Voir &#039;&#039;&#039;[[Solution pour les attributs C++11|Solution pour les attributs C++11 (compilateurs C++ améliorés par Clang)]]&#039;&#039;&#039; pour savoir comment remplacer la fonctionnalité des mots clés qui ne sont pas pris en charge dans les compilateurs C++ améliorés par Clang.&lt;br /&gt;
&lt;br /&gt;
==Utilisation de la compilation parallèle==&lt;br /&gt;
&lt;br /&gt;
La compilation parallèle permet aux compilateurs de traiter simultanément plusieurs fichiers source, en utilisant les coeurs distincts du processeur système, afin de réduire de façon significative la durée de la compilation.&lt;br /&gt;
&lt;br /&gt;
Pour activer la compilation parallèle dans l&#039;EDI pour un projet C++ donné, ouvrez le projet cible et suivez ces étapes :&lt;br /&gt;
&lt;br /&gt;
#Sélectionnez {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Compilateur C++|Compilateur C++]]}}, et activez l&#039;option &amp;quot;Activer la compilation groupée&amp;quot; sous &#039;&#039;&#039;Compilation générale&#039;&#039;&#039;.&lt;br /&gt;
#Sélectionnez {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Propriétés de projet|Propriétés de projet]]}} et :&lt;br /&gt;
##Activez l&#039;option &amp;quot;Exécuter le compilateur C++ dans un processus distinct&amp;quot;.&lt;br /&gt;
##Sélectionnez le nombre de sous-processus parallèles que vous souhaitez utiliser.&lt;br /&gt;
#:{{Note|Le nombre de sous-processus que vous choisissez ne peut pas être supérieur au nombre de coeurs de votre CPU.}}&lt;br /&gt;
&lt;br /&gt;
==Rubriques==&lt;br /&gt;
&lt;br /&gt;
*[[Compilateurs Win32 améliorés par Clang|BCC32C]]&lt;br /&gt;
*[[Compilateurs Win32 améliorés par Clang|BCC32X]]&lt;br /&gt;
*[[BCC64|BCC64]]&lt;br /&gt;
*[[BCC64X|BCC64X]]&lt;br /&gt;
*[[BCCIOSARM64|BCCIOSARM64]]&lt;br /&gt;
*[[BCCAARM|BCCAARM]]&lt;br /&gt;
*[[Différences entre les compilateurs C++ améliorés par Clang et les compilateurs C++ de précédente génération|Différences entre les compilateurs C++ améliorés par Clang et les compilateurs C++ de précédente génération]]&lt;br /&gt;
*[[Options de projet prises en charge par les compilateurs C++ améliorés par Clang|Options de projet prises en charge par les compilateurs C++ améliorés par Clang]]&lt;br /&gt;
*[[Options non prises en charge par les compilateurs C++ améliorés par Clang|Options non prises en charge par les compilateurs C++ améliorés par Clang]]&lt;br /&gt;
*[[Options de ligne de commande des en-têtes précompilés pour les compilateurs C++ améliorés par Clang|Options de ligne de commande des en-têtes précompilés pour les compilateurs C++ améliorés par Clang]]&lt;br /&gt;
*[[Utilisation des en-têtes précompilés avec les compilateurs C++ améliorés par Clang|Utilisation des en-têtes précompilés avec les compilateurs C++ améliorés par Clang]]&lt;br /&gt;
*[[Erreurs et avertissements des compilateurs C++ améliorés par Clang|Erreurs et avertissements des compilateurs C++ améliorés par Clang]]&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Fonctionnalités du C++ moderne prises en charge par les compilateurs C++ améliorés par Clang de RAD Studio|Fonctionnalités du C++ moderne prises en charge par les compilateurs C++ améliorés par Clang de RAD Studio]]&lt;br /&gt;
*[[Statut de conformité des fonctionnalités du langage C++ moderne|Statut de conformité des fonctionnalités du langage C++11 moderne]]&lt;br /&gt;
*[[Interfaces de ligne de commande des compilateurs C++ améliorés par Clang|Interfaces de ligne de commande des compilateurs C++ améliorés par Clang]]&lt;br /&gt;
&lt;br /&gt;
*[http://clang.llvm.org/ http://clang.llvm.org/ (EN)]&lt;br /&gt;
**[https://learn.microsoft.com/en-us/shows/goingnative-2012/clang-defending-c-from-murphy-s-million-monkeys https://learn.microsoft.com/en-us/shows/goingnative-2012/clang-defending-c-from-murphy-s-million-monkeys]&lt;br /&gt;
**[http://devimages.apple.com/llvm/videos/ExtendingClang.m4v http://devimages.apple.com/llvm/videos/ExtendingClang.m4v (EN)]&lt;br /&gt;
**[http://llvm.org/devmtg/2011-11/Gregor_ExtendingClang.pdf http://llvm.org/devmtg/2011-11/Gregor_ExtendingClang.pdf (EN)]&lt;br /&gt;
**[http://llvm.org/docs/index.html http://llvm.org/docs/index.html (EN)]&lt;br /&gt;
**[http://llvm.org/docs/Passes.html http://llvm.org/docs/Passes.html (EN)]&lt;br /&gt;
&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:XE5]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=BCC64X&amp;diff=218898</id>
		<title>BCC64X</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Athens/f/index.php?title=BCC64X&amp;diff=218898"/>
		<updated>2026-05-09T03:34:47Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23446&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Compilateurs C++ améliorés par Clang}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;BCC64X&#039;&#039;&#039; est un compilateur C++ de {{Product}} pour Windows 64 bits (Moderne).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[BCC64X|BCC64X]] est basé sur Clang. Pour plus d&#039;informations sur les fonctionnalités communes entre le compilateur [[BCC64X|BCC64X]] et les autres compilateurs C++ améliorés par Clang, voir &#039;&#039;&#039;[[Compilateurs C++ améliorés par Clang|Compilateurs C++ améliorés par Clang]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{Notes|&lt;br /&gt;
&lt;br /&gt;
* Le compilateur C++ [[BCC64X|BCC64X]] basé sur Clang 20,1 est maintenant la version C++23 par défaut. Si nécessaire, vous pouvez toujours cibler C++20 ou C++17.&lt;br /&gt;
* Pour Windows 32 bits, utilisez [[Compilateurs Win32 améliorés par Clang|BCC32C]] (compilateur amélioré par Clang) ou [[BCC32|BCC32]] (compilateur d&#039;ancienne génération).&lt;br /&gt;
* [[BCC64X|BCC64X]] est la chaîne d&#039;outils/compilateur Win64 Moderne qui est recommandée pour toutes les applications. Cependant, l&#039;ancien [[BCC64|BCC64]] existe toujours.}}&lt;br /&gt;
&lt;br /&gt;
==Informations générales==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Champ&lt;br /&gt;
! Valeur&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Version de Clang&lt;br /&gt;
|20.1&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Version de LLVM&lt;br /&gt;
|20.1&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Conventions d&#039;appel&lt;br /&gt;
|[[Wikipedia:X86 calling conventions#Convention d&#039;appel Microsoft x64|Microsoft x64]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Substantypage&lt;br /&gt;
|[http://www.uclibc.org/docs/psABI-ia64.pdf Itanium]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Bibliothèque standard&lt;br /&gt;
|[https://libcxx.llvm.org/ LLVM libc++]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| C++ Runtime&lt;br /&gt;
| Personnalisé, basé sur [https://www.mingw-w64.org/downloads/#llvm-mingw MinGW-LLVM]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| C Runtime&lt;br /&gt;
|[https://devblogs.microsoft.com/cppblog/introducing-the-universal-crt/ UCRT]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Fichiers de sortie==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Type de fichier&lt;br /&gt;
! Extension de fichier&lt;br /&gt;
! Format de fichier&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Exécutable&lt;br /&gt;
|{{Path|.exe}}&lt;br /&gt;
|[[Wikipedia:Portable Executable|PE64 (PE32+)]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Bibliothèque partagée&lt;br /&gt;
|{{Path|.dll}}&lt;br /&gt;
|[[Wikipedia:Portable Executable|PE64 (PE32+)]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Bibliothèque statique&lt;br /&gt;
| {{Path|.lib}} et {{Path|lib[name].a}}&lt;br /&gt;
| Bibliothèque de fichiers objet, voir [[Auto Linking|Liaison automatique]] pour plus d&#039;informations sur les extensions.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Objet compilé&lt;br /&gt;
|{{Path|.o}}&lt;br /&gt;
|[[Wikipedia:COFF|COFF64]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Informations de débogage&lt;br /&gt;
|{{Path|.pdb}}&lt;br /&gt;
|[[PDB Debug File|PDB]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Note| Le nouveau Clang prend en charge la liaison dynamique et statique des packages. Vous pouvez lier ces fichiers à vos {code|EXE}} ou {{code|DLL}}.}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Pour éviter les conflits à l&#039;exécution lorsque plusieurs versions de {{Product}} sont installées, les bibliothèques d&#039;exécution partagées ({{code|libc++.dll}}) ont maintenant en suffixe le numéro de version. BDS ({{code|libc++-370.dll}}).}}&lt;br /&gt;
&lt;br /&gt;
==Ecriture du code C++ pour BCC64X==&lt;br /&gt;
&lt;br /&gt;
Pour écrire du code C++ spécifiquement pour BCC64X, utilisez :&lt;br /&gt;
&lt;br /&gt;
 #if defined(__BORLANDC__) &amp;amp;amp;&amp;amp;amp; defined(_WIN64) &amp;amp;amp;&amp;amp;amp; defined(__MINGW64__)&lt;br /&gt;
&lt;br /&gt;
Si vous visez une release spécifique, ajoutez une vérification en procédant comme suit :&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 #if __clang_major__ == 20.1&lt;br /&gt;
   #pragma message(&amp;quot;Using version 20.1 of Clang&amp;quot;)&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour plus d&#039;informations, voir [[Compilateurs C++ améliorés par Clang#Macros prédéfinies|Compilateurs C++ améliorés par Clang, Macros prédéfinies]].&lt;br /&gt;
&lt;br /&gt;
==Chaîne d&#039;outils==&lt;br /&gt;
&lt;br /&gt;
La &#039;&#039;&#039;chaîne d&#039;outils C++ Windows 64 bits Moderne&#039;&#039;&#039; (bcc64x) est une implémentation des extensions Clang et des fonctionnalités C++Builder avec une technologie adaptée aux nouvelles plates-formes. Avec le [[Technical Details About LLD|lieur LLD]], la nouvelle RTL, et d&#039;autres fonctionnalités, la nouvelle chaîne d&#039;outils Clang est la [[How to Choose a Win64 C++ Toolchain|chaîne d&#039;outils C++ que nous recommandons]].&lt;br /&gt;
&lt;br /&gt;
Elle utilise la STL LLVM libc++, une RTL C++ personnalisée, le UCRT Windows pour le runtime C, et génère des fichiers objet au format COFF64 avec des informations de débogage PDB.&lt;br /&gt;
&lt;br /&gt;
Pour ajouter cette chaîne d&#039;outils à votre projet C++ existant, procédez comme suit :&lt;br /&gt;
&lt;br /&gt;
#Cliquez avec le bouton droit sur le noeud &#039;&#039;&#039;[[Présentation des plates-formes cible|Plates-formes cible]]&#039;&#039;&#039; dans la vue arborescente Projets.&lt;br /&gt;
# Sélectionnez &#039;&#039;&#039;Ajouter une plate-forme&#039;&#039;&#039;.&lt;br /&gt;
# Choisissez &#039;&#039;&#039;Windows 64 bits (Moderne&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
{{Note| Vous pouvez facilement permuter entre la nouvelle et l&#039;ancienne plate-forme Win64, car les deux sont installées et peuvent être ajoutées à un projet, ce qui facilite la mise à niveau.}}&lt;br /&gt;
&lt;br /&gt;
{{Attention| Les anciennes chaînes d&#039;outils proposaient plusieurs versions du runtime pour gérer séparément les applications à thread unique et les applications multithreads. La chaîne d&#039;outils moderne a un seul runtime [[Programmes multithreads|multithread]]. Par conséquent, vous pouvez uniquement utiliser un runtime multithread. Si votre application utilise un thread unique, ce runtime convient quand même.}}&lt;br /&gt;
{{Note| {{code|_setmaxstdio}} et {{code|_getstdiomax}} sont des fonctionnalités runtime de Microsoft (UCRT). Ces fonctionnalités sont uniquement prises en charge sur Win64x.}} &lt;br /&gt;
&lt;br /&gt;
===Comment tester le nouveau compilateur BCC64X===&lt;br /&gt;
&lt;br /&gt;
Dans {{Product}}, nous recommandons aux développeurs d&#039;utiliser le moyen suivant pour écrire du code qui détecte si la nouvelle chaîne d&#039;outils est utilisée :&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Méthode recommandée :&#039;&#039;&#039; utilisez un test de macro pour {{code|1=_CODEGEARC_}} et {{Code|1=_clang_major_ &amp;amp;gt;= 20,1}} pour cette version et les suivantes. {{Product}} recommande cette approche, car la version de Clang changera au fil du temps, et ce code restera valide pour la version actuelle et les futures versions de cette chaîne d&#039;outils. Nous recommandons d&#039;effectuer cette vérification pour votre code.&lt;br /&gt;
* Utilisez un test de macro {{code|1=_CODEGEARC_}} et {{Code|1=_clang_major_ == 20,1}} pour cette version spécifique. Utilisez uniquement cette approche pour tester la version initiale de la chaîne d&#039;outils. Ce test échouera à détecter les versions futures de la chaîne d&#039;outils. C&#039;est pourquoi il est préférable d&#039;utiliser le test précédent.&lt;br /&gt;
&lt;br /&gt;
{{Note| Découvrez comment détecter LLVM et sa version [https://stackoverflow.com/questions/1617877/how-to-detect-llvm-and-its-version-through-define-directives/16342320#16342320 ici].}}&lt;br /&gt;
&lt;br /&gt;
*Utilisez les macros {{code|1=_has_feature}} et {{code|1=_has_builtin}} pour tester les fonctionnalités C++ ou compilateur/LLVM qui ne sont pas propres à {{CBuilder}} mais s&#039;appliquent à plusieurs chaînes d&#039;outils basées sur Clang. Pour en savoir plus sur les macros de vérification de fonctionnalité, consultez [https://clang.llvm.org/docs/LanguageExtensions.html#feature-checking-macros cette page].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L&#039;exemple de code ci-dessous illustre le test recommandé précédemment pour la nouvelle chaîne d&#039;outils. Utilisez ce code pour encapsuler du code spécifique à la chaîne d&#039;outils, comme l&#039;inclusion des en-têtes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;tchar.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int _tmain(int argc, _TCHAR* argv[])&lt;br /&gt;
{&lt;br /&gt;
      #if defined(__CODEGEARC__) &amp;amp;&amp;amp; (__clang_major__ &amp;gt;= 20.1)&lt;br /&gt;
           std::cout &amp;lt;&amp;lt; &amp;quot;C++Builder Modern Compiler, 12.1 or newer&amp;quot;;&lt;br /&gt;
      #else&lt;br /&gt;
           std::cout &amp;lt;&amp;lt; &amp;quot;A different compiler&amp;quot;;&lt;br /&gt;
      #endif&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour migrer votre base de code existante, il est utile d&#039;inclure le code spécifique à la nouvelle chaîne d&#039;outils à l&#039;intérieur d&#039;une telle macro.&lt;br /&gt;
&lt;br /&gt;
{{Note| Voir la liste complète des macros à la page [[Macros prédéfinies|Macros prédéfinies]].}}&lt;br /&gt;
&lt;br /&gt;
===Ajustement des chemins===&lt;br /&gt;
&lt;br /&gt;
Pour garantir que le compilateur trouve les bons chemins, ajoutez la variable {Code|$(CC_SUFFIX)}} au chemin de bibliothèque. &lt;br /&gt;
&lt;br /&gt;
Par exemple :&lt;br /&gt;
&lt;br /&gt;
 $(BDSLIB)\$(PLATFORM)$(CC_SUFFIX)\debug;..\..\..\..\..\Public\Documents\Embarcadero\Studio\15.0\Samples\CPP\Mobile Samples\User Interface\KeyboardToolbar\&lt;br /&gt;
&lt;br /&gt;
La variable {{Code|$CC_SUFFIX}} permet de gérer la différence entre les deux chaînes d&#039;outils Win64. La nouvelle chaîne d&#039;outils, bcc64x, comporte un X à la fin, ce qui signifie que l&#039;emplacement correct des fichiers avec lesquels une liaison est établie est ‘win64x’. La variable {{Code|$CC_SUFFIX}} prend la valeur X lorsque cette plate-forme est utilisée. &lt;br /&gt;
&lt;br /&gt;
===Tests pour Windows vs. Tests pour une chaîne d&#039;outils spécifique===&lt;br /&gt;
&lt;br /&gt;
Lorsque vous utilisez du code source C++ tierce partie, vous pouvez avoir des en-têtes, des définitions de méthode, etc. propres à Windows mais incorrectement encapsulés dans une macro qui teste la chaîne d&#039;outils (généralement MSVC). Pour régler cela, remplacez ces macros par un test de plate-forme plutôt qu&#039;un test de chaîne d&#039;outils.&lt;br /&gt;
&lt;br /&gt;
Pour tester Windows, que vous utilisiez MSVC, {{CBuilder}} ou une autre chaîne d&#039;outils, vérifiez si {{code|_WIN32}} ou {{code|_WIN64}} est défini. {CBuilder}} et MSVC définissent tous deux ces macros. Cette approche est recommandée lorsque le code est propre à Windows.&lt;br /&gt;
&lt;br /&gt;
Les développeurs ont de moins en moins recours à des tests qui combinent plusieurs plates-formes (Windows) et des tests de chaînes d&#039;outils. Cela est dû à l&#039;utilisation croissante d&#039;autres chaînes d&#039;outils comme RAD Studio et {{code|mingw-llvm}}. Cependant, ce problème persiste lors de l&#039;intégration de bibliothèques ou de code source C++ tierce partie. &lt;br /&gt;
&lt;br /&gt;
===Indicateurs d&#039;optimisation des pilotes===&lt;br /&gt;
&lt;br /&gt;
Lorsqu&#039;on compare les résultats entre les binaires générés en utilisant la chaîne d&#039;outils COFF version 20.1 et ELF version 5, d&#039;importantes différences sont observées quant à la performance et la taille des binaires.&lt;br /&gt;
&lt;br /&gt;
Utilisez l&#039;optimisation des relocalisations souples pour optimiser la performance et la taille des binaires avec l&#039;un des indicateurs suivants :&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Compilateur&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Mode de configuration&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Indicateur&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|LLD&lt;br /&gt;
| Release&lt;br /&gt;
|{{code|--strip-all}}&lt;br /&gt;
| Elimine la table de symboles {{code|COFF}} générée par leur lieur, produisant des images plus petites.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|LLD&lt;br /&gt;
|&lt;br /&gt;
|{{code|--gc-sections}}&lt;br /&gt;
| Active la récupération de place des sections input non utilisées. &amp;lt;ref name=&amp;quot;FlagOption&amp;quot; /&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Clang/CC1&lt;br /&gt;
|&lt;br /&gt;
|{{code|-fdata-sections}}&lt;br /&gt;
|  Place chaque donnée dans sa propre section. &amp;lt;ref name=&amp;quot;FlagOption&amp;quot; /&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Clang/CC1&lt;br /&gt;
|&lt;br /&gt;
|{{code|-ffunction-sections}}&lt;br /&gt;
| Place chaque fonction dans sa propre section. &amp;lt;ref name=&amp;quot;FlagOption&amp;quot; /&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Clang/CC1&lt;br /&gt;
| Release&lt;br /&gt;
|{{code|-vectorize-loops}}&lt;br /&gt;
| Active la vectorisation automatique des boucles pour l&#039;exécution parallèle.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;references&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ref name=&amp;quot;FlagOption&amp;quot;&amp;gt;Ces options sont désactivées par défaut dans l&#039;EDI mais peuvent être manuellement activées dans les options de projet.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;/references&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Liaison de DLL===&lt;br /&gt;
&lt;br /&gt;
====Construction d&#039;une DLL et génération du fichier d&#039;exportation {{code|.def}}====&lt;br /&gt;
&lt;br /&gt;
{{Product}} fournit {{code|llvm-dlltool.exe}}, car il fait partie du {{code|llvm-project}} à partir duquel notre compilateur bcc64x.exe amélioré par Clang est construit. Pour générer un fichier {{code|.def}}, il est recommandé d&#039;utiliser l&#039;outil {{code|tdump.exe}}.&lt;br /&gt;
&lt;br /&gt;
====Liaison directe avec une DLL====&lt;br /&gt;
&lt;br /&gt;
La nouvelle chaîne d&#039;outils permet de lier directement un fichier {{code|.dll}}. &lt;br /&gt;
Vous pouvez utiliser la fonction {{code|-lmydll}} ou, si une copie du fichier {{code|.dll}} est présente dans le chemin {{code|LIBRARY}}, utiliser {{code|#pragma comment(lib, &amp;quot;mydll&amp;quot;)}} sans qu&#039;il soit nécessaire d&#039;avoir une bibliothèque d’importation.&lt;br /&gt;
&lt;br /&gt;
Pour plus d&#039;informations, voir la documentation [[Auto Linking#Liaison automatique des bibliothèques avec Win64x|Liaison automatique]].&lt;br /&gt;
&lt;br /&gt;
Le lieur peut être invoqué manuellement via le compilateur si le chemin suivant est ajouté au lieur :&lt;br /&gt;
&lt;br /&gt;
 libclang_rt.builtins-x86_64.a&lt;br /&gt;
&lt;br /&gt;
====Création de bibliothèques d’importation DLL====&lt;br /&gt;
&lt;br /&gt;
RAD Studio permet maintenant de lier une &#039;&#039;&#039;.dll&#039;&#039;&#039; directement, sans avoir à passer par une bibliothèque d’importation. Cette nouvelle implémentation ne concerne que les plates-formes Win64x.&lt;br /&gt;
&lt;br /&gt;
Cependant, la bibliothèque d’importation est généralement utilisée pour importer un fichier &#039;&#039;&#039;.dll&#039;&#039;&#039;, car le lieur recherchera d&#039;abord les bibliothèques, et en dernier les fichiers .&#039;&#039;&#039;dll&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La chaîne d&#039;outils prend en charge toute bibliothèque COFF. Vous pouvez toutefois créer la vôtre.&lt;br /&gt;
&lt;br /&gt;
Pour créer votre propre bibliothèque d’importation (&amp;lt;code&amp;gt;.lib&amp;lt;/code&amp;gt;), procédez comme suit :&lt;br /&gt;
&lt;br /&gt;
# Obtenez le fichier de définition (&amp;lt;code&amp;gt;.def&amp;lt;/code&amp;gt;) de la DLL.{{Note|Le fichier &amp;lt;code&amp;gt;.def&amp;lt;/code&amp;gt; peut être généré depuis un fichier &amp;lt;code&amp;gt;.dll&amp;lt;/code&amp;gt; en utilisant notre outil &amp;lt;strong&amp;gt;&amp;lt;code&amp;gt;tdump&amp;lt;/code&amp;gt;&amp;lt;/strong&amp;gt;.  }}&lt;br /&gt;
# Depuis l&#039;outil &#039;&#039;&#039;tdump&#039;&#039;&#039;, exécutez la commande suivante pour créer le fichier &amp;lt;code&amp;gt;.def&amp;lt;/code&amp;gt; :&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
tdump -def mydll.dll mydll.def&amp;lt;/source&amp;gt;{{Note|Un fichier &amp;lt;code&amp;gt;.def&amp;lt;/code&amp;gt; est du texte brut. Ouvrez le fichier et assurez-vous qu&#039;il contient &#039;&#039;LIBRARY&#039;&#039; &amp;lt;code&amp;gt;&amp;amp;lt;dllname&amp;amp;gt;.dll&amp;lt;/code&amp;gt; avec le nom de &amp;lt;code&amp;gt;&amp;amp;lt;dllname&amp;amp;gt;&amp;lt;/code&amp;gt; correct.}}&lt;br /&gt;
# Utilisez le nouveau lieur [[Technical Details About LLD|Lieur LLD]] pour générer une bibliothèque d’importation en exécutant la commande suivante dans l&#039;invite de commande de RAD Studio :&amp;lt;br /&amp;gt;&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
ld.lld.exe -m i386pep --out-implib file.lib file.def&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;EDI crée automatiquement votre bibliothèque d’importation DLL lors de la construction. Vous pouvez aussi le faire manuellement en exécutant le code suivant au niveau de la ligne de commande :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
bcc64x -tD -Xlinker --out-implib=dll.lib dll.cpp&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ou&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
bcc64x -tD dll.cpp -Wl,--out-implib,dll.lib&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compilation parallèle==&lt;br /&gt;
&lt;br /&gt;
Les projets C++Builder utilisant la nouvelle chaîne d&#039;outils Win64 peuvent être compilés en parallèle par défaut. La compilation s&#039;effectue plus rapidement avec bcc64x qu&#039;avec :&lt;br /&gt;
&lt;br /&gt;
*--jobs, en utilisant l&#039;ancien bcc64 (ancienne chaîne d&#039;outils Win64).&lt;br /&gt;
* CMake &amp;amp;amp; Ninja, en utilisant l&#039;ancien et le nouveau bcc64/x.&lt;br /&gt;
* Visual C++, avec CMake et Ninja et le commutateur de ligne de commande /MP.&lt;br /&gt;
&lt;br /&gt;
Ce paramètre est activé par défaut pour les projets utilisant cette plate-forme. Consultez la documentation suivante pour configurer les paramètres ou comprendre le fonctionnement.&lt;br /&gt;
&lt;br /&gt;
===Comprendre le fonctionnement===&lt;br /&gt;
&lt;br /&gt;
La compilation parallèle des projets C++Builder combine deux fonctionnalités : {{code|batch compilation}}, où le compilateur reçoit plusieurs fichiers C++ à la fois plutôt que d&#039;invoquer la compilation pour un seul fichier à la fois, et {{code|--jobs}}, où il traite les fichiers reçus en parallèle.&lt;br /&gt;
&lt;br /&gt;
Ainsi, le compilateur reçoit beaucoup de fichiers à compiler (la compilation en lots ou compilation groupée) et doit les compiler en parallèle (--jobs).&lt;br /&gt;
&lt;br /&gt;
Pourquoi activer les deux ? Si vous effectuez uniquement une compilation par lots (compilation groupée), le compilateur compilera tous les fichiers par une seule invocation du fichier EXE, mais il devra les traiter les uns après les autres en série. Si vous utilisez uniquement {{code|--jobs}}, la compilation s&#039;effectue en parallèle, mais sur un seul fichier, ce qui n&#039;a pas d&#039;intérêt. Il est donc nécessaire d&#039;activer les deux paramètres : (a) la compilation simultanée de plusieurs fichiers et (b) l&#039;exécution en parallèle.&lt;br /&gt;
&lt;br /&gt;
===Comprendre le fonctionnement de la compilation parallèle ainsi que l&#039;utilisation de la CPU===&lt;br /&gt;
&lt;br /&gt;
Les informations ci-dessous vous aideront à comprendre comment la compilation par lots avec {{Code|--jobs}} fonctionne et comment optimiser vos environnements de construction pour accélérer et améliorer la compilation tout en utilisant vos ressources au mieux.&lt;br /&gt;
&lt;br /&gt;
====Sortie du compilateur====&lt;br /&gt;
&lt;br /&gt;
Les messages du compilateur ne concernent qu&#039;un fichier à la fois. Même si la compilation s&#039;exécute en parallèle, les messages relatifs à chaque fichier sont générés à la fin de l&#039;opération.&lt;br /&gt;
&lt;br /&gt;
En cas d&#039;erreur de compilation, le processus s&#039;arrête. Après l&#039;erreur, des messages de compilation réussie peuvent s&#039;afficher, car le processus continue pour les autres fichiers compilés en parallèle.&lt;br /&gt;
&lt;br /&gt;
====Systèmes de compilation====&lt;br /&gt;
&lt;br /&gt;
Le système de compilation en parallèle &#039;--jobs&#039; peut être utilisé depuis l&#039;EDI et la ligne de commande &#039;&#039;&#039;MSBuild&#039;&#039;&#039; ainsi que directement via la ligne de commande ‘bcc64x’.&lt;br /&gt;
&lt;br /&gt;
Sachez que vous pouvez &#039;&#039;tout à fait&#039;&#039; utiliser cette commande pour l&#039;intégration continue (CI), les serveurs de build, etc. lorsque vous effectuez la compilation via une commande &#039;&#039;&#039;MSBuild&#039;&#039;&#039; en ligne de commande. Vous avez d&#039;autres possibilités que l&#039;appel direct du compilateur ; le système de compilation par défaut peut effectuer des compilations parallèles depuis la ligne de commande.&lt;br /&gt;
&lt;br /&gt;
Les constructions ou les compilations s&#039;effectuent normalement  ; la compilation parallèle est utilisée par défaut. Si vous ouvrez le Gestionnaire de tâches, vous pouvez voir un processus bcc64x unique qui utilise plusieurs threads, et approche les 100 % d&#039;utilisation de la CPU.&lt;br /&gt;
&lt;br /&gt;
[[File:C++ parallel building (batch and jobs) options.png|680px]]&lt;br /&gt;
&lt;br /&gt;
Pour vérifier si votre projet utilise la compilation en parallèle, ouvrez la fenêtre Options de projet :&lt;br /&gt;
&lt;br /&gt;
# Assurez-vous que la plate-forme Windows 64 bits Moderne est sélectionnée et activée dans votre projet.&lt;br /&gt;
# Accédez à Options de projet. Vérifiez que &amp;quot;Toutes les configurations&amp;quot; est bien sélectionné dans la liste déroulante.&lt;br /&gt;
# {{Menu|Construction &amp;amp;gt; Compilateur C++ &amp;amp;gt; Activer la compilation groupée}} doit être défini sur true. Vérifiez qu&#039;aucune autre configuration cible ne remplace ce choix ; ce paramètre doit être la valeur par défaut à un niveau hérité élevé.&lt;br /&gt;
# L&#039;option {{Menu|Propriétés de projet &amp;amp;gt; Général &amp;amp;gt; Nombre de sous-processus}} doit être définie sur {{code|0}}. Tous les coeurs de CPU dont vous disposez sont alors utilisés.&lt;br /&gt;
&lt;br /&gt;
Invoquez msbuild pour votre projet. Dans la mesure où les paramètres ci-dessus sont définis dans les options de projet de l&#039;EDI, la compilation peut s&#039;effectuer en parallèle.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;gt; msbuild MyProject.cbproj&lt;br /&gt;
&lt;br /&gt;
Voir [[Construction d&#039;un projet à l&#039;aide d&#039;une commande MSBuild|Construction d&#039;un projet à l&#039;aide d&#039;une commande MSBuild]] pour une liste complète des paramètres. N&#039;oubliez pas de vérifier dans l&#039;EDI que la compilation en parallèle est configurée pour votre projet. Ces paramètres seront toujours utilisés par défaut lorsque msbuild sera utilisé depuis la ligne de commande avec ce projet.&lt;br /&gt;
&lt;br /&gt;
Pour une exécution directe via la ligne de commande, utilisez la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;gt; bcc64x a.cpp b.cpp c.cpp --jobs=0 ...other parameters&lt;br /&gt;
&lt;br /&gt;
Cette commande envoie ce lot de fichiers en une seule fois et indique au compilateur d&#039;effectuer une compilation en parallèle en utilisant tous les coeurs disponibles (&#039;0&#039; indiquant tous les coeurs).&lt;br /&gt;
&lt;br /&gt;
====Saturation CPU====&lt;br /&gt;
&lt;br /&gt;
Dans l&#039;onglet {{Menu|Options de projet &amp;amp;gt; Propriétés de projet &amp;amp;gt; Général}}, recherchez le paramètre &#039;&#039;&#039;Nombre de sous-processus&#039;&#039;&#039; ; sa valeur par défaut est {{code|‘0’}}. Cela signifie que tous les coeurs de CPU sont disponibles. Cela permet d&#039;exécuter deux fois plus de threads qu&#039;il n&#039;y a de coeurs.&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez que le système de compilation utilise presque toutes les ressources disponibles sans les monopoliser complètement, définissez la valeur sur  -1. Un coeur de moins que la valeur par défaut {{code|‘0’}} sera utilisé. Ce paramètre ne doit être utilisé que si vous voulez faire autre chose pendant la compilation et constatez que les autres processus ralentissent.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez aussi définir ce paramètre sur une valeur entière positive. Selon le nombre de coeurs disponibles, le système utilisera jusqu&#039;au nombre spécifié. Si le nombre de coeurs spécifié dépasse le nombre de coeurs dont vous disposez, il utilisera simplement le maximum de coeurs possibles.&lt;br /&gt;
&lt;br /&gt;
La même valeur peut être définie en invoquant directement le compilateur avec le paramètre de ligne de commande {{code|&#039;--jobs=n&#039;}}.&lt;br /&gt;
&lt;br /&gt;
Nous vous recommandons d&#039;utiliser la valeur {{code|0}} (la valeur par défaut). Elle permet de saturer la CPU et d&#039;obtenir une vitesse de compilation maximale.&lt;br /&gt;
&lt;br /&gt;
==Prise en charge C++23==&lt;br /&gt;
&lt;br /&gt;
A partir de RAD Studio Florence 13.0, le compilateur C++Builder amélioré par Clang-20 intègre la prise en charge de C++23.&lt;br /&gt;
&lt;br /&gt;
Le nouveau compilateur amélioré par Clang propose une prise en charge robuste du langage C++23, alors que libc++ fournit un grand nombre de fonctionnalités C++23. Avec la plate-forme Win64 Moderne, les nouveaux projets C++ sont par défaut en C++23. Si vous recherchez des fonctionnalités qui ne sont plus disponibles dans C++23, vous pouvez permuter vers une version plus ancienne dans les paramètres de compilation C++ situés dans {{Menu| Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; [[Compilateur C++|Compilateur C++]]}}&lt;br /&gt;
&lt;br /&gt;
Pour de plus amples informations sur Clang et la prise en charge de libc++ pour les fonctionnalités C++23, consultez les liens suivants :&lt;br /&gt;
&lt;br /&gt;
*[https://clang.llvm.org/cxx_status.html https://clang.llvm.org/cxx_status.html]&lt;br /&gt;
*[https://libcxx.llvm.org/Status/Cxx23.html https://libcxx.llvm.org/Status/Cxx23.html]&lt;br /&gt;
&lt;br /&gt;
==Différences entre les différentes versions du compilateur==&lt;br /&gt;
&lt;br /&gt;
Depuis {{Product}} {{MarketingVersion}}, la chaîne d&#039;outils C++ Win64 Moderne utilise Clang version 20.&lt;br /&gt;
&lt;br /&gt;
Cette section décrit les différences entre les versions 15 et 20 du compilateur.&lt;br /&gt;
&lt;br /&gt;
{{Note| {{Product}} Athens 12 est fourni avec la version 15 de Clang.}}&lt;br /&gt;
&lt;br /&gt;
La version 20 du compilateur BCC64X moderne applique strictement les règles de compilation C99 lorsqu&#039;elle compile du code {{code|C}}, ce qui provoque des erreurs au lieu des avertissements.&lt;br /&gt;
&lt;br /&gt;
===Fonctions implicites===&lt;br /&gt;
&lt;br /&gt;
L&#039;appel d&#039;une fonction définie implicitement sans prototype provoque un message d&#039;erreur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039;:&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
int test2()&lt;br /&gt;
{&lt;br /&gt;
 return implicit_function();&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;exemple de code ci-dessus produit deux résultats distincts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compilateur Version 15&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
 Warning W4856 stricter_c.c 10(10): call to undeclared function &#039;implicit_function&#039;; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compilateur Version 20&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
 Error E5430 stricter_c.c 10(10): call to undeclared function &#039;implicit_function&#039;; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration].&lt;br /&gt;
&lt;br /&gt;
===int implicite===&lt;br /&gt;
&lt;br /&gt;
L&#039;appel d&#039;un int implicite provoque un message d&#039;erreur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039;:&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
test1()&lt;br /&gt;
{&lt;br /&gt;
 return 42;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;exemple de code ci-dessus produit deux résultats distincts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compilateur Version 15&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
 Warning W4884 stricter_c.c 1(1): type specifier missing, defaults to &#039;int&#039;; ISO C99 and later do not support implicit int [-Wimplicit-int].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compilateur Version 20&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
 Error E5464 stricter_c.c 1(1): type specifier missing, defaults to &#039;int&#039;; ISO C99 and later do not support implicit int [-Wimplicit-int].&lt;br /&gt;
&lt;br /&gt;
===Pointeurs de fonction incompatibles===&lt;br /&gt;
&lt;br /&gt;
Voici un exemple de code qui combine des pointeurs de fonction incompatibles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039;:&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
int callback(int a, int b) {&lt;br /&gt;
 return a+b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int call_callback(int (*callback)(int)) {&lt;br /&gt;
 return callback(5);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int test3() {&lt;br /&gt;
 return call_callback(callback);&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;exemple de code ci-dessus a généré un avertissement avec l&#039;ancien compilateur. Avec le compilateur moderne, c&#039;est un message d&#039;erreur qui est généré.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compilateur Version 15&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
 Warning W4971 stricter_c.c 23(24): incompatible function pointer types passing &#039;int (int, int)&#039; to parameter of type &#039;int (*)(int)&#039; [-Wincompatible-function-pointer-types]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compilateur Version 20&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
 Error E5558 stricter_c.c 23(24): incompatible function pointer types passing &#039;int (int, int)&#039; to parameter of type &#039;int (*)(int)&#039; [-Wincompatible-function-pointer-types]&lt;br /&gt;
&lt;br /&gt;
==Problèmes connus==&lt;br /&gt;
&lt;br /&gt;
===Composants issus de packages===&lt;br /&gt;
&lt;br /&gt;
Les composants provenant de packages créés pour WIN64X à l&#039;aide de projets Delphi doivent être d&#039;abord activés pour cette plate-forme. Pour activer les composants pour la plate-forme Windows 64 bits (Moderne), reportez-vous aux instructions sur [[Build Delphi Packages for C++|Construction de packages Delphi pour C++]]. &lt;br /&gt;
{{Note|Le problème ne se produit que pour les projets existants. Les projets nouvellement créés ne sont pas concernés.}}&lt;br /&gt;
&lt;br /&gt;
Pour plus d&#039;informations, voir [[lib_fr:System.Classes.ComponentPlatformsAttribute|http://delphi.org/2013/09/debugging-against-a-remote-android-emulator/]].&lt;br /&gt;
&lt;br /&gt;
===Limitation UTF8===&lt;br /&gt;
&lt;br /&gt;
Les apps C++ construites avec le compilateur bcc64x sont sujettes à une limitation si la locale UTF8 est utilisée.&lt;br /&gt;
&lt;br /&gt;
Le runtime fourni avec le compilateur bcc64x dépend du système d&#039;exploitation pour la prise en charge native de l&#039;UTF-8. La prise en charge native UTF-8 sur Windows ayant commencé avec Windows 10 1803 (mise à jour d&#039;avril 2018), les apps C++ exigeant la locale UTF-8 ne sont pas exécutées sur les systèmes d&#039;exploitation suivants :&lt;br /&gt;
&lt;br /&gt;
*Windows 10 (avant la version 1903, mai 2019)&lt;br /&gt;
*Windows Server 2016&lt;br /&gt;
*Windows 8&lt;br /&gt;
*Windows 7&lt;br /&gt;
*Windows Vista&lt;br /&gt;
&lt;br /&gt;
L&#039;exécution de l&#039;app sur une version Windows n&#039;assurant pas une prise en charge native de l&#039;UTF8 déclenche une exception {{code|std::runtime_error}} avec le message suivant :&lt;br /&gt;
&lt;br /&gt;
 collate_byname&amp;amp;lt;char&amp;amp;gt;::collate_byname failed to construct for .UTF8&lt;br /&gt;
&lt;br /&gt;
{{Note| Le problème ne se pose qu&#039;avec les apps nécessitant explicitement la locale UTF-8.}}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
[[C++Builder 64-bit Windows (Modern) Application Development|Développement d&#039;applications C++ Builder Windows 64 bits (Moderne)]]&lt;br /&gt;
**[[Mise à niveau des projets C++ existants vers Windows 64 bits|Mise à niveau des projets C++ existants vers Windows 64 bits]]&lt;br /&gt;
**[[Débogage des applications C++ Builder Windows 64 bits|Débogage des applications C++ Builder Windows 64 bits]]&lt;br /&gt;
*[[Build Delphi Packages for C++|Construction de packages Delphi pour C++]]&lt;br /&gt;
*[[Développement d&#039;applications C++ Builder Windows 64 bits|Développement d&#039;applications C++ Builder Windows 64 bits]]&lt;br /&gt;
*[[Unit Initialization and Finalization for C++ New Toolchain|Initialisation et Finalisation d&#039;unités pour la nouvelle chaîne d&#039;outils C++]]&lt;br /&gt;
*[[Packages for C++ New Toolchain|Packages pour la chaîne d&#039;outils C++]]&lt;br /&gt;
*[[Package Import and Export for C++ New Toolchain|Importation et exportation de package pour la nouvelle chaîne d&#039;outils C++]]&lt;br /&gt;
*[[Différences C++ Builder Windows 64 bits#Différences entre les compilateurs|Différences spécifiques à BCC64]]&lt;br /&gt;
*[[Fonctionnalités du C++ moderne prises en charge par les compilateurs C++ améliorés par Clang de RAD Studio|Fonctionnalités du C++ moderne]]&lt;br /&gt;
*[[BCC64.EXE, le compilateur C++ Windows 64 bits|Compilateur Windows 64 bits]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
</feed>