Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Запуск exe-файла с переменными параметрами


Автор: royun 15.9.2011, 08:01
Хочу запустить exe-файл с параметром: выбираю файл нажимаю "Открыть", затем отрабатывает "Запускаемая_программа.exe" с параметрами, а в параметрах "открываемый_файл" и "файл_который_получится" изменялись в зависимости от того какой файл открываю и к "файл_который_получится" добавляется .dbf 
Параметры /1 /a- /b- никогда не меняются.
Код

if OpenDialog1.Execute then OpenDialog1.FileName else exit;
    WinExec ('Запускаемая_программа.exe /1 /a- /b- открываемый_файл файл_который_получится.dbf', SW_SHOW);


В общем надо так, если схематично:

Код

if OpenDialog1.Execute then OpenDialog1.FileName else exit;
    WinExec ('Запускаемая_программа.exe /1 /a- /b- OpenDialog1.FileName OpenDialog1.FileName.dbf', SW_SHOW);


Думаю WinExec-ом это никак не реализовать, а вот ShellExecute наверное поможет, но не могу это дело реализовать. Прошу помощи.

Автор: AndreyIQ 15.9.2011, 08:40
Ни чего ни понял. Выже сами говорите надо запустить с параметром и сами приводите код как это сделать. Так в чем проблема?
Код

if OpenDialog1.Execute then OpenDialog1.FileName else exit;
    WinExec ('Запускаемая_программа.exe /1 /a- /b- ' + OpenDialog1.FileName + ' ' +OpenDialog1.FileName + '.dbf', SW_SHOW);

Автор: royun 15.9.2011, 09:34
Как я понял, если вывести значение OpenDialog2.FileName в Edit, то получаем не имя файла а путь_к_файлу\сам_файл. А мне нужно именно имя самого файла. Сделал вот так не работает. Проморгнет быстро и все.

Код

procedure TForm1.OpenBinFileClick(Sender: TObject);
begin
    if OpenDialog1.Execute then OpenDialog1.FileName else exit;
    ShellExecute(0, 'open', 'c:\PBX\DeBoraF\dbf.exe', PChar('/1 /a- /b-' + OpenDialog1.FileName +' '+ OpenDialog1.FileName + '.dbf'), nil, SW_SHOW);
   
end;

Автор: AndreyIQ 15.9.2011, 09:47
Цитата(royun @ 15.9.2011,  09:34)
Как я понял, если вывести значение OpenDialog2.FileName в Edit, то получаем не имя файла а путь_к_файлу\сам_файл. А мне нужно именно имя самого файла.

ExtractFileName

Автор: royun 15.9.2011, 10:15
Спасибо заработало  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)