2009-06-29 3 views
27

私は、標準入力用のTStreamと標準出力用の別のTStreamを作成するDelphiコンソールアプリケーションを作成しようとしています。Delphiのコンソールアプリケーションでstdin/stdoutでTStreamを開く

(入力と出力がパイプにリダイレクトされたホストアプリケーションによって起動され、そのホストアプリケーションとバイナリデータをやり取りするので、TStreamはReadLn/WriteLnよりもタスクに適しています。)

標準入力または標準出力でTStreamを開くにはどうすればよいですか?私の頭の上オフ

答えて

36

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

行くことを与えます。..

+4

をそして、それはしてください動作するかどうかを教えて! –

+4

それは本当にうまくいきます。ありがとう! –

+1

GetStdHandle関数のuses句にWindows単位が必要であることに注意してください。 – Drarok

関連する問題