HOME ПРИМЕРЫ THANKS НОВИЧКАМ ДОКИ LINKS JavaScript Mail


 
В этот день много лет назад...
25 апреля. В 1956 году (68 лет назад) - В СССР отменяется судебная ответственность за прогул, введенная в 1940.
 
 

Turbo Pascal Documentation

Процедура Exec

Модуль Dos


     Функция: Выполняет указанную программу,  передавая  за-
данную строку параметров.
     Описание: Exec(маршрут, ком_строка : string)
     Примечания: Имя программы указывается в параметре "мар-
шрут",   а   строка   параметров   содержится   в  параметре
"ком_строка". Для выполнения внутренней команды ДОС запусти-
те файл СОММАND.СОМ. Например:

     Exec('COMMAND.COM','/C DIR *.PAS');

     /С перед командой является  запросом  на  запуск  файла
СОММАND.СОМ  (но  не других программ). Возможные коды ошибок
можно получить с помощью функции DosError. Этими кодами  мо-
гут  быть 2, 8, 10 и 11. Код завершения процесса можно полу-
чить с помощью функции DosExitCode.
     До начала выполнения программы процедура Ехес не  изме-
няет  распределение  памяти.  Таким  образом, при компиляции
программы, использующей процедуру Ехес,  необходимо  обеспе-
чить  задание максимального размера динамически распределяе-
мой области памяти, иначе памяти может не хватить  (DosError
= 8).
     Прочее: См. также функцию DosExitCode, SwapVectors.
     Пример:

{ 16К выделяется для стека, динамически распределяемая
   область не запрашивается и не резервируется }
  uses Dos;
  var
    ProgramName, CmdLine : string;
  begin
    Write('Программа, которую нужно выполнить (включая
           полное имя пути доступа): ');
    Readln(ProgramName);
    Write('Командная строка, которую нужно передать в прог-
           рамму ', ProgramName, ':');
    Readln(CmdLine);
    Writeln('Начало выполнения Exec...');
    Exec(ProgramName, CmdLine);
    Writeln('...возврат из Exec');
    if DosError <> 0 then                        { ошибка- }
       Writeln('Ошибка ДОС #', DosError)
    else
       Writeln('Вызов Exec прошел успешно. Код завершения
                порожденного процесса = ', DosExitCode);
  end.




HOME