AnsiString dir=ExtractFileDir(Application->ExeName);
AnsiString prog="/c dfan.exe <d.dat >ura.txt";
ShellExecute(NULL,"open","cmd.exe",prog.c_str(),dir.c_str(),SW_SHOW)
Command Promt and Run запуск приложения
При запуске приложения из command prompt c параметрами чтения из стандартного потока и записи в выходной файл res.txt все работает отлично:
C:\....\Projects\dfa\Debug>dfan.exe <d.dat >res.txt
А когда пытаюсь Run-oм
"C:\....\Projects\dfa\Debug\dfan.exe" <d.dat >res.txt не срабатывает?
В чем может причина?
PS. А при чём здесь C++ Builder?
Я пишу в Билдере оболочку для программ консольных
посредством
ShellExecute(Form1->Handle,"open",("C:\....\Projects\dfa\Debug\dfan.exe" ,"<d.dat >res.txt",NULL,0);
Но не фига не срабатывает, не там не сям...
Цитата: Duality27
Я пишу в Билдере оболочку для программ консольных посредством ShellExecute(Form1->Handle,"open",("C:\....\Projects\dfa\Debug\dfan.exe" ,"<d.dat >res.txt",NULL,0);
Но не фига не срабатывает, не там не сям...
Но не фига не срабатывает, не там не сям...
Потому что при этом не вызывается cmd.exe, который и обеспечивает перенаправление потоков.
Если хочется самому из программы направлять консольный ввод/вывод, читай про anonymous pipes. Где-то ещё была неплохая статья по этому поводу на delphikingdom.
постараюсь разобраться
все методом проб нашла работающий вариант:
Код:
входной файл и прога сидят в одном каталоге и добавила /c перед dfan.exe в prog строке.
Все заработало