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>tk_getOpenFile</title>
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<h1>tk_getOpenFile</h1>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Открывает окно диалога, в котором пользователь должен выбрать
|
|
|
|
|
файл для того, чтобы открыть его.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<h2><a name=СИНТАКСИС></a>СИНТАКСИС</h2>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<pre>
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<strong>tk_getOpenFile</strong> ?<em>параметр значение...</em>?
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</pre>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<h2><a name=ОПИСАНИЕ></a>ОПИСАНИЕ</h2>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Процедура <strong>tk_getOpenFile</strong> открывает окно
|
|
|
|
|
диалога, в котором пользователь должен выбрать файл для того,
|
|
|
|
|
чтобы открыть его. </p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Команда <strong>tk_getOpenFile</strong> обычно выполняется при
|
|
|
|
|
вызове команды <strong>Open</strong> из меню
|
|
|
|
|
<strong>File</strong>. Она позволяет лишь выбрать один из
|
|
|
|
|
существующих файлов. Если пользователь вводит имя
|
|
|
|
|
несуществующего файла, то окно диалога информирует его об ошибке
|
|
|
|
|
и предлагает сделать другой выбор. Если приложение позволяет
|
|
|
|
|
пользователю создавать файлы, то для этой цели должна быть
|
|
|
|
|
предназначена специальная команда меню <strong>New</strong>.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>В качестве пар <em>аргумент-значение</em> в командной строке
|
|
|
|
|
этих двух команд допускаются следующие варианты:</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dl>
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<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>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dl>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>После того, как пользователь выбрал файл, команда
|
|
|
|
|
<strong>tk_getSaveFile</strong> возвращают полное имя пути к этому
|
|
|
|
|
файлу. Если пользователь прерывает выполнение операции, то обе
|
|
|
|
|
команды возвращают пустую строку.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<h2><a name=ОПИСАНИЕ_ОБРАЗЦОВ_ТИПОВ_ФАЙЛОВ></a>ОПИСАНИЕ ОБРАЗЦОВ
|
|
|
|
|
ТИПОВ ФАЙЛОВ</h2>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Значение <em>списокТиповФайлов</em> параметра
|
|
|
|
|
<strong>-filetypes</strong> представляет собой список образцов
|
|
|
|
|
типов файлов. Каждый из образцов это список вида
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<pre>
|
2018-02-05 17:22:04 +03:00
|
|
|
|
имяТипа {расширение расширение...} {макТип макТип...}
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</pre>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<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>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<ol>
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<li>специальное расширение *, под которое подходит любой файл;</li>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<li>специальное расширение "", под которое подходит
|
|
|
|
|
любой файл без расширения (т.е. файл, имя которого не содержит
|
|
|
|
|
точки);</li>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<li>произвольная строка символов, среди которых нет символов
|
|
|
|
|
маски (* и ?).</li>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</ol>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Ввиду того, что на различных платформах используются различные
|
|
|
|
|
правила соответствия, появление символов маски в расширениях не
|
|
|
|
|
допускается, за исключением специального расширения
|
|
|
|
|
"*". Расширения, в которых нет точки (например,
|
|
|
|
|
"~"), допустимы, но они могут работать не на всех
|
|
|
|
|
платформах.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<h2><a name=ПРИМЕР></a>ПРИМЕР</h2>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
set types {
|
|
|
|
|
{{Text Files} {.txt} }
|
|
|
|
|
{{TCL Scripts} {.tcl} }
|
|
|
|
|
{{C Source Files} {.c} TEXT}
|
|
|
|
|
{{GIF Files} {.gif} }
|
|
|
|
|
{{GIF Files} {} GIFF}
|
|
|
|
|
{{All Files} * }
|
|
|
|
|
}
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
set filename [tk_getOpenFile -filetypes ]
|
|
|
|
|
if { != ""} {
|
|
|
|
|
# Открыть файл ...
|
2015-10-19 13:27:31 +03:00
|
|
|
|
}
|
|
|
|
|
</pre>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|
2018-02-05 17:22:04 +03:00
|
|
|
|
|