2009-06-29 6 views
27

Я пытаюсь написать консольное приложение Delphi, которое создает TStream для его стандартного ввода, и еще один TStream для его стандартного вывода.Открытие TStream на stdin/stdout в приложении консоли Delphi

(Он будет запущен хост-приложением с его вводом и выводом, перенаправленным на трубы, и будет передавать двоичные данные в/из этого хост-приложения, поэтому TStream будет намного лучше подходит для задачи, чем ReadLn/WriteLn .)

Как мне начать открытие TStream на стандартном входе или стандартном выходе?

ответ

36

Off верхней части моей головы:

InputStream := THandleStream.Create(GetStdHandle(STD_INPUT_HANDLE)); 
    OutputStream := THandleStream.Create(GetStdHandle(STD_OUTPUT_HANDLE)); 

Дайте что пойти ..

+4

И скажите нам, если это работает, пожалуйста! –

+4

Действительно, очень хорошо. Благодаря! –

+1

Обратите внимание, что для функции GetStdHandle вам понадобится блок Windows в предложении uses. – Drarok

 Смежные вопросы

  • Нет связанных вопросов^_^