projman/hlp/ru/tcl/fconfigure.html

212 lines
14 KiB
HTML
Raw Normal View History

<!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>
<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>
<h2>ОПИСАНИЕ</h2>
<p>Команда <strong>fconfigure</strong> устанавливает и читает опции
каналов. Аргумент <em>channelId</em> определяет конкретный канал,
с которым работает команда. Если аргументы <em>name</em> и
<em>value</em> отсутствуют, команда возвращает список, содержащий
поочередно имена опций и их значения для канала. Если имя опции
указано, а значение - нет, команда возвращает текущее значение
указанной опции. Если в команде указаны одна или больше пар имен
и значений, то команда устанавливает каждой из перечисленных
опций указанное значение. В этом случае команда возвращает
пустую строку.</p>
2015-10-19 13:27:31 +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>
<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>
<dd><p>Если аргумент <em>newValue</em> равен <strong>full</strong>, система
ввода-вывода будет накапливать вывод в буфере, пока буфер не
заполнится целиком. После этого буфер будет выдан в канал.</p>
2015-10-19 13:27:31 +03:00
<p>Если аргумент <em>newValue</em> равен <strong>line</strong>, система
ввода-вывода будет выдавать буфер в канал каждый раз при
поступлении символа конца строки. </p>
2015-10-19 13:27:31 +03:00
<p>Если аргумент <em>newValue</em> равен <strong>none</strong>, система
ввода-вывода будет выводить каждый символ сразу после его
поступления.</p>
2015-10-19 13:27:31 +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>
<dd>Аргумент <em>newSize</em> должен быть целым числом. Его
значение определяет размер буфера (в байтах), используемый для
данного канала. Величина <em>newSize</em> должна быть в пределах
от десяти до миллиона, что позволяет задавать величину буфера
от десяти до миллиона байт.
2015-10-19 13:27:31 +03:00
</dd>
<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>
<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>
<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>
2015-10-19 13:27:31 +03:00
<p>Поддерживаются следующие значения опции:</p>
2015-10-19 13:27:31 +03:00
<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-платформ -
2015-10-19 13:27:31 +03:00
<strong>crlf</strong>.
</dd>
<dt><strong>binary</strong></dt>
<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>
<dd> В качестве символа конца строки используется возврат
каретки (<strong>cr</strong>). Соответственно, при вводе символ
возврата каретки преобразуется в символ новой строки, а
при выводе, наоборот, символ новой строки преобразуется в
символ возврата каретки. Это значение опции используется,
обычно, на Macintosh-платформах.
2015-10-19 13:27:31 +03:00
</dd>
<dt><strong>crlf</strong></dt>
<dd> В качестве символа конца строки используется
последовательность &quot;возврат каретки - новая
строка&quot; (<strong>crlf</strong>). Соответственно, при вводе
последовательность &quot;возврат каретки - новая
строка&quot; преобразуется в символ новой строки, а при
выводе, наоборот, символ новой строки преобразуется в
последовательность &quot;возврат каретки - новая
строка&quot;. Это значение опции используется обычно на
Windows-платформах и при сетевых соединениях.
2015-10-19 13:27:31 +03:00
</dd>
<dt><strong>lf</strong></dt>
<dd> В качестве символа конца строки используется символ
новой строки (<strong>lf</strong>). Никакого преобразования символов
конца строки при вводе и выводе не происходит. Это
значение опции используется, обычно, на UNIX-платформах.
2015-10-19 13:27:31 +03:00
</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)
2015-10-19 13:27:31 +03:00
</p>
</body>
</html>