179 lines
7.2 KiB
HTML
179 lines
7.2 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||
<html>
|
||
<head>
|
||
<title>tk_getOpenFile</title>
|
||
</head>
|
||
<body>
|
||
<h1>tk_getOpenFile</h1>
|
||
|
||
<p>Открывает окно диалога, в котором пользователь должен выбрать
|
||
файл для того, чтобы открыть его.</p>
|
||
|
||
<h2><a name="СИНТАКСИС"></a>СИНТАКСИС</h2>
|
||
|
||
<pre>
|
||
<strong>tk_getOpenFile</strong> ?<em>параметр значение...</em>?
|
||
</pre>
|
||
|
||
<h2><a name="ОПИСАНИЕ"></a>ОПИСАНИЕ</h2>
|
||
|
||
<p>Процедура <strong>tk_getOpenFile</strong> открывает окно
|
||
диалога, в котором пользователь должен выбрать файл для того,
|
||
чтобы открыть его. </p>
|
||
|
||
<p>Команда <strong>tk_getOpenFile</strong> обычно выполняется при
|
||
вызове команды <strong>Open</strong> из меню
|
||
<strong>File</strong>. Она позволяет лишь выбрать один из
|
||
существующих файлов. Если пользователь вводит имя
|
||
несуществующего файла, то окно диалога информирует его об ошибке
|
||
и предлагает сделать другой выбор. Если приложение позволяет
|
||
пользователю создавать файлы, то для этой цели должна быть
|
||
предназначена специальная команда меню <strong>New</strong>.</p>
|
||
|
||
<p>В качестве пар <em>аргумент-значение</em> в командной строке
|
||
этих двух команд допускаются следующие варианты:</p>
|
||
|
||
<dl>
|
||
<dt><strong>-defaultextension</strong> <em>расширение</em></dt>
|
||
|
||
<dd>Задает строку, которая автоматически приписывается к имени
|
||
файла в случае, если имя, введенное пользователем, не имеет
|
||
расширения. По умолчанию значение этого параметра пустая
|
||
строка, т.е. имя файла не будет получать расширения ни в каком
|
||
случае. На платформе Макинтош, где имена файлов не требуют
|
||
расширения, этот параметр игнорируется.</dd>
|
||
|
||
<dt><strong>-filetypes</strong> <em>списокТиповФайлов</em></dt>
|
||
|
||
<dd>Если в файловом диалоге на конкретной платформе имеется окно
|
||
списка типов файлов, то этот параметр задает содержимое
|
||
списка. При выборе типа файла в списке выводятся только файлы
|
||
этого типа. Если параметр не задан или его значение пустая
|
||
строка, а также если на данной платформе не поддерживается
|
||
окно списка типов файлов, то выводятся имена всех файлов,
|
||
несмотря на их типы. Содержимое списка обсуждается ниже
|
||
(см. "<a href="#ОПИСАНИЕ_ОБРАЗЦОВ_ТИПОВ_ФАЙЛОВ">ОПИСАНИЕ
|
||
ОБРАЗЦОВ ТИПОВ ФАЙЛОВ</a>").</dd>
|
||
|
||
<dt><strong>-initialdir</strong> <em>каталог</em></dt>
|
||
|
||
<dd>Указывает, файлы какого каталога должны выводиться при
|
||
появлении окна диалога. Если этот параметр не задан, то
|
||
выводится список имен файлов в текущем каталоге процесса. На
|
||
платформе Макинтош параметр <em>каталог</em> срабатывает не
|
||
всегда. Это не результат ошибки. Этот эффект является
|
||
следствием того, что панель управления General Controls на
|
||
Макинтоше позволяет конечному пользователю подавить значение
|
||
каталога приложения по умолчанию.</dd>
|
||
|
||
<dt><strong>-initialfile</strong> <em>имяфайла</em></dt>
|
||
|
||
<dd>Задает имя файла, которое должно выводиться в окне диалога
|
||
при его появлении.</dd>
|
||
|
||
<dt><strong>-parent</strong> <em>окно</em></dt>
|
||
|
||
<dd>Делает <em>окно</em> логическим родителем файлового
|
||
диалога. Окно файлового диалога выводится поверх родительского
|
||
<em>окна</em>.</dd>
|
||
|
||
<dt><strong>-title</strong> <em>строкаЗаголовка</em></dt>
|
||
|
||
<dd>Задает строку, которая выводится в качестве заголовка в окне
|
||
диалога. Если параметр не задан, то в окне выводится заголовок
|
||
по умолчанию. На платформе Макинтош параметр игнорируется.</dd>
|
||
</dl>
|
||
|
||
<p>После того, как пользователь выбрал файл, команда
|
||
<strong>tk_getSaveFile</strong> возвращают полное имя пути к этому
|
||
файлу. Если пользователь прерывает выполнение операции, то обе
|
||
команды возвращают пустую строку.</p>
|
||
|
||
<h2><a name="ОПИСАНИЕ_ОБРАЗЦОВ_ТИПОВ_ФАЙЛОВ"></a>ОПИСАНИЕ ОБРАЗЦОВ
|
||
ТИПОВ ФАЙЛОВ</h2>
|
||
|
||
<p>Значение <em>списокТиповФайлов</em> параметра
|
||
<strong>-filetypes</strong> представляет собой список образцов
|
||
типов файлов. Каждый из образцов это список вида
|
||
|
||
<pre>
|
||
имяТипа {расширение расширение...} {макТип макТип...}
|
||
</pre>
|
||
|
||
<p><em>имяТипа</em> это имя типа файлов; его значение это
|
||
текстовая строка, которая попадает в список типов
|
||
файлов. расширение это одно из расширений для файлов данного
|
||
типа. <em>макТип</em> это четырехсимвольный тип файлов на
|
||
платформе Макинтош. Список <em>макТипов</em> необязателен, и для
|
||
приложений, которые не планируется использовать на платформе
|
||
Макинтош, его можно опустить.</p>
|
||
|
||
<p>Одно и то же <em>имяТипа</em> может встречаться в нескольких
|
||
образцах; в этом случае все они описывают файлы одного типа и им
|
||
соответствует одна строка в списке типов. При выборе такой
|
||
строки в списке выводится список всех файлов, имена которых
|
||
подходят хотя бы под один образец. Обычно каждому типу файлов
|
||
соответствует в точности один образец. Использование нескольких
|
||
образцов необходимо лишь для платформы Макинтош.</p>
|
||
|
||
<p>На платформе Макинтош файл подходит под образец, если
|
||
расширение его имени совпадает по крайней мере с одним из
|
||
расширений И оно имеется по крайней мере в одном из значений
|
||
параметра <em>макТип</em> в образце. Например, под образец
|
||
исходных файлов на языке C подходят файлы с расширением
|
||
<em>.c</em> И с макТипом <em>TEXT</em>. Для того, чтобы заменить
|
||
конъюнкцию И дизъюнкцией <em>ИЛИ</em>, нужно вместо одной строки
|
||
образца завести две строки, в одной из которых есть только
|
||
расширения, а в другой только <em>макТипы</em>. Под образец
|
||
файлового типа <em>GIF</em> подходят файлы с расширением
|
||
<em>.gif</em> ИЛИ имеющие <em>макТип</em> GIFF.</p>
|
||
|
||
<p>На платформах Unix и Windows файл подходит под образец
|
||
файлового типа, если расширение его имени соответствует одному
|
||
из расширений в образце. <em>макТип</em>ы игнорируются.</p>
|
||
|
||
<h2><a name="ЗАДАНИЕ_РАСШИРЕНИЙ"></a>ЗАДАНИЕ РАСШИРЕНИЙ</h2>
|
||
|
||
<p>На платформах Unix и Macintosh соответствие образцам
|
||
устанавливается обычным образом. На платформах Windows
|
||
соответствие образцам устанавливается операционной
|
||
системой. Возможными расширениями могут быть:</p>
|
||
|
||
<ol>
|
||
<li>специальное расширение *, под которое подходит любой файл;</li>
|
||
|
||
<li>специальное расширение "", под которое подходит
|
||
любой файл без расширения (т.е. файл, имя которого не содержит
|
||
точки);</li>
|
||
|
||
<li>произвольная строка символов, среди которых нет символов
|
||
маски (* и ?).</li>
|
||
</ol>
|
||
|
||
<p>Ввиду того, что на различных платформах используются различные
|
||
правила соответствия, появление символов маски в расширениях не
|
||
допускается, за исключением специального расширения
|
||
"*". Расширения, в которых нет точки (например,
|
||
"~"), допустимы, но они могут работать не на всех
|
||
платформах.</p>
|
||
|
||
<h2><a name="ПРИМЕР"></a>ПРИМЕР</h2>
|
||
|
||
<pre>
|
||
set types {
|
||
{{Text Files} {.txt} }
|
||
{{TCL Scripts} {.tcl} }
|
||
{{C Source Files} {.c} TEXT}
|
||
{{GIF Files} {.gif} }
|
||
{{GIF Files} {} GIFF}
|
||
{{All Files} * }
|
||
}
|
||
|
||
set filename [tk_getOpenFile -filetypes $types]
|
||
if {$filename != ""} {
|
||
# Открыть файл ...
|
||
}
|
||
</pre>
|
||
</body>
|
||
</html>
|