|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Возникла проблема с ДОС-приложением и передачей параметров ему
Пишу программу на Дельфи, которая использует рез-ты работы другой программы (написанной на фортране). Вторая программа считывает файл исходных данных. Но автоматически передать ей название этого файла нельзя. Т.е. сначала нужно запустить программу, а потом в ДОС окне вбить файл-исходник и файл-результатов работы проги. Есть ли возможность перехватить данные из ДОС-окна данной программы, для того, чтобы через дельфи вбить их и автоматизировать процесс, дабы пользователь не делал это вручную.
Пытался что-то понять в ДельфиВорлд (/base/run_console_and_get_its_out.html) в разделе про ДОС-приложения, но получил мало полезной информации. В частности научился через cmd.exe передавать параметр для запуска моей программы (kob.exe), как '/c kob.exe', но во-первых, пока работает окно с программой (kob.exe) данные из ДОС-окна в MEMO не передаются, а во вторых происходит только считывание, а ввод из дельфей в консоль cmd произвести нельзя. Как я понимаю нужно помимо CreateProcess(nil, PChar(_exeName + ' ' + _cmdLine), nil, nil, True, 0, nil, PChar(_dirName), start, procInfo) использовать второе обращение к _exeName, но тогда возникает вопрос - как передавать параметр непосредственно kob.exe, а не cmd.exe? |
#2
|
||||
|
||||
А можно вопрос, первая програ эти результаты куда талкает?
Просто выщитывает и отрубается или выщитывает и сохраняет в файл? |
#3
|
||||
|
||||
ни че не понял . WinExec() не нравится? Запускаешь - и все параметры передаются без проблем.
SysMan. C++Builder Internet/Intranet Programming. |