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

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

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

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

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

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

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

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

Exec('программа.exe','параметры');
Не может быть, чтобы ее небыло в справке.
У вас TurboPascal или Delphi?
_Dmitry вне форума Ответить с цитированием
Старый 17.06.2008, 16: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, 16: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, 13:33   #7
ViNcHeStEr
Delphi
Форумчанин
 
Регистрация: 12.06.2008
Сообщений: 137
По умолчанию

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

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

Опции темы


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


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840