![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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
|
||||
|
||||
|
Проблема, собственно, в чем? по факту программа с какими параметрами запускается (а то этот код не внушает доверия)?
|
|
#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); |
|
#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);
... |
|
#7
|
|||
|
|||
|
Спасибо заработало
![]() |