![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Хочу запустить 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 наверное поможет, но не могу это дело реализовать. Прошу помощи. |
#2
|
||||
|
||||
![]() Проблема, собственно, в чем? по факту программа с какими параметрами запускается (а то этот код не внушает доверия)?
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
|||
|
|||
![]() M.A.D.M.A.N не запускается, синтаксис исправьте пожалуйста. Как должно быть правильно
|
#4
|
||||
|
||||
![]() Ну по сути так:
Код:
WinExec (Format('C:\Directory\Запускаемая_программа.exe /1 /a- /b- %s %s.dbf', [OpenDialog1.FileName, OpenDialog1.FileName]), SW_SHOW); — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#5
|
|||
|
|||
![]() Как я понял, если вывести значение 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; |
#6
|
||||
|
||||
![]() Тебе в помощь ExtractFileName ChangeFileExt
Код:
var A, B:String; ... begin ... A := ExtractFileName(OpenDialog1.FileName); B := ChangeFileExt(A, '.dbf'); WinExec (Format('C:\Directory\Запускаемая_программа.exe /1 /a- /b- %s %s.dbf', [A, B]), SW_SHOW); ... Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#7
|
|||
|
|||
![]() Спасибо заработало
![]() |