Открытие TStream в stdin / stdout в консольном приложении Delphi - PullRequest
28 голосов
/ 30 июня 2009

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

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

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

1 Ответ

37 голосов
/ 30 июня 2009

с макушки головы:

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

Дай мне попробовать ..

...