<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>http://wiki.sage.fr/index.php?action=history&amp;feed=atom&amp;title=Developpement%3AMod%C3%A8le_et_langage_-1</id>
	<title>Developpement:Modèle et langage -1 - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.sage.fr/index.php?action=history&amp;feed=atom&amp;title=Developpement%3AMod%C3%A8le_et_langage_-1"/>
	<link rel="alternate" type="text/html" href="http://wiki.sage.fr/index.php?title=Developpement:Mod%C3%A8le_et_langage_-1&amp;action=history"/>
	<updated>2026-05-25T04:00:39Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>http://wiki.sage.fr/index.php?title=Developpement:Mod%C3%A8le_et_langage_-1&amp;diff=26&amp;oldid=prev</id>
		<title>Syfre le 13 mai 2008 à 10:43</title>
		<link rel="alternate" type="text/html" href="http://wiki.sage.fr/index.php?title=Developpement:Mod%C3%A8le_et_langage_-1&amp;diff=26&amp;oldid=prev"/>
		<updated>2008-05-13T10:43:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;http://wiki.sage.fr/index.php?title=Developpement:Mod%C3%A8le_et_langage_-1&amp;amp;diff=26&amp;amp;oldid=30&quot;&gt;Voir les modifications&lt;/a&gt;</summary>
		<author><name>Syfre</name></author>
	</entry>
	<entry>
		<id>http://wiki.sage.fr/index.php?title=Developpement:Mod%C3%A8le_et_langage_-1&amp;diff=30&amp;oldid=prev</id>
		<title>Syfre le 13 mai 2008 à 08:46</title>
		<link rel="alternate" type="text/html" href="http://wiki.sage.fr/index.php?title=Developpement:Mod%C3%A8le_et_langage_-1&amp;diff=30&amp;oldid=prev"/>
		<updated>2008-05-13T08:46:30Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Modification dans le langage.==&lt;br /&gt;
