7. Процессы¶
-
ShellExecute
(Operation, FileName, Parameters: Variant; ChoiseMode: TbtkFileChoiseMode)¶ Выполняет указанное действие (Operation) над файлом средствами ОС Windows.
Подробнее: Работа с файлами
Parameters: - Operation (Variant) –
действие, которое необходимо выполнить над указанным файлом (или папкой):
- edit
- открыть документ на редактирование редактором по умолчанию
- explore
- открыть каталог FileName
- open
- открыть
- отправить файл на печать
- FileName (Variant) – полное имя открываемого или исполняемого файла.
- Parameters (Variant) – параметры командной строки, передаваемые исполняемому файлу. Передача параметров не предполагается, если файл не исполняемый, в этом cлучае генерируется исключение.
- ChoiseMode (TbtkFileChoiseMode) – Режим выбора приложения для открытия файла. Необязателен. По-умолчанию fcmByExtensionOrDialog.
<pascal> //Открыть текстовый документ на просмотр. Будет показан диалог выбора приложения ShellExecute('open', '...\test.txt', '', fcmAlwaysWithDialog); //Распечатать текстовый документ ShellExecute('print', '...\test.txt', ''); //Открыть текущий каталог в Explorer-е ShellExecute('explore', '.\', ''); </pascal>
- Operation (Variant) –
-
ShellExec
(Filename, Parameters: String; Wait: Boolean; ChoiseMode: TbtkFileChoiseMode)¶ Запускает на выполнение файл средствами ОС Windows.
Parameters: - Filename (String) – Полное имя открываемого или исполняемого файла.
- Parameters (String) – Параметры командной строки, передаваемые исполняемому файлу. Передача параметров поддерживается только при запуске исполняемого файла, в противном случае генерируется исключение.
- Wait (Boolean) – Модальность открытия файла. Если True, перед дальнейшим выполнением скрипта ожидается завершение операции над файлом.
- ChoiseMode (TbtkFileChoiseMode) –
Необязательный параметр.
Режим выбора приложения для открытия файла.
Значение по умолчанию: fcmByExtensionOrDialog.
Note
На ОС Windows 8+ метод может вызвать исключение EbtkFileWatcherException в случае, если файл открыт средством просмотра документов (фотографий) в модальном режиме. Шаблон обработки этого исключения см. в примере.
Note
Режим ожидания закрытия файла в случае указания
Wait = True
определяется автоматически. Если при открытии создается новый процесс, то ожидается завершение этого процесса. Если же процесса не создается, то ожидание происходит по критерию занятости файла внешней программой. Ручное задание этого режима предусмотрено в методеTbtkScriptSelectionObject.BlobOpenEx2
.<pascal> try ShellExec('...\test.txt', '', True, fcmAlwaysWithDialog); except if not SameText(LastExceptionClassName, 'EbtkFileWatcherException') then raise(LastExceptionMessage); end; </pascal>
-
ShellExecEx2
(Filename, Parameters: String; Wait: Boolean; ChoiseMode: TbtkFileChoiseMode; Selection: TbtkScriptSelectionObject; CallbackOperation: string; Mode: TbtkWatcherMode; ExecOperOnClose: Boolean)¶ Запускает на выполнение файл средствами ОС Windows. По окончании выполнения/редактирования файла выполняет операцию выборки.
Parameters: - Filename (String) – Полное имя открываемого или исполняемого файла.
- Parameters (String) – Параметры командной строки. Передача параметров поддерживается только при запуске исполняемого файла, в противном случае генерируется исключение.
- Wait (Boolean) – Модальность открытия файла. Если True, перед дальнейшим выполнением скрипта ожидается завершение операции над файлом.
- ChoiseMode (TbtkFileChoiseMode) – Режим выбора приложения для открытия файла.
- Selection (TbtkScriptSelectionObject) – Выборка, из которой берётся Callback-операция.
- CallbackOperation (string) – Название Callback-операции в выборке Selection, которая будет вызвана по завершении редактирования файла. Операция вызывается только если после редактирования файл изменился, либо если параметр ExecOperOnClose = True.
- Mode (TbtkWatcherMode) –
Необязательный параметр.
Режим определения окончания редактирования файла.
Значение по умолчанию: wmAuto.
- ExecOperOnClose (Boolean) –
Необязательный параметр.
Указывает на то, что Callback-операция должна быть вызвана независимо от того, изменился ли файл.
Значение по умолчанию: False.
Note
На ОС Windows 8+ метод может вызвать исключение EbtkFileWatcherException в случае, если файл открыт средством просмотра документов (фотографий) в модальном режиме. Шаблон обработки этого исключения см. в примере.
<pascal> try ShellExecEx2('...\test.txt', '', True, fcmAlwaysWithDialog, Selection, 'opCallback', wmAuto, True); except if not SameText(LastExceptionClassName, 'EbtkFileWatcherException') then raise(LastExceptionMessage); end; </pascal>
New in version Global: 5.7.0_ms11
7.1. TbtkFileChoiseMode¶
-
class
TbtkFileChoiseMode
¶ Перечисление. Режим выбора приложения для открытия файла.
-
fcmByExtension
¶ приложение выбирается редактором по умолчанию, определяемому по расширению файла. В случае, если для этого расширения редактор не указан, выводится соответствующее информационное сообщение;
-
fcmByExtensionOrDialog
¶ приложение выбирается редактором по умолчанию, а если он не задан, то показывается окно его выбора из списка установленных программ.
-
fcmAlwaysWithDialog
¶ в любом случае показывается окно выбора приложения для открытия файла.
Attention
Управление данной опцией не допускается для исполняемых файлов (*.exe) и при открытии каталога (explore). Кроме того, если при отправке файла на печать (print) расширение файла неизвестно и режим выбора приложение равен fcmByExtensionOrDialog или fcmAlwaysWithDialog, после показа окна выбора приложения файл откроется, но на печать отправлен не будет. Печать файла необходимо будет вызвать вручную, из интерфейса редактора.
-