Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 21.05.2014, 12:38   #1 (permalink)
k1d
Member
 
Регистрация: 16.05.2014
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Написать программу, которая вводит название другой программы и запускает её

Написать программу, которая вводит название другой программы и запускает ее.
k1d вне форума   Ответить с цитированием

Старый 21.05.2014, 12:38
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Я думаю, что лучше сначала набраться информации в аналогичных темах

Написать функцию, которая получает введенные числа в качестве параметров
Составить программу, которая выделяет отдельные слова и числа
Проблема с запуском одной программы из другой
Написать программу, которая считывает текст из файла и выводит на экран предложения
Составить программу, которая содержит текущую информацию о заявках на авиабилеты
Нужно написать программу, которая переводит числа в различные сс

Старый 21.05.2014, 15:23   #2 (permalink)
grelly
падаван
 
Аватар для grelly
 
Регистрация: 23.01.2013
Сообщений: 739
Сказал(а) спасибо: 307
Поблагодарили 27 раз(а) в 3 сообщениях
Репутация: 10792
По умолчанию

Куда вводит? Если просто запустить, то это либо winexec(), либо ShellExecute(), либо execl
grelly вне форума   Ответить с цитированием
Старый 21.05.2014, 22:11   #3 (permalink)
k1d
Member
 
Регистрация: 16.05.2014
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от grelly Посмотреть сообщение
Куда вводит? Если просто запустить, то это либо winexec(), либо ShellExecute(), либо execl
сделал вот так
exec('c:\program files(x86)\aimp3\aimp3.exe');

но программа запускается и сразу же завершается, а аимп не запускается всё равно.. так что за нафиг с ним?
в турбо паскале это делал, если что)
k1d вне форума   Ответить с цитированием
Старый 22.05.2014, 08:07   #4 (permalink)
grelly
падаван
 
Аватар для grelly
 
Регистрация: 23.01.2013
Сообщений: 739
Сказал(а) спасибо: 307
Поблагодарили 27 раз(а) в 3 сообщениях
Репутация: 10792
По умолчанию

Exec (процедура) (модуль Dos)



Выполняет заданную программу с заданной командной строкой.
Объявление

Procedure Exec(Path, CmdLine : String);

Режим

Real, Protected
Замечания

Ошибки сообщаются в переменной DosError.


При возникновении аварийных ситуаций устанавливаются такие

коды ошибок:
2 - файл не найден;
8 - нет необходимой памяти;
10 - ошибка в оборудовании;
11 - ошибка в формате.

Пример

{$M $4000, 0, 0 } { 16Kб стек, нет кучи }
uses Dos;

var
ProgramName, CmdLine : String;
begin
Write('Имя программы для запуска (с путём) : ');
ReadLn(ProgramName);
Write('Параметры командной строки ', ProgramName, ' : ');
ReadLn(CmdLine);
WriteLn('Пробую запустить...');
SwapVectors;
Exec(ProgramName, CmdLine);
SwapVectors;
WriteLn('... вернулся из Exec');
{ Была ошибка ? }
if DosError <> 0 then
WriteLn('Ошибка DOS #', DosError)
else
WriteLn('Запуск был удачным. Код выхода = ', DosExitCode);
end.


проверь какая ошибка возвращается
grelly вне форума   Ответить с цитированием
Старый 22.05.2014, 11:21   #5 (permalink)
k1d
Member
 
Регистрация: 16.05.2014
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от grelly Посмотреть сообщение
Exec (процедура) (модуль Dos)



Выполняет заданную программу с заданной командной строкой.
Объявление

Procedure Exec(Path, CmdLine : String);

Режим

Real, Protected
Замечания

Ошибки сообщаются в переменной DosError.


При возникновении аварийных ситуаций устанавливаются такие

коды ошибок:
2 - файл не найден;
8 - нет необходимой памяти;
10 - ошибка в оборудовании;
11 - ошибка в формате.

Пример

{$M $4000, 0, 0 } { 16Kб стек, нет кучи }
uses Dos;

var
ProgramName, CmdLine : String;
begin
Write('Имя программы для запуска (с путём) : ');
ReadLn(ProgramName);
Write('Параметры командной строки ', ProgramName, ' : ');
ReadLn(CmdLine);
WriteLn('Пробую запустить...');
SwapVectors;
Exec(ProgramName, CmdLine);
SwapVectors;
WriteLn('... вернулся из Exec');
{ Была ошибка ? }
if DosError <> 0 then
WriteLn('Ошибка DOS #', DosError)
else
WriteLn('Запуск был удачным. Код выхода = ', DosExitCode);
end.


проверь какая ошибка возвращается
постоянно выбивает ошибку 2..
k1d вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 22.05.2014, 11:44   #6 (permalink)
Ultras
Member
 
Аватар для Ultras
 
Регистрация: 17.05.2010
Адрес: Казань
Сообщений: 6,044
Записей в дневнике: 13
Сказал(а) спасибо: 42
Поблагодарили 2 раз(а) в 1 сообщении
Репутация: 30182
По умолчанию

Цитата:
Сообщение от k1d Посмотреть сообщение
exec('c:\program files(x86)\aimp3\aimp3.exe');
Цитата:
Сообщение от k1d Посмотреть сообщение
постоянно выбивает ошибку 2..
Попробуйте записать путь в коротком формате (вмето "program files(x86)" "progra~1" или какой он там у Вас по счёту)...
__________________
Не шалю, никого не трогаю, починяю примус...
Ultras вне форума   Ответить с цитированием
Старый 22.05.2014, 11:55   #7 (permalink)
Daniellos
Хозяин Медной Горы
 
Аватар для Daniellos
 
Регистрация: 01.08.2011
Адрес: Армавир
Сообщений: 12,159
Записей в дневнике: 8
Сказал(а) спасибо: 751
Поблагодарили 88 раз(а) в 27 сообщениях
Репутация: 57416
По умолчанию

Попробуй указать путь C:\PROGRA~2\aimp3\aimp.exe
Daniellos вне форума   Ответить с цитированием
Старый 22.05.2014, 13:58   #8 (permalink)
grelly
падаван
 
Аватар для grelly
 
Регистрация: 23.01.2013
Сообщений: 739
Сказал(а) спасибо: 307
Поблагодарили 27 раз(а) в 3 сообщениях
Репутация: 10792
По умолчанию

не помню как правильно в паскале, но бэкслэши не двойные ли должны быть?
grelly вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 19:06.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.