&lt;br /&gt;
==Le contrôle de type.==&lt;br /&gt;
&lt;br /&gt;
Le contrôle de type a été ajouté au langage pour permettre un contrôle plus rigoureux du code source. Il devient ainsi possible de détecter certaine erreur lors de la compilation.&lt;br /&gt;
&lt;br /&gt;
Toutefois pour rester compatible avec le code existant les erreurs signalées par le contrôle de type sont des avertissements. &lt;br /&gt;
&lt;br /&gt;
==Les types de données==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Type&lt;br /&gt;
|Alias de &lt;br /&gt;
|Forme générique&lt;br /&gt;
|Post fixe&lt;br /&gt;
|Remarques&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|normalizedString&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|soap&lt;br /&gt;
|-&lt;br /&gt;
|anyURI&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|soap&lt;br /&gt;
|-&lt;br /&gt;
|tokenString&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|soap&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|char&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Type ordinal&lt;br /&gt;
|-&lt;br /&gt;
|integer&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|int&lt;br /&gt;
|integer&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|soap&lt;br /&gt;
|-&lt;br /&gt;
|unsigned&lt;br /&gt;
|integer&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|soap&lt;br /&gt;
|-&lt;br /&gt;
|short&lt;br /&gt;
|integer&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|soap&lt;br /&gt;
|-&lt;br /&gt;
|unsignedShort&lt;br /&gt;
|integer&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|soap&lt;br /&gt;
|-&lt;br /&gt;
|long&lt;br /&gt;
|integer&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|soap&lt;br /&gt;
|-&lt;br /&gt;
|unsignedLong&lt;br /&gt;
|integer&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|soap&lt;br /&gt;
|-&lt;br /&gt;
|longint&lt;br /&gt;
|longint&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Type entier long &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|double&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|float&lt;br /&gt;
|double&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|soap &lt;br /&gt;
|-&lt;br /&gt;
|currency&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|soap as decimal&lt;br /&gt;
|-&lt;br /&gt;
|decimal&lt;br /&gt;
|currency&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|soap&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TDatetime&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|soap as datetime&lt;br /&gt;
|-&lt;br /&gt;
|date&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|time&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;
|&lt;br /&gt;
|-&lt;br /&gt;
|boolean&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;
|&lt;br /&gt;
|-&lt;br /&gt;
|variant&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Type générique&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|base64Binary&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Type binaire soap&lt;br /&gt;
|-&lt;br /&gt;
|hexBinary&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Type binaire soap&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Enumération&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;
|&lt;br /&gt;
|-&lt;br /&gt;
|TObject&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Classes techniques&lt;br /&gt;
|-&lt;br /&gt;
|TStringList&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TQuery&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TDeleteObjectList&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TDateBaseInfo&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TBinaryContent&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;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Objet métier&lt;br /&gt;
|&lt;br /&gt;
|TitObject&lt;br /&gt;
|&lt;br /&gt;
|Classes de base des stéréotypes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|TdbObject&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|TObjectNode&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;
|List de d’objets métiers&lt;br /&gt;
|&lt;br /&gt;
|TObjectList&lt;br /&gt;
|LIST&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;
|Curseur d’objet métier&lt;br /&gt;
|&lt;br /&gt;
|TdbCursor&lt;br /&gt;
|CURSOR&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;
|Type de données du framework&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;
|&lt;br /&gt;
|-&lt;br /&gt;
|TEnum&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TNumeric&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TQuantity&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TQuantityWithRef&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TQuotation&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TMoney&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TMoneyDT&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TSCurrency&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TSDouble&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TSInteger&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TSQuantity&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TCounter&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TFlag&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TIdentity&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TSQLIdentity&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TDateList&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TIntegerList&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TController&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TMemo&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TBinary&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TPicture&lt;br /&gt;
&lt;br /&gt;
TxmlDataType&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TxslDataType&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;
|&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;
&lt;br /&gt;
==Paramétrage des messages du compilateur==&lt;br /&gt;
&lt;br /&gt;
Les messages d’avertissement du contrôle de type peuvent être désactivé ou transformé en message d’erreur.&lt;br /&gt;
&lt;br /&gt;
{{#images:image2.png|Modèle_et_langage}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#images:image3.png|Modèle_et_langage}}&lt;br /&gt;
&lt;br /&gt;
==Les opérateurs et les méthodes de classe.==&lt;br /&gt;
&lt;br /&gt;
===Les méthodes de classe.===&lt;br /&gt;
&lt;br /&gt;
Les méthodes de classe sont des méthodes portées par le type.&lt;br /&gt;
&lt;br /&gt;
Constructeur de classe :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;var inst2:MaClasse2; &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;begin&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  inst2 := MaClasse3.Create;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;end;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette syntaxe est équivalent à &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;var inst2:MaClasse2; &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;begin&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  inst2 := ClassManager.CreateInstance(‘MaClasse3’);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;end;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Toutefois : &lt;br /&gt;
&lt;br /&gt;
Dans le premier cas une erreur est déclenchée si la classe MaClasse3 n’existe pas lors de la compilation.&lt;br /&gt;
&lt;br /&gt;
Dans le second cas un avertissement est déclenché si la classe « MaClasse3 » n’existe pas lors de la compilation.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Méthode de classe&lt;br /&gt;
|Equivalence&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;Class.Create&amp;lt;/font&amp;gt;&lt;br /&gt;
|&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;ClassManager.CreateInstance(‘ClasseName’)&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;Class.CreateList&amp;lt;/font&amp;gt;&lt;br /&gt;
|&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;ClassManager.CreateObjectList(‘ClasseName’)&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;Class.CreateCursor&amp;lt;/font&amp;gt;&lt;br /&gt;
|&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;ClassManager.CreateCursor(‘ClasseName’)&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;class.Find(const iWhere,iOrderBy :string ; iDescendant :boolean ; const iArgs :Array of variant]):TitObject ;&amp;lt;/font&amp;gt;&lt;br /&gt;
|&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;ClassManager.Find(const iClassName :string ; const iWhere,iOrderBy :string ; iDescendant :boolean ; const iArgs :Array of variant]):TitObject ;&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exemples :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;var x: TMaClasseP1; &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;begin&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  ShowMessage(TMaClasseP1.Find(&amp;#039;uneChaine=%1&amp;#039;,&amp;#039;&amp;#039;,FALSE,[&amp;#039;Code1&amp;#039;]).uneChaine);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  //&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  x := TMaClasseP1.Find(&amp;#039;uneChaine=%1&amp;#039;,&amp;#039;&amp;#039;,FALSE,[&amp;#039;Code2&amp;#039;]);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  if Assigned(x) then showMessage(&amp;#039;ok&amp;#039;) else showMessage(&amp;#039;failed&amp;#039;);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;end;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;var vcursor:TCursor;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;begin&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  vCursor := TMaClasseP1.CreateCursor;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  vcursor.Open;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  while not vcursor.EOI do&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;   begin&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;     showMessage(vCursor.Instance.uneChaine);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;     vcursor.Next;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;   end;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  vcursor.Close;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;end;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Les opérateurs de classe.===&lt;br /&gt;
&lt;br /&gt;
Les opérateurs de classes opèrent sur des instances de classe. &lt;br /&gt;
&lt;br /&gt;
===Opérateur « is » ===&lt;br /&gt;
&lt;br /&gt;
IS réalise un test d’héritage d’une instance par rapport à une classe.&lt;br /&gt;
&lt;br /&gt;
===Opérateur « as »===&lt;br /&gt;
&lt;br /&gt;
AS réalise un transtypage de type d’une instance de classe vers une autre, la validé du transtypage est contrôlé lors de l’exécution.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;var inst2:MaClasse2; inst3:MaClasse3;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;begin&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  inst2 := MaClasse3.Create;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  if inst2 is MaClasse3 then&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;   begin&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;     inst3 := (inst2 as MaClasse3);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;     inst3.code3 := &amp;#039;code3&amp;#039;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;     showMessage(inst3.code3);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;     showmessage((inst2 as MaClasse3).code3);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;   end&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;   else showMessage(&amp;#039;Is is FALSE&amp;#039;);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;end;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tableaux ouverts==&lt;br /&gt;
&lt;br /&gt;
Les tableaux ouverts à une dimension sont supportés dans les variables locales et les paramètres de méthode.&lt;br /&gt;
&lt;br /&gt;
Différences entre tableaux ouverts et tableaux statiques.&lt;br /&gt;
&lt;br /&gt;
Un tableau statique réserve autant de place qu’il comporte d’éléments dans la pile d’exécution.&lt;br /&gt;
&lt;br /&gt;
Un tableau statique peut être multi-dimensions.&lt;br /&gt;
&lt;br /&gt;
Un tableau statique est toujours passé par valeurs.&lt;br /&gt;
&lt;br /&gt;
Un tableau ouvert ne réserve qu’une entrée dans la pile d’exécution, cette entrée référençant un tableau d’éléments agrandit au fur et à mesure des affectations.&lt;br /&gt;
&lt;br /&gt;
Un tableau ouvert ne peut être que mono-dimension.&lt;br /&gt;
&lt;br /&gt;
Un tableau ouvert est toujours passé par adresse.&lt;br /&gt;
&lt;br /&gt;
Il existe cependant des limitations sur l’usage des tableaux ouverts :&lt;br /&gt;
&lt;br /&gt;
Leur dimension doit être un ; les tableaux ouverts multi-dimension ne sont pas supportés.&lt;br /&gt;
&lt;br /&gt;
Ils ne peuvent contenir que des types simples ; les types objets ne peuvent pas être utilisés dans des tableaux ouverts.&lt;br /&gt;
&lt;br /&gt;
Les indices de tableau ouvert commencent toujours à zéro.&lt;br /&gt;
&lt;br /&gt;
===Pour définir une variable locale de type tableau ouvert :===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;var v:Array of string; s:string; idx:Integer;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;begin&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  v[0] := &amp;#039;A&amp;#039;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  v[1] := &amp;#039;B&amp;#039;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  //&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  s := &amp;#039;&amp;#039;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  for idx:=0 to length(v)-1 do&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;   s := s+v[idx];&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  //&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  showMessage(s);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  Result := FALSE;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;end ;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Utilisation des tableaux ouverts dans les paramètres de méthode.===&lt;br /&gt;
&lt;br /&gt;
Il est possible de définir des paramètres de méthode sous forme de tableau ouvert ; par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;function MethodName(p2:Array of string):string;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;var idx:Integer; stag:string;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;begin&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  Result := &amp;#039;&amp;#039;; stag := &amp;#039;&amp;#039;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  for idx:=0 to length(p2)-1 do&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;   begin&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;     Result := Result+stag+p2[idx];&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;     stag := &amp;#039; &amp;#039;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;   end;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;end; &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un paramètre ouvert peut être appelé à partir d’un tableau constant, d’une variable locale de type tableau statique ou d’une variable locale de type tableau ouvert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour appeler une méthode ayant des paramètres ouverts à partir d’un tableau constant: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;var s:string; &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;begin&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  s := MethodName([&amp;#039;ah&amp;#039;,&amp;#039;que&amp;#039;,&amp;#039;coucou&amp;#039;]);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  showmessage(s);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;end;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour appeler une méthode ayant des paramètres ouverts à partir d’une variable locale de type tableau statique : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;var s:string; v:Array[0..2] of string;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;begin&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  v[0] := &amp;#039;ah&amp;#039;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  v[1] := &amp;#039;que&amp;#039;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  v[2] := &amp;#039;coucou&amp;#039;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  s := MethodName(v);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  showmessage(s);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;end;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rappelez-vous que les tableaux statiques sont passés par valeurs, la méthode ne peut pas modifier le contenu du tableau.&lt;br /&gt;
&lt;br /&gt;
Pour appeler une méthode ayant des paramètres ouverts à partir d’une variable locale de type tableau ouvert : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;var s:string; v:Array of string;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;begin&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  v[0] := &amp;#039;ah&amp;#039;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  v[1] := &amp;#039;que&amp;#039;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  v[2] := &amp;#039;coucou&amp;#039;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  s := MethodName(v);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  showmessage(s);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;end;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rappelez-vous que les tableaux ouverts sont passés par adresse, la méthode peut modifier le contenu du tableau.&lt;br /&gt;
&lt;br /&gt;
A l’intérieur de la méthode il est possible d’affecter des valeurs aux tableaux :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;function MethodName(p2:Array of string):string;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;var idx:Integer; stag:string;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;begin&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  Result := &amp;#039;&amp;#039;; stag := &amp;#039;&amp;#039;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  p2[length(p2)] := ‘ !’ ;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  for idx:=0 to length(p2)-1 do&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;   begin&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;     Result := Result+stag+p2[idx];&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;     stag := &amp;#039; &amp;#039;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;   end;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;end; &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si l’indice d’affectation est supérieur à la taille du tableau celui-ci est agrandit et ses valeurs courantes sont conservées. &lt;br /&gt;
&lt;br /&gt;
===Dimensionnement des tableaux ouverts===&lt;br /&gt;
&lt;br /&gt;
L’agrandissement des tableaux ouverts est automatique, toutefois si vous ajoutez une grande quantité d’éléments à un tableau ouvert vous avez intérêt à utilisez la fonction setLength(tableau,taille) pour agrandir en une fois le tableau.&lt;br /&gt;
&lt;br /&gt;
Les éléments non affectés d’un tableau ouvert sont non défini, par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;var v:Array of string; s:string; idx:Integer;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;begin&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  v[0] := &amp;#039;A&amp;#039;; // initialise le tableau &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  v[2] := &amp;#039;B&amp;#039;; // agrandi le tableau à 3 élements&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  //&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  s := &amp;#039;&amp;#039;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  for idx:=0 to length(v)-1 do&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;   s := s+v[idx];&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  //&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  showMessage(s);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  Result := FALSE;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;end ;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Provoquera une erreur car l’élément d’indice 1 du tableau est non défini.&lt;br /&gt;
&lt;br /&gt;
===Fonctions associés aux tableaux ouverts===&lt;br /&gt;
&lt;br /&gt;
Sur un paramètre tableau ouvert les fonctions suivantes sont utilisables : &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|fonction&lt;br /&gt;
|Description&lt;br /&gt;
|Exemple&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;function length(x) :Integer&amp;lt;/font&amp;gt;&lt;br /&gt;
|Retourne le nombre d’éléments du tableau&lt;br /&gt;
|&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;if length(p)=3 then&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt; begin&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;   // 3 éléments de 0..2 dans le&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;   // tableau&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt; end ;&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;procedure setlength(x ;l :integer)&amp;lt;/font&amp;gt;&lt;br /&gt;
|Ajuste la taille du tableau&lt;br /&gt;
|&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;// Positionne la taille du &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;// tableau à 10 éléments.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;setLength(x,10) ;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Les nouveaux objets techniques.==&lt;br /&gt;
&lt;br /&gt;
==Envoi de Mail==&lt;br /&gt;
&lt;br /&gt;
Le support de MapiExt a été ajouté pour permettre l’envoi de mail à partir du code métier sans ouvrir de message d’avertissement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;Procedure MailTo(const iDestinataire, iSubject, iBody : string);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TBinaryContent==&lt;br /&gt;
&lt;br /&gt;
Le type TBinaryContent permet de manipuler des données binaires chargé à partir de fichier ou de chaîne encodées en base64.&lt;br /&gt;
&lt;br /&gt;
Les propriétés suivantes sont disponibles sur les types binaires : &lt;br /&gt;
&lt;br /&gt;
AsBase64Binary&lt;br /&gt;
&lt;br /&gt;
Lecture ou écriture des données encodées au format base64.&lt;br /&gt;
&lt;br /&gt;
AsString&lt;br /&gt;
&lt;br /&gt;
Lecture ou écriture des données contenues dans une chaine de caractère.&lt;br /&gt;
&lt;br /&gt;
Hash&lt;br /&gt;
&lt;br /&gt;
Retourne une chaine de caractère correspondant au sceau du contenu. Le sceau du contenu est le résultat en format hexadécimale (16 caractères) d’une compression du contenu par une clé DES.&lt;br /&gt;
&lt;br /&gt;
Les fonctions suivantes sont disponibles &lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039;  Tb64Compression = (b64Auto, b64ZlibSig, b64ZlibNoSig, b64None);&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;Function getAsBase64Binary(iCompression:Tb64Compression) :string ;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;Procedure setAsBase64Binary(const value:string; iCompression:Tb64Compression);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lecture et écriture des données en contrôlant le mode de compression&lt;br /&gt;
&lt;br /&gt;
==TStringList==&lt;br /&gt;
&lt;br /&gt;
Les propriétés suivantes sont disponibles sur les types binaires : &lt;br /&gt;
&lt;br /&gt;
AsBase64Binary&lt;br /&gt;
&lt;br /&gt;
Lecture ou écriture des données encodées au format base64.&lt;br /&gt;
&lt;br /&gt;
Les fonctions suivantes sont disponibles &lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039;  &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Tb64Compression = (b64Auto, b64ZlibSig, b64ZlibNoSig, b64None);&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;Function getAsBase64Binary(iCompression:Tb64Compression) :string ;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;Procedure setAsBase64Binary(const value:string; iCompression:Tb64Compression);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TxmlDocument==&lt;br /&gt;
&lt;br /&gt;
Ce type a été amélioré de nouvelles méthodes et propriétés.&lt;br /&gt;
&lt;br /&gt;
Compression :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;var xml:TxmlDocument; aString:string;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;begin&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  xml := TxmlDocument.Create(nil);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  //...&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  xml.Compression := cpxZLibNoSig;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  xml.isCompressed := TRUE;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;  aString := xml.SaveToBase64;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;end;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TxslDocument==&lt;br /&gt;
&lt;br /&gt;
Un composant TxslDocument pouvant contenir une feuille de style XSL et appliquer une transformation à un document source XML. Le résultat d’une transformation XSL peut être un autre document XML, un document HTML ou bien un document texte.&lt;br /&gt;
&lt;br /&gt;
Les méthodes disponibles sur un TxslDocument : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;Procedure TransformToXML(const source : TxmlDocument; dest :TxmlDocument) ;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Applique la transformation pour produire un nouveau document XML. La feuille de style doit être de type xMethodXML ou xMethodHtml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;Procedure TransformToStream(const source : TxmlDocument; dest :TStream) ;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Applique la transformation pour produire un nouveau document XML. La feuille de style doit être du type xMethodText&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courrier new&amp;quot;&amp;gt;Function TransformToString(const source : TxmlDocument) :string ;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Applique la transformation et retourne le résultat comme chaîne de caractère. La feuille de style peut être de tout type ; si le résultat est un document XML c’est sa représentation en chaîne de caractère qui est retournée.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:DSM]]&lt;/div&gt;</summary>
		<author><name>Syfre</name></author>
	</entry>
</feed>