Страница 1 из 1

Анализ вывода в конвеере

СообщениеДобавлено: 04.02.2016 19:05:06
PapaNT
Уважаемые друзья, доброго времени суток!

Приспичило написать консольную утилитку для встраивания в конвейерные вызовы типа:
Код: Выделить всё
some_command | my_program_name

Среда исполнения Win32/64.
Пробовал конструкцию
Код: Выделить всё
reset(output) // В ответ получаю, что файл не открыт для вывода.


Как захватить вывод другой программы в свою обработку (временные файлы не катят)?

Re: Анализ вывода в конвеере

СообщениеДобавлено: 04.02.2016 19:22:56
Дож
Код: Выделить всё
var Line: String;
...
Readln(Line);

Re: Анализ вывода в конвеере

СообщениеДобавлено: 04.02.2016 19:28:42
Pavia
Пере направлением занимается консоль. Она разбирает команду и организует конвейр. При помощи именованных каналов.
http://www.delphisources.ru/forum/showt ... hp?t=24347
Собственно вам этого и не надо. Вам надо просто создать консольное приложение.
И работать с Input.
В ответ получаю, что файл не открыт для вывода.
Значит у вас выбран другой режим приложение GUI или сервис.
Как создать консоль описано тут:
http://wiki.freepascal.org/Console_Mode_Pascal/ru

Re: Анализ вывода в конвеере

СообщениеДобавлено: 04.02.2016 20:06:13
Zhbr
Я как то пайпами уже интересовался, в теме по ссылке мне подсказали. Посмотри viewtopic.php?f=1&t=10501

Re: Анализ вывода в конвеере

СообщениеДобавлено: 05.02.2016 02:58:02
PapaNT
Zhbr, спасибо!
Ваш код работает :)

Тему можно считать решенной