Процессы

ShellExecute(Operation, FileName, Parameters: Variant; ChoiseMode: TbtkFileChoiseMode)

Выполняет указанное действие (Operation) над файлом средствами ОС Windows.

Подробнее: Работа с файлами

Parameters:
  • Operation (Variant) –

    действие, которое необходимо выполнить над указанным файлом (или папкой):

    edit

    открыть документ на редактирование редактором по умолчанию

    explore

    открыть каталог FileName

    open

    открыть

    print

    отправить файл на печать

    Attention

    • Для корректной работы параметра требуется установленный плагин Gs3-browser-cmd версии 0.19.4 и выше

  • FileName (Variant) – полное имя открываемого или исполняемого файла.

  • Parameters (Variant) – параметры командной строки, передаваемые исполняемому файлу. Передача параметров не предполагается, если файл не исполняемый, в этом случае генерируется исключение.

  • ChoiseMode (TbtkFileChoiseMode) –

    Режим выбора приложения для открытия файла. Необязателен. По-умолчанию fcmByExtension.

    Attention

    На текущий момент, переданое значение игнорируется и используется режим fcmByExtension.

Пример использования
<pascal>
  //Открыть текстовый документ на просмотр. Будет показан диалог выбора приложения
  ShellExecute('open', '...\test.txt', '', fcmAlwaysWithDialog);

  //Распечатать текстовый документ
  ShellExecute('print', '...\test.txt', '');

  //Открыть текущий каталог в Explorer-е
  ShellExecute('explore', '.\', '');
</pascal>

Attention

ShellExec(Filename, Parameters: String; Wait: Boolean; ChoiseMode: TbtkFileChoiseMode)

Запускает на выполнение файл средствами ОС Windows.

Parameters:
  • Filename (String) – Полное имя открываемого или исполняемого файла.

  • Parameters (String) – Параметры командной строки, передаваемые исполняемому файлу. Передача параметров поддерживается только при запуске исполняемого файла, в противном случае генерируется исключение.

  • Wait (Boolean) – Модальность открытия файла. Если True, перед дальнейшим выполнением скрипта ожидается завершение операции над файлом.

  • ChoiseMode (TbtkFileChoiseMode) –

    Режим выбора приложения для открытия файла. Необязателен. По-умолчанию fcmByExtension.

    Attention

    На текущий момент, переданое значение игнорируется и используется режим fcmByExtension.

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>

Attention

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) –

    Режим выбора приложения для открытия файла.

    Attention

    На текущий момент, переданое значение игнорируется и используется режим fcmByExtension.

  • Selection (TbtkScriptSelectionObject) – Выборка, из которой берётся Callback-операция.

  • CallbackOperation (string) – Название Callback-операции в выборке Selection, которая будет вызвана по завершении редактирования файла. Операция вызывается только если после редактирования файл изменился, либо если параметр ExecOperOnClose = True.

  • Mode (TbtkWatcherMode) –

    Необязательный параметр.

    Режим определения окончания редактирования файла.

    Значение по умолчанию: wmAuto.

    Attention

    На текущий момент, переданое значение игнорируется и используется режим 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>

Attention

TbtkFileChoiseMode

class TbtkFileChoiseMode

Перечисление. Режим выбора приложения для открытия файла.

fcmByExtension

приложение выбирается редактором по умолчанию, определяемому по расширению файла. В случае, если для этого расширения редактор не указан, выводится соответствующее информационное сообщение;

fcmByExtensionOrDialog

приложение выбирается редактором по умолчанию, а если он не задан, то показывается окно его выбора из списка установленных программ.

fcmAlwaysWithDialog

в любом случае показывается окно выбора приложения для открытия файла.

Attention

  • На текущий момент, Application Server поддерживает только режим fcmByExtension

  • Управление данной опцией не допускается для исполняемых файлов (*.exe) и при открытии каталога (explore). Кроме того, если при отправке файла на печать (print) расширение файла неизвестно и режим выбора приложение равен fcmByExtensionOrDialog или fcmAlwaysWithDialog, после показа окна выбора приложения файл откроется, но на печать отправлен не будет. Печать файла необходимо будет вызвать вручную, из интерфейса редактора.