[doc] misc. patchs & small improvements
[scilab.git] / scilab / modules / io / help / ru_RU / file.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  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  * Copyright (C) 2018 - Samuel GOUGEON
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"
17           xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml"
18           xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook"
19           xmlns:scilab="http://www.scilab.org" xml:id="file" xml:lang="ru">
20     <refnamediv>
21         <refname>file</refname>
22         <refpurpose>управление файлами</refpurpose>
23     </refnamediv>
24     <refsynopsisdiv>
25         <title>Синтаксис</title>
26         <synopsis>
27             [unit, err] = file("open", file-name [,status] [,access [,recl]] [,format])
28             file("close", unit)
29             file("rewind", unit)
30             file("backspace", unit)
31             file("last", unit)
32             [units, typ, nams, mod, swap] = file()
33             [units, typ, nams, mod, swap] = file(unit)
34         </synopsis>
35     </refsynopsisdiv>
36     <refsection>
37         <title>Аргументы</title>
38         <variablelist>
39             <varlistentry>
40                 <term>file-name</term>
41                 <listitem>
42                     <para>строковое значение, имя файла, который нужно открыть</para>
43                     <warning>
44                         Эта функция не может открывать файлы, чьи пути имеют не-ascii
45                         UTF-символы (диакритические знаки и т.д.). В этом случае следует
46                         использовать <literal>mopen()</literal>.
47                     </warning>
48                 </listitem>
49             </varlistentry>
50             <varlistentry>
51                 <term>status</term>
52                 <listitem>
53                     <para>строковое значение, статус файла, который следует открыть</para>
54                     <variablelist>
55                         <varlistentry>
56                             <term>"new"</term>
57                             <listitem>
58                                 <para>файл не существует, новый файл (по умолчанию);</para>
59                             </listitem>
60                         </varlistentry>
61                         <varlistentry>
62                             <term>"old"</term>
63                             <listitem>
64                                 <para>файл уже существует;</para>
65                             </listitem>
66                         </varlistentry>
67                         <varlistentry>
68                             <term>"unknown"</term>
69                             <listitem>
70                                 <para>неизвестный статус;</para>
71                             </listitem>
72                         </varlistentry>
73                         <varlistentry>
74                             <term>"scratch"</term>
75                             <listitem>
76                                 <para>файл должен будет удалён в конце сессии.</para>
77                             </listitem>
78                         </varlistentry>
79                     </variablelist>
80                 </listitem>
81             </varlistentry>
82             <varlistentry>
83                 <term>access</term>
84                 <listitem>
85                     <para>строковое значение, тип доступа к файлу:</para>
86                     <variablelist>
87                         <varlistentry>
88                             <term>"sequential"</term>
89                             <listitem>
90                                 <para>последовательный доступ (по умолчанию);</para>
91                             </listitem>
92                         </varlistentry>
93                         <varlistentry>
94                             <term>"direct"</term>
95                             <listitem>
96                                 <para>прямой доступ.</para>
97                             </listitem>
98                         </varlistentry>
99                     </variablelist>
100                 </listitem>
101             </varlistentry>
102             <varlistentry>
103                 <term>format</term>
104                 <listitem>
105                     <para>строковое значение, формат файла:</para>
106                     <variablelist>
107                         <varlistentry>
108                             <term>"formatted"</term>
109                             <listitem>
110                                 <para>для форматированных файлов (по умолчанию);</para>
111                             </listitem>
112                         </varlistentry>
113                         <varlistentry>
114                             <term>"unformatted"</term>
115                             <listitem>
116                                 <para>двоичная запись.</para>
117                             </listitem>
118                         </varlistentry>
119                     </variablelist>
120                 </listitem>
121             </varlistentry>
122             <varlistentry>
123                 <term>recl</term>
124                 <listitem>
125                     <para>целочисленное значение, это размер записи в байтах, в случае
126                         <literal>access="direct"</literal>
127                     </para>
128                 </listitem>
129             </varlistentry>
130             <varlistentry>
131                 <term>unit</term>
132                 <listitem>
133                     <para>
134                         целочисленное значение, указатель на логический модуль открытого файла
135                     </para>
136                 </listitem>
137             </varlistentry>
138             <varlistentry>
139                 <term>units</term>
140                 <listitem>
141                     <para>
142                         вектор целочисленных значений, указатель на логический модуль открытого 
143                         файла. Модули 5 и 6 (%io) зарезервированы системой для входных и выходных 
144                         устройств.
145                     </para>
146                 </listitem>
147             </varlistentry>
148             <varlistentry>
149                 <term>typs</term>
150                 <listitem>
151                     <para>
152                         Символьный вектор-строка, тип (C или Fortran) открытых файлов.
153                     </para>
154                 </listitem>
155             </varlistentry>
156             <varlistentry>
157                 <term>nams</term>
158                 <listitem>
159                     <para>Символьный вектор-строка, имена путей открытых файлов.</para>
160                 </listitem>
161             </varlistentry>
162             <varlistentry>
163                 <term>mod</term>
164                 <listitem>
165                     <para>режим открытия файла. Сформированный тремя элементами abc:</para>
166                     <table border="0">
167                         <tr valign="top">
168                             <td colspan="2">><emphasis role="bold">Файлы Fortran</emphasis></td>
169                         </tr>
170                         <tr valign="top">
171                             <th>a</th>
172                             <td>0 стоит для форматированных, а 1 - для неформатированных (двоичных)</td>
173                         </tr>
174                         <tr valign="top">
175                             <th>b</th>
176                             <td>0 стоит для последовательного доступа, а 1 - для прямого доступа</td>
177                         </tr>
178                         <tr valign="top">
179                             <th>c</th>
180                             <td>0 стоит для "new", 1 - для "old", 2 - для "scratch" и 3 - для "unknown"</td>
181                         </tr>
182                         <tr valign="top">
183                             <td colspan="2"><emphasis role="bold">C-файлы</emphasis></td>
184                         </tr>
185                         <tr valign="top">
186                             <th>a</th>
187                             <td>1 стоит для "r" (чтение), 2 стоит для "w" (запись) и 3 - для "a" (дополнение)</td>
188                         </tr>
189                         <tr valign="top">
190                             <th>b</th>
191                             <td>равен 1, если файл открыт в режиме "+" (обновление)</td>
192                         </tr>
193                         <tr valign="top">
194                             <th>c</th>
195                             <td>равен 1, если файл открыт в режиме "b" (двоичный)</td>
196                         </tr>
197                     </table>
198                 </listitem>
199             </varlistentry>
200             <varlistentry>
201                 <term>swap</term>
202                 <listitem>
203                     <para>
204                         переключатель автоматического обмена. <literal>swap=1</literal>, если
205                         автоматический обмен включён. Для Fortran-файлов <varname>swap</varname>
206                         всегда 0.
207                     </para>
208                 </listitem>
209             </varlistentry>
210             <varlistentry>
211                 <term>err</term>
212                 <listitem>
213                     <para>
214                         целочисленный код, возвращаемый, если открытие файла провалилось.
215                         Если <varname>err</varname> пропущен, то выдаётся сообщение об ошибке.
216                     </para>
217                     <table>
218                         <tr valign="top"><th>65</th><td>Файл уже используется</td></tr>
219                         <tr valign="top"><th>66</th><td>Открыто слишком много файлов!</td></tr>
220                         <tr valign="top"><th>67</th><td>Неизвестный формат файла</td></tr>
221                         <tr valign="top"><th>240</th>
222                                          <td>Файл уже существует или запрещена запись в директорию.</td></tr>
223                         <tr valign="top"><th>241</th><td>Файл не существует или чтение запрещено.</td></tr>
224                     </table>
225                 </listitem>
226             </varlistentry>
227         </variablelist>
228     </refsection>
229     <refsection>
230         <title>Описание</title>
231         <para>
232             <literal>file(…)</literal> выбирает логический модуль <varname>unit</varname> и
233             управляет файлом <varname>file-name</varname>.
234         </para>
235         <variablelist>
236             <varlistentry>
237                 <term>[unit [,err]]=file("open", file-name [,status] [,access [,recl]][,format])
238                 </term>
239                 <listitem>
240                     <para>
241                         позволяет открыть файл с особыми параметрами и получить номер связанного
242                         модуля <varname>unit</varname>. Этот номер модуля можно использовать для
243                         дальнейших действий с этим файлом или в качестве дескриптора файла при
244                         вызове функций <function>read</function>, <function>write</function>,
245                         <function>readb</function>, <function>writb</function>,
246                         <function>save</function>, <function>load</function>.
247                     </para>
248                 </listitem>
249             </varlistentry>
250             <varlistentry>
251                 <term>
252                     file("close", unit)
253                 </term>
254                 <listitem>
255                     <para>
256                         позволяет закрыть файл или передвинуть текущий указатель файла.
257                     </para>
258                 </listitem>
259             </varlistentry>
260             <varlistentry>
261                 <term>
262                     file("rewind", unit)
263                 </term>
264                 <listitem>
265                     <para>
266                         кладёт указатель в начало файла.
267                     </para>
268                 </listitem>
269             </varlistentry>
270             <varlistentry>
271                 <term>
272                     file("backspace", unit)
273                 </term>
274                 <listitem>
275                     <para>
276                         кладёт указатель в начало последней записи.
277                     </para>
278                 </listitem>
279             </varlistentry>
280             <varlistentry>
281                 <term>
282                     file("last", unit)
283                 </term>
284                 <listitem>
285                     <para>
286                         кладёт указатель после последней записи.
287                     </para>
288                 </listitem>
289             </varlistentry>
290             <varlistentry>
291                 <term>
292                     file()
293                 </term>
294                 <listitem>
295                     <para>
296                         возвращает дескрипторы открытых файлов.
297                     </para>
298                     <para>
299                         Чтобы проверить, открыт ли файл, чей модуль равен <literal>id</literal>,
300                         можно использовать <literal>file(id)~=[]</literal>.
301                     </para>
302                     <para>
303                         Чтобы закрыть все открытые пользователем файлы (типа C или Fortran),
304                         можно использовать <literal>file("close",file())</literal>.
305                     </para>
306                 </listitem>
307             </varlistentry>
308         </variablelist>
309     </refsection>
310     <refsection>
311         <title>Примеры</title>
312         <programlisting role="example"><![CDATA[
313 u=file("open",TMPDIR+"/foo","unknown")
314 for k=1:4
315   a=rand(1,4)
316   write(u,a)
317 end
318 file("rewind",u)
319 x=read(u,2,4)
320 file("close",u)
321 //
322 u1=file("open",TMPDIR+"/foo","unknown")
323 u2=mopen(TMPDIR+"/foo1","wb")
324 [units,typs,nams]=file()
325 file("close",u1);
326 mclose(u2);
327  ]]></programlisting>
328     </refsection>
329     <refsection role="see also">
330         <title>Смотрите также</title>
331         <simplelist type="inline">
332             <member>
333                 <link linkend="isfile">isfile</link>
334             </member>
335             <member>
336                 <link linkend="read">read</link>
337             </member>
338             <member>
339                 <link linkend="readb">readb</link>
340             </member>
341             <member>
342                 <link linkend="write">write</link>
343             </member>
344             <member>
345                 <link linkend="writb">writb</link>
346             </member>
347             <member>
348                 <link linkend="mopen">mopen</link>
349             </member>
350             <member>
351                 <link linkend="save">save</link>
352             </member>
353             <member>
354                 <link linkend="load">load</link>
355             </member>
356             <member>
357                 <link linkend="uigetfile">uigetfile</link>
358             </member>
359         </simplelist>
360     </refsection>
361     <refsection role="history">
362         <title>История</title>
363         <revhistory>
364             <revision>
365                 <revnumber>6.0.0</revnumber>
366                 <revdescription>
367                     Внесена stderr в выход file() в виде units(1)=0, typ(1)="STD" и
368                     nams(1)="stderr".
369                 </revdescription>
370             </revision>
371         </revhistory>
372     </refsection>
373 </refentry>