180 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			180 lines
		
	
	
		
			11 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 ]
 | ||
|       if { != ""} {
 | ||
|         # Открыть файл ...
 | ||
|       }
 | ||
|     </pre>
 | ||
|   </body>
 | ||
| </html>
 | ||
| 
 | 
