projman/hlp/ru/tcl/fconfigure.html
2018-02-05 17:23:37 +03:00

212 lines
14 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
<html>
<head>
<title>fconfigure</title>
</head>
<body>
<h1>fconfigure</h1>
<p> <strong>fconfigure</strong> - устанавливает и читает опции канала. </p>
<pre>
<strong>fconfigure</strong> <em>channelId</em>
<strong>fconfigure</strong> <em>channelId</em> <em>name</em>
<strong>fconfigure</strong> <em>channelId</em> <em>name</em> <em>value</em> ?<em>name</em> <em>value</em>...?
</pre>
<h2>ОПИСАНИЕ</h2>
<p>Команда <strong>fconfigure</strong> устанавливает и читает опции
каналов. Аргумент <em>channelId</em> определяет конкретный канал,
с которым работает команда. Если аргументы <em>name</em> и
<em>value</em> отсутствуют, команда возвращает список, содержащий
поочередно имена опций и их значения для канала. Если имя опции
указано, а значение - нет, команда возвращает текущее значение
указанной опции. Если в команде указаны одна или больше пар имен
и значений, то команда устанавливает каждой из перечисленных
опций указанное значение. В этом случае команда возвращает
пустую строку.</p>
<p>Описанные ниже опции поддерживаются для всех типов каналов.
Кроме того, каждый тип канала может иметь дополнительно
собственные опции. Они приведены в описаниях команд создания
каналов, например, в описании команды <a
href=socket.html><strong>socket</strong></a>.</p>
<dl>
<dt> <strong>-blocking</strong> <em>boolean</em> </dt>
<dd> Опция <em>-blocking</em> определяет, вызывают ли команды
ввода/вывода блокировку процесса. Величина этой опции должна
быть правильным булевым выражением. Обычно каналы открываются
в блокирующем режиме. Если канал переведен в неблокирующий
режим, это окажет влияние на выполнение команд <a
href=gets.html><strong>gets</strong></a>, <a
href=read.html><strong>read</strong></a>, <a
href=puts.html><strong>puts</strong></a>, <a
href=flush.html><strong>flush</strong></a> и <a
href=close.html><strong>close</strong></a> (смотри описание
соответствующих команд). Чтобы работа в неблокирующем режиме
выполнялась корректно, в приложении должен быть запущен
обработчик событий (например, с помощью команды <a
href=vwait.html><strong>vwait</strong></a>).
</dd>
<dt><strong>-buffering</strong> <em>newValue</em></dt>
<dd><p>Если аргумент <em>newValue</em> равен <strong>full</strong>, система
ввода-вывода будет накапливать вывод в буфере, пока буфер не
заполнится целиком. После этого буфер будет выдан в канал.</p>
<p>Если аргумент <em>newValue</em> равен <strong>line</strong>, система
ввода-вывода будет выдавать буфер в канал каждый раз при
поступлении символа конца строки. </p>
<p>Если аргумент <em>newValue</em> равен <strong>none</strong>, система
ввода-вывода будет выводить каждый символ сразу после его
поступления.</p>
<p>Значение по умолчанию <strong>full</strong> для всех каналов, кроме
устройств типа терминалов. Для них значение по умолчанию
<strong>line.</strong></p>
</dd>
<dt><strong>-buffersize</strong> <em>newSize</em></dt>
<dd>Аргумент <em>newSize</em> должен быть целым числом. Его
значение определяет размер буфера (в байтах), используемый для
данного канала. Величина <em>newSize</em> должна быть в пределах
от десяти до миллиона, что позволяет задавать величину буфера
от десяти до миллиона байт.
</dd>
<dt><a name=eofchar></a><strong>-eofchar</strong> <em>char</em> </dt>
<dt><strong>-eofchar</strong> {<em>inChar</em> <em>outChar</em>}</dt>
<dd> Эти опции поддерживают структуру файлов DOS, в которой
символ Control-z (\x1a) используется как символ конца
файла. Если аргумент <em>char</em> не равен пустой строке, то
этот символ, если он встречается во вводе, означает конец
файла. При выводе информации символ конца файла выдается при
закрытии канала. Если аргумент <em>char</em> равен пустой
строке, то специальный символ конца файла отсутствует. Для
каналов ввода-вывода элементы списка {<em>inChar</em>
<em>outChar</em>} определяют символы конца файла для ввода и
вывода соответственно. Пользователь может указать в списке
единственный символ, который будет использоваться и для ввода,
и для вывода. Однако, при запросе команда возвратит текущие
установки в виде списка из двух одинаковых элементов. Значения
по умолчанию для символов конца файла - пустая строка всегда,
кроме файлов Windows. В этом случае <em>inChar</em> равно
Control-z (\x1a), <em>outChar</em> - пустой строке.
</dd>
<dt><strong>-translation</strong> <em>mode</em> </dt>
<dt><strong>-translation</strong> <em>{inMode outMode}</em></dt>
<dd><p>В Tcl-скриптах конец строки всегда представляется
единственным символом новой строки (
). Однако, в реальных
файлах и устройствах конец строки может быть представлен
разными символами или наборами символов в зависимости от
используемой платформы или даже конкретного устройства.
Например, на UNIX- платформах символ новой строки
используется в файлах, в то время как для сетевых соединений
используется последовательность &quot;возврат каретки -
новая строка&quot;. При вводе данных (например, при
исполнении команд <a href=gets.html><strong>gets</strong></a>
или <a href=read.html><strong>read</strong></a>) система ввода -
вывода Tcl сама автоматически преобразует внешнее
представление конца строк во внутреннее представление
(символ новой строки). При выводе (например, при команде <a
href= puts.html><strong>puts</strong></a>) также происходит
преобразование ко внешнему формату представления конца
строки. Значение аргумента по умолчанию равно <strong>auto</strong>.
При этом символы конца строки для большинства ситуаций
правильно определяются автоматически. Однако, опция
<strong>-translation</strong> позволяет при необходимости задать
соответствующие символы в явном виде.</p>
<p>Аргумент <em>mode</em> задает представление конца строки для
каналов, открытых только на чтение или только на
запись. Список {<em>inMode</em> <em>outMode</em>} определяет
представление конца строки для каналов ввода - вывода.
Пользователь может указать в списке единственный символ,
который будет использоваться и для ввода, и для вывода.
Однако, при запросе команда возвратит текущие установки в
виде списка из двух одинаковых элементов.</p>
<p>Поддерживаются следующие значения опции:</p>
<dl>
<dt> <strong>auto</strong> </dt>
<dd> При вводе в качестве конца строки могут использоваться
символ возврата каретки (<strong>cr</strong>), символ новой строки
(<strong>lf</strong>), или их последовательность
(<strong>crlf</strong>). Причем разные строки могут заканчиваться
по-разному. Все эти представления будут переведены в
символ новой строки. При выводе используется разное
представление для различных платформ и каналов. Для
сетевых соединений на всех платформах используется
<strong>crlf</strong>, для всех Unix- платформ - <strong>lf</strong>, для
Macintosh - <strong>cr</strong>, а для всех Windows-платформ -
<strong>crlf</strong>.
</dd>
<dt><strong>binary</strong></dt>
<dd> Никакого преобразования символов конца строки не
производится. Это значение опции очень схоже со значением
<strong>lf</strong>, однако, при значении <strong>binary</strong> пустая
строка воспринимается как конец файла (см. описание опции
<a href=#eofchar><strong>-eofchar</strong></a>).
</dd>
<dt><strong>cr</strong></dt>
<dd> В качестве символа конца строки используется возврат
каретки (<strong>cr</strong>). Соответственно, при вводе символ
возврата каретки преобразуется в символ новой строки, а
при выводе, наоборот, символ новой строки преобразуется в
символ возврата каретки. Это значение опции используется,
обычно, на Macintosh-платформах.
</dd>
<dt><strong>crlf</strong></dt>
<dd> В качестве символа конца строки используется
последовательность &quot;возврат каретки - новая
строка&quot; (<strong>crlf</strong>). Соответственно, при вводе
последовательность &quot;возврат каретки - новая
строка&quot; преобразуется в символ новой строки, а при
выводе, наоборот, символ новой строки преобразуется в
последовательность &quot;возврат каретки - новая
строка&quot;. Это значение опции используется обычно на
Windows-платформах и при сетевых соединениях.
</dd>
<dt><strong>lf</strong></dt>
<dd> В качестве символа конца строки используется символ
новой строки (<strong>lf</strong>). Никакого преобразования символов
конца строки при вводе и выводе не происходит. Это
значение опции используется, обычно, на UNIX-платформах.
</dd>
</dl>
</dd>
</dl>
<p>См. также <a href=close.html><strong>close</strong></a>(n), <a
href=flush.html><strong>flush</strong></a>(n), <a href=
gets.html><strong>gets</strong></a>(n), <a
href=puts.html><strong>puts</strong></a>(n), <a
href=read.html><strong>read</strong></a>(n), <a
href=socket.html><strong>socket</strong></a>(n)
</p>
</body>
</html>