Soru Bir Delphi konsol uygulamasında stdin / stdout üzerinde bir TStream açma


Standart girdisi için bir TStream ve bir standart çıktı için başka bir TStream oluşturan bir Delphi konsol uygulaması yazmaya çalışıyorum.

(Giriş ve çıkışları borulara yönlendirilmiş bir ana bilgisayar uygulaması tarafından başlatılacak ve bu ana bilgisayar uygulamasına / ikili dosyadan geçiş yapılacaktır, bu yüzden TStream, ReadLn / WriteLn'den çok daha uygun olacaktır.)

Standart giriş veya standart çıkışta bir TStream açmaya nasıl giderim?


28
2018-06-29 21:13


Menşei




Cevaplar:


Başımın üstünden:

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

Onu ver.


37
2018-06-29 22:38



Ve lütfen işe yarayıp yaramadığını söyle! - Gerry Coll
Gerçekten de çok güzel. Teşekkürler! - Joe White
GetStdHandle işlevi için kullanım biriminizde Windows birimine ihtiyacınız olacağını unutmayın. - Drarok
Aynı şeyi yapmak için çapraz platform yolu var mı? - himself