2018-02-05 17:22:04 +03:00
|
|
|
|
<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<html>
|
|
|
|
|
<head>
|
|
|
|
|
<title>fconfigure</title>
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<h1>fconfigure</h1>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p> <strong>fconfigure</strong> - устанавливает и читает опции канала. </p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<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>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<h2>ОПИСАНИЕ</h2>
|
|
|
|
|
|
|
|
|
|
<p>Команда <strong>fconfigure</strong> устанавливает и читает опции
|
|
|
|
|
каналов. Аргумент <em>channelId</em> определяет конкретный канал,
|
|
|
|
|
с которым работает команда. Если аргументы <em>name</em> и
|
|
|
|
|
<em>value</em> отсутствуют, команда возвращает список, содержащий
|
|
|
|
|
поочередно имена опций и их значения для канала. Если имя опции
|
|
|
|
|
указано, а значение - нет, команда возвращает текущее значение
|
|
|
|
|
указанной опции. Если в команде указаны одна или больше пар имен
|
|
|
|
|
и значений, то команда устанавливает каждой из перечисленных
|
|
|
|
|
опций указанное значение. В этом случае команда возвращает
|
|
|
|
|
пустую строку.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Описанные ниже опции поддерживаются для всех типов каналов.
|
|
|
|
|
Кроме того, каждый тип канала может иметь дополнительно
|
|
|
|
|
собственные опции. Они приведены в описаниях команд создания
|
|
|
|
|
каналов, например, в описании команды <a
|
|
|
|
|
href=socket.html><strong>socket</strong></a>.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dl>
|
|
|
|
|
<dt> <strong>-blocking</strong> <em>boolean</em> </dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<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>).
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dd>
|
|
|
|
|
|
|
|
|
|
<dt><strong>-buffering</strong> <em>newValue</em></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd><p>Если аргумент <em>newValue</em> равен <strong>full</strong>, система
|
|
|
|
|
ввода-вывода будет накапливать вывод в буфере, пока буфер не
|
|
|
|
|
заполнится целиком. После этого буфер будет выдан в канал.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Если аргумент <em>newValue</em> равен <strong>line</strong>, система
|
|
|
|
|
ввода-вывода будет выдавать буфер в канал каждый раз при
|
|
|
|
|
поступлении символа конца строки. </p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Если аргумент <em>newValue</em> равен <strong>none</strong>, система
|
|
|
|
|
ввода-вывода будет выводить каждый символ сразу после его
|
|
|
|
|
поступления.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Значение по умолчанию <strong>full</strong> для всех каналов, кроме
|
|
|
|
|
устройств типа терминалов. Для них значение по умолчанию
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<strong>line.</strong></p>
|
|
|
|
|
</dd>
|
|
|
|
|
|
|
|
|
|
<dt><strong>-buffersize</strong> <em>newSize</em></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Аргумент <em>newSize</em> должен быть целым числом. Его
|
|
|
|
|
значение определяет размер буфера (в байтах), используемый для
|
|
|
|
|
данного канала. Величина <em>newSize</em> должна быть в пределах
|
|
|
|
|
от десяти до миллиона, что позволяет задавать величину буфера
|
|
|
|
|
от десяти до миллиона байт.
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dd>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dt><a name=eofchar></a><strong>-eofchar</strong> <em>char</em> </dt>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>-eofchar</strong> {<em>inChar</em> <em>outChar</em>}</dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<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> - пустой строке.
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dd>
|
|
|
|
|
|
|
|
|
|
<dt><strong>-translation</strong> <em>mode</em> </dt>
|
|
|
|
|
|
|
|
|
|
<dt><strong>-translation</strong> <em>{inMode outMode}</em></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd><p>В Tcl-скриптах конец строки всегда представляется
|
|
|
|
|
единственным символом новой строки (
|
|
|
|
|
). Однако, в реальных
|
|
|
|
|
файлах и устройствах конец строки может быть представлен
|
|
|
|
|
разными символами или наборами символов в зависимости от
|
|
|
|
|
используемой платформы или даже конкретного устройства.
|
|
|
|
|
Например, на UNIX- платформах символ новой строки
|
|
|
|
|
используется в файлах, в то время как для сетевых соединений
|
|
|
|
|
используется последовательность "возврат каретки -
|
|
|
|
|
новая строка". При вводе данных (например, при
|
|
|
|
|
исполнении команд <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>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Поддерживаются следующие значения опции:</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<dl>
|
|
|
|
|
<dt> <strong>auto</strong> </dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd> При вводе в качестве конца строки могут использоваться
|
|
|
|
|
символ возврата каретки (<strong>cr</strong>), символ новой строки
|
|
|
|
|
(<strong>lf</strong>), или их последовательность
|
|
|
|
|
(<strong>crlf</strong>). Причем разные строки могут заканчиваться
|
|
|
|
|
по-разному. Все эти представления будут переведены в
|
|
|
|
|
символ новой строки. При выводе используется разное
|
|
|
|
|
представление для различных платформ и каналов. Для
|
|
|
|
|
сетевых соединений на всех платформах используется
|
|
|
|
|
<strong>crlf</strong>, для всех Unix- платформ - <strong>lf</strong>, для
|
|
|
|
|
Macintosh - <strong>cr</strong>, а для всех Windows-платформ -
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<strong>crlf</strong>.
|
|
|
|
|
</dd>
|
|
|
|
|
|
|
|
|
|
<dt><strong>binary</strong></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd> Никакого преобразования символов конца строки не
|
|
|
|
|
производится. Это значение опции очень схоже со значением
|
|
|
|
|
<strong>lf</strong>, однако, при значении <strong>binary</strong> пустая
|
|
|
|
|
строка воспринимается как конец файла (см. описание опции
|
|
|
|
|
<a href=#eofchar><strong>-eofchar</strong></a>).
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dd>
|
|
|
|
|
|
|
|
|
|
<dt><strong>cr</strong></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd> В качестве символа конца строки используется возврат
|
|
|
|
|
каретки (<strong>cr</strong>). Соответственно, при вводе символ
|
|
|
|
|
возврата каретки преобразуется в символ новой строки, а
|
|
|
|
|
при выводе, наоборот, символ новой строки преобразуется в
|
|
|
|
|
символ возврата каретки. Это значение опции используется,
|
|
|
|
|
обычно, на Macintosh-платформах.
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dd>
|
|
|
|
|
|
|
|
|
|
<dt><strong>crlf</strong></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd> В качестве символа конца строки используется
|
|
|
|
|
последовательность "возврат каретки - новая
|
|
|
|
|
строка" (<strong>crlf</strong>). Соответственно, при вводе
|
|
|
|
|
последовательность "возврат каретки - новая
|
|
|
|
|
строка" преобразуется в символ новой строки, а при
|
|
|
|
|
выводе, наоборот, символ новой строки преобразуется в
|
|
|
|
|
последовательность "возврат каретки - новая
|
|
|
|
|
строка". Это значение опции используется обычно на
|
|
|
|
|
Windows-платформах и при сетевых соединениях.
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dd>
|
|
|
|
|
|
|
|
|
|
<dt><strong>lf</strong></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd> В качестве символа конца строки используется символ
|
|
|
|
|
новой строки (<strong>lf</strong>). Никакого преобразования символов
|
|
|
|
|
конца строки при вводе и выводе не происходит. Это
|
|
|
|
|
значение опции используется, обычно, на UNIX-платформах.
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dd>
|
|
|
|
|
</dl>
|
|
|
|
|
</dd>
|
|
|
|
|
</dl>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<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)
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|
2018-02-05 17:22:04 +03:00
|
|
|
|
|