Функция
ExecProgram (String, String, String, Integer, Var Integer) :
Integer |
Top Previous Next |
Назначение
|
Функция
для запуска внешних программ из программ, созданных на базе
системы Атлантис.
Данной функцией запускаются Exe и Com файлы DOS, Win16 и Win32, а
также Bat-файлы. Возможны режимы запуска с ожиданием завершения или
без (параметр aRunFlags), а также с изображением
текстового экрана запускаемой программы (DOS-версия).
Поддерживается функция перенаправления входного и выходного потоков
запускаемой программы в командной строке (параметр
aParamStr). |
Описание
|
function
ExecProgram (aFileName, aParamStr, aTitle : String;
|
aRunFlags
: Integer; Var aExitCode : Integer) : Integer; |
Параметры
|
Входные:
|
aFileName
: String - имя файла запускаемой программы. Если не задан
полный путь, то запускаемая программа будет искаться в каталоге
основной программы, затем в текущем каталоге и в путях
DOS-переменной Path. Для Windows-версии в качестве имени
запускаемой программы можно использовать слово 'Start', если в
параметре aParamStr задано имя файла запускаемой
программы с зарегистрированным расширением (например, "doc", "txt",
"bmp" и т.д.). Зарегистрированные на данном компьютере расширения
можно узнать командой "Assoc|More" или посмотреть в меню Explorer
(Проводник) View|Options, вкладка File Types. |
aParamStr
: String - строка параметров запускаемой программы,
например: '111.doc'. Строка может включать символы перенаправления
ввода и вывода (символы "<" и ">"), например: 'Input.txt /c
>Data.out'. |
aTitle
: String - строка заголовка окна, в которое выводится экран
запущенной программы (для DOS-версии). В Windows-версии эта же
строка используется для визуализации запуска внешней программы.
|
aRunFlags
: Integer - флаги запуска программы:
|
Выходной
параметр: |
aExitCode
: Integer - параметр, возвращающий код завершения программы
(обычно 0 - нормальное завершение, но некоторые программы, например
pkzip, имеют ненулевые успешные коды).
|
Возвращаемое
значение |
Функция
возвращает код ошибки запуска программы: |
Пример
1 |
Var aDosCode,
aErrorCode : Integer; |
aDosCode:=
ExecProgram ('Winword.exe' , 'L:\DOC\PRINT.DOC /P',
|
'Печать
файла', 0, aErrorCode); |
if aDosCode
<> 0 then { |
Message
('Программа не запустилась !', mfError); |
} else {
|
if aErrorCode
<> 0 then |
Message ('Файл
не напечатан !', mfError); |
}
|
Пример
2 |
ExecProgram
(pkzip' , '-v L:\FILES\DATA.ZIP >L:\FILES\result.txt', 0,
|
'Формирование
списка файлов в архиве', $2000, aErrorCode); |