90478412172258dcb9f77603a0b8c7756ac668f8
[scilab.git] / scilab / modules / functions / help / fr_FR / execstr.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4  * Copyright (C) XXXX-2008 - INRIA
5  * 
6  * This file must be used under the terms of the CeCILL.
7  * This source file is licensed as described in the file COPYING, which
8  * you should have received as part of this distribution.  The terms
9  * are also available at    
10  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11  *
12  -->
13 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:lang="fr" xml:id="execstr">
14   <info>
15     <pubdate>$LastChangedDate$</pubdate>
16   </info>
17   <refnamediv>
18     <refname>execstr</refname>
19     <refpurpose> exécution d'instructions Scilab contenues dans des chaînes de caractères</refpurpose>
20   </refnamediv>
21   <refsynopsisdiv>
22     <title>Séquence d'appel</title>
23     <synopsis>execstr(instr)
24 ierr=execstr(instr,'errcatch' [,msg])</synopsis>
25   </refsynopsisdiv>
26   <refsection>
27     <title>Paramètres</title>
28     <variablelist>
29       <varlistentry>
30         <term>instr  </term>
31         <listitem>
32           <para>vecteur de chaînes de caractères</para>
33         </listitem>
34       </varlistentry>
35       <varlistentry>
36         <term>ierr  </term>
37         <listitem>
38           <para>entier, 0 ou numéro de l'erreur</para>
39         </listitem>
40       </varlistentry>
41       <varlistentry>
42         <term>msg  </term>
43         <listitem>
44           <para>chaîne de caractères (<literal>'m'</literal> ou <literal>'n'</literal>). La valeur
45             par défaut est <literal>'n'</literal>. </para>
46         </listitem>
47       </varlistentry>
48     </variablelist>
49   </refsection>
50   <refsection>
51     <title>Description</title>
52     <para>Exécute les instructions Scilab données dans l'argument
53       <literal>instr</literal>. </para>
54     <para>Note : les instructions ne doivent pas comporter de marques de suite (..). </para>
55     <para> </para>
56     <para>Si 'errcatch' n'est pas présent dans les arguments, les erreurs sont contrôlées comme d'habitude.</para>
57     <para>Si 'errcatch' est présent dans les arguments, et qu'une erreur est
58       rencontrée lors de l'évaluation d'un élément de <literal>instr</literal>,
59       <literal>execstr</literal> ne produit aucun message d'erreur, mais stoppe
60       l'exécution des instructions stockées dans <literal>instr</literal> (au point
61       où l'erreur s'est produite), et renvoie dans <literal>ierr</literal> le numéro
62       de l'erreur. Dans ce cas l'affichage du message d'erreur est contrôlé par
63       l'option <literal>msg</literal> : </para>
64     <variablelist>
65       <varlistentry>
66         <term>"m"</term>
67         <listitem>
68           <para>le message d'erreur est affiché et enregistré</para>
69         </listitem>
70       </varlistentry>
71       <varlistentry>
72         <term>"n"</term>
73         <listitem>
74           <para>le message d'erreur n'est pas affiché mais il est enregistré
75           (voir <literal>lasterror</literal>). Il s'agit du comportement par
76           défaut. </para>
77         </listitem>
78       </varlistentry>
79     </variablelist>
80     <para> ierr=execstr(instr,'errcatch') peut gérer les erreurs de syntaxes. Ceci
81       peut être utile pour évaluer les instructions obtenues par une requète à
82       l'utilisateur (interface homme-machine).</para>
83   </refsection>
84   <refsection>
85     <title>Exemples</title>
86     <programlisting role="example"><![CDATA[ 
87 execstr('a=1') // affecte a=1.
88
89 execstr('1+1') // ne fait rien de particulier (alors que evstr('1+1') renvoie 2)
90
91 execstr(['if %t then';
92          '  a=1';
93          '  b=a+1';
94          'else'
95          ' b=0'
96          'end'])
97
98 // récupération des erreurs d'exécution
99 execstr('a=zzzzzzz','errcatch')
100 execstr('a=zzzzzzz','errcatch','m')
101
102 // récupération des erreurs de syntaxe
103 execstr('a=1?02','errcatch')
104 lasterror(%t)
105
106 execstr('a=[1 2 3)','errcatch')
107 lasterror(%t)
108
109 // variable1 n'existe pas
110 if execstr('variable1;','errcatch')<>0 then disp("Declenche une erreur"),end
111
112 // variable2 existe ... Pas d'erreur dans execstr
113 variable2=[2,3]; 
114 if execstr('variable2;','errcatch')<>0 then 
115    disp("Declenche une erreur");
116 else
117    disp("execstr est content");
118 end
119  ]]></programlisting>
120   </refsection>
121   <refsection>
122     <title>Voir Aussi</title>
123     <simplelist type="inline">
124       <member>
125         <link linkend="try">try</link>
126       </member>
127       <member>
128         <link linkend="errclear">errclear</link>
129       </member>
130       <member>
131         <link linkend="iserror">iserror</link>
132       </member>
133       <member>
134         <link linkend="whereami">whereami</link>
135       </member>
136       <member>
137         <link linkend="execstr">execstr</link>
138       </member>
139     </simplelist>
140   </refsection>
141 </refentry>