Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 16.06.2008, 15:31   #1
ViNcHeStEr
Delphi
Форумчанин
 
Регистрация: 12.06.2008
Сообщений: 137
По умолчанию Запуск программы на выполнение из другой программы.

Как запустить EXE файл другой программы из своей программы?
=====
Пример:
делаем прогу на Паскале.
EXE файл другой проги лежит в папке с вашей прогой (сделанной на Паскале), например test.exe.
Пользователю предоставляется выбор 1 или 0. Если 0, то конец программы. Если 1, то запускается test.exe.
=====
Как это реализовать?
ViNcHeStEr вне форума Ответить с цитированием
Старый 16.06.2008, 15:58   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Процедура Exec в модуле Dos
+ F1
_Dmitry вне форума Ответить с цитированием
Старый 17.06.2008, 16:55   #3
ViNcHeStEr
Delphi
Форумчанин
 
Регистрация: 12.06.2008
Сообщений: 137
По умолчанию

У меня в справке нет ничего про эту процедуру...
Какой синтаксис у процедуры Exec?
ViNcHeStEr вне форума Ответить с цитированием
Старый 17.06.2008, 17:17   #4
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Exec('программа.exe','параметры');
Не может быть, чтобы ее небыло в справке.
У вас TurboPascal или Delphi?
_Dmitry вне форума Ответить с цитированием
Старый 17.06.2008, 17:28   #5
ViNcHeStEr
Delphi
Форумчанин
 
Регистрация: 12.06.2008
Сообщений: 137
По умолчанию

Спасибо, у меня Borland Pascal.
Я написал вот так а прога test.exe не запускается...

program Exeshnik;
uses crt,dos;
var
a:integer;
begin
readln;
exec('test.exe','');
readln;
end.
ViNcHeStEr вне форума Ответить с цитированием
Старый 17.06.2008, 17:57   #6
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Добавьте путь к файлу в формате DOS (имена папок не длиннее 8 символов и никаких русских букв). Сохраняйте и восстанавливайте вектор прерываний до запуска программы и после завершения. Если и после этого работать не будет, попробуйте уменьшить размер памяти для основной программы (первая строка).
Код:
{$M 4000,0,0}
program Exeshnik;
uses crt,dos;
var
  a:integer;
begin
  readln;
  SwapVectors;
  exec('c:\temp\test.exe','');
  SwapVectors;
  readln;
end.
_Dmitry вне форума Ответить с цитированием
Старый 18.06.2008, 14:33   #7
ViNcHeStEr
Delphi
Форумчанин
 
Регистрация: 12.06.2008
Сообщений: 137
По умолчанию

Спасибо большое! Всё работает!
ViNcHeStEr вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск *.exe из программы Djaconda Паскаль, Turbo Pascal, PascalABC.NET 22 01.03.2012 00:27
delphi 7, как прервать выполнение программы Altera Софт 3 27.07.2008 15:14
Запуск файлов программы d_slava Помощь студентам 2 17.06.2008 11:22
Засечь время, затраченное на выполнение программы. Делфи. north Помощь студентам 5 12.12.2007 23:32
Запуск программы Egych Общие вопросы Delphi 4 04.05.2007 09:46