| 
| 
 | Вопрос # 4 634/ вопрос открыт / | 
 |  Здравствуйте, эксперты!У меня следующая проблема: необходимо вызвать из делфи-приложения досовскую программу, есть работающий код (т.е. исполняются стандартные dir/copy/ftp...), но приложение которое мне нужно выполнить с досовским gui (запрашивает три параметра и отключается) и не читает данные из stdin, что можно сделать? есть ли другие потоки ввода и какие?
 
|  |   Вопрос задал: blackcatz (статус: Посетитель)Вопрос отправлен: 4 октября 2010, 02:15
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Егор Здравствуйте, blackcatz!Можно погуглить по ключевому слову pipe.
 Вот одна из полученных ссылок
 
|  | Ответ отправил: Егор (статус: 10-ый класс)Время отправки: 4 октября 2010, 05:20
 Оценка за ответ: 5
 Комментарий к оценке: Спасибо Егор, у меня есть работающий код, подобный найденному Вами, также использует анонимные пайпы для stdin\out, но, увы, запускаемое приложение эти потоки не читает |  
 Мини-форум вопросаВсего сообщений: 3; последнее сообщение — 5 октября 2010, 22:39; участников в обсуждении: 2. 
|   | Егор (статус: 10-ый класс), 4 октября 2010, 17:44 [#1]:хм... код хорошо бы посмотреть. только не все 10 Мб
  , конечно, а только ту часть, что не работает Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.— Donald E. Knuth.
 |  
|   | blackcatz (статус: Посетитель), 4 октября 2010, 23:52 [#2]:код не мой, найден на просторах интернета  по досовским гуишным программам нашел лишь что возможно использованы функции kbhit, keypressed и прочее. вполне может быть через перехват прерываний и в обход стандартных потоков, поэтому моя программа и не работает.
 хотелось бы услышать Ваше мнение, Егор.
 код, основной модуль фрагмент кода и модуль unit2: фрагмент кода
 |  
|   | Егор (статус: 10-ый класс), 5 октября 2010, 22:39 [#3]:насколько я знаю, да, kbhit и keypressed не читают из потока stdin. надо переписать без использования этих функций - перейти к read/readln Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.— Donald E. Knuth.
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |