* Bug 15380 fixed: argn() page was unclear & uncomplete
[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  * Copyright (C) 2012 - 2016 - Scilab Enterprises
7  *
8  * This file is hereby licensed under the terms of the GNU GPL v2.0,
9  * pursuant to article 5.3.4 of the CeCILL v.2.1.
10  * This file was originally licensed under the terms of the CeCILL v2.1,
11  * and continues to be available under such terms.
12  * For more information, see the COPYING file which you should have received
13  * along with this program.
14  *
15  -->
16 <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" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="execstr">
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])
25         </synopsis>
26     </refsynopsisdiv>
27     <refsection>
28         <title>Paramètres</title>
29         <variablelist>
30             <varlistentry>
31                 <term>instr</term>
32                 <listitem>
33                     <para>vecteur de chaînes de caractères.</para>
34                 </listitem>
35             </varlistentry>
36             <varlistentry>
37                 <term>ierr</term>
38                 <listitem>
39                     <para>entier, 0 ou numéro de l'erreur.</para>
40                 </listitem>
41             </varlistentry>
42             <varlistentry>
43                 <term>msg  </term>
44                 <listitem>
45                     <para>
46                         chaîne de caractères (<literal>'m'</literal> ou <literal>'n'</literal>). La valeur
47                         par défaut est <literal>'n'</literal>.
48                     </para>
49                 </listitem>
50             </varlistentry>
51         </variablelist>
52     </refsection>
53     <refsection>
54         <title>Description</title>
55         <para>Exécute les instructions Scilab données dans l'argument
56             <varname>instr</varname>.
57         </para>
58         <note>
59             Note : les instructions <varname>instr</varname> ne doivent pas comporter de marques de suite (..).
60         </note>
61         <para>
62             Si <literal>'errcatch'</literal> n'est pas présent dans les arguments, les erreurs sont contrôlées comme d'habitude.
63         </para>
64         <para>
65             Si <literal>'errcatch'</literal> est présent dans les arguments, et qu'une erreur est
66             rencontrée lors de l'évaluation d'un élément de <varname>instr</varname>,
67             <function>execstr</function> ne produit aucun message d'erreur, mais stoppe
68             l'exécution des instructions stockées dans <varname>instr</varname> (au point
69             où l'erreur s'est produite), et renvoie dans <varname>ierr</varname> le numéro
70             de l'erreur. Dans ce cas l'affichage du message d'erreur est contrôlé par
71             l'option <varname>msg</varname> :
72         </para>
73         <variablelist>
74             <varlistentry>
75                 <term>"m"</term>
76                 <listitem>
77                     <para>le message d'erreur est affiché et enregistré</para>
78                 </listitem>
79             </varlistentry>
80             <varlistentry>
81                 <term>"n"</term>
82                 <listitem>
83                     <para>le message d'erreur n'est pas affiché mais il est enregistré
84                         (voir <link linkend="lasterror">lasterror</link>). Il s'agit du comportement par
85                         défaut.
86                     </para>
87                 </listitem>
88             </varlistentry>
89         </variablelist>
90         <para>
91             <code>ierr = execstr(instr, 'errcatch')</code> peut gérer les erreurs de syntaxes. Ceci
92             peut être utile pour évaluer les instructions obtenues par une requète à
93             l'utilisateur (interface homme-machine).
94         </para>
95     </refsection>
96     <refsection>
97         <title>Exemples</title>
98         <programlisting role="example"><![CDATA[
99 execstr('a=1') // affecte a=1.
100
101 execstr('1+1') // ne fait rien de particulier (alors que evstr('1+1') renvoie 2)
102
103 execstr(['if %t then';
104          '  a=1';
105          '  b=a+1';
106          'else'
107          ' b=0'
108          'end'])
109
110 // récupération des erreurs d'exécution
111 execstr('a=zzzzzzz','errcatch')
112 execstr('a=zzzzzzz','errcatch','m')
113
114 // récupération des erreurs de syntaxe
115 execstr('a=1?02','errcatch')
116 lasterror(%t)
117
118 execstr('a=[1 2 3)','errcatch')
119 lasterror(%t)
120
121 // variable1 n'existe pas
122 if execstr('variable1;','errcatch')<>0 then
123    disp("Declenche une erreur");
124 else
125    disp("execstr est content");
126 end
127
128 // variable2 existe ... Pas d'erreur dans execstr
129 variable2=[2,3];
130 if execstr('variable2;','errcatch')<>0 then
131    disp("Declenche une erreur");
132 else
133    disp("execstr est content");
134 end
135  ]]></programlisting>
136     </refsection>
137     <refsection role="see also">
138         <title>Voir aussi</title>
139         <simplelist type="inline">
140             <member>
141                 <link linkend="try">try</link>
142             </member>
143             <member>
144                 <link linkend="errclear">errclear</link>
145             </member>
146             <member>
147                 <link linkend="whereami">whereami</link>
148             </member>
149             <member>
150                 <link linkend="evstr">evstr</link>
151             </member>
152         </simplelist>
153     </refsection>
154 </refentry>