【问题标题】:Opening a TStream on stdin/stdout in a Delphi console app在 Delphi 控制台应用程序中打开标准输入/标准输出上的 TStream
【发布时间】:2010-11-06 19:57:02
【问题描述】:

我正在尝试编写一个 Delphi 控制台应用程序,它为其标准输入创建一个 TStream,并为其标准输出创建另一个 TStream。

(它将由主机应用程序启动,其输入和输出重定向到管道,并将二进制数据传递到该主机应用程序或从该主机应用程序传递二进制数据,因此 TStream 将比 ReadLn/WriteLn 更适合该任务。 )

如何在标准输入或标准输出上打开 TStream?

【问题讨论】:

    标签: delphi console-application stdout stdin tstream


    【解决方案1】:

    在我的头顶:

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

    试一试..

    【讨论】:

    • 确实如此,非常好。谢谢!
    • 请注意,GetStdHandle 函数的 uses 子句中需要 Windows 单元。
    • 是否有跨平台的方式来做同样的事情?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-22
    • 1970-01-01
    • 2014-03-17
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    相关资源
    最近更新 更多