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

180 lines
11 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>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>Если в файловом диалоге на конкретной платформе имеется окно
списка типов файлов, то этот параметр задает содержимое
списка. При выборе типа файла в списке выводятся только файлы
этого типа. Если параметр не задан или его значение пустая
строка, а также если на данной платформе не поддерживается
окно списка типов файлов, то выводятся имена всех файлов,
несмотря на их типы. Содержимое списка обсуждается ниже
(см. &quot;<a href=#ОПИСАНИЕ_ОБРАЗЦОВ_ТИПОВАЙЛОВ>ОПИСАНИЕ
ОБРАЗЦОВ ТИПОВ ФАЙЛОВ</a>&quot;).</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>специальное расширение &quot;&quot;, под которое подходит
любой файл без расширения (т.е. файл, имя которого не содержит
точки);</li>
<li>произвольная строка символов, среди которых нет символов
маски (* и ?).</li>
</ol>
<p>Ввиду того, что на различных платформах используются различные
правила соответствия, появление символов маски в расширениях не
допускается, за исключением специального расширения
&quot;*&quot;. Расширения, в которых нет точки (например,
&quot;~&quot;), допустимы, но они могут работать не на всех
платформах.</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 ]
if { != &quot;&quot;} {
# Открыть файл ...
}
</pre>
</body>
</html>