Hallo himitsu, Delphi.Narium
erstmal VIELEN Dank für eure Hilfe, ich habe da wirklich nur im Nebel gestochert.
Jetzt gehts. Aber ihr habt beide nur teilweise recht.
Meine Konsole/werauch ímmer kann wohl nur AnsiChar
und somit sende ich:
Delphi-Quellcode:
// chBuf : Array[1..3] of AnsiChar = ('3',#13,#10); //geht
// chBuf : Array[1..3] of AnsiChar = ('3',#10); //geht
chBuf : Array[1..2] of byte = (51,10); //geht
begin
bSuccess:= WriteFile(WriteInput{g_hChildStd_IN_Wr}, chBuf, 2 | 3 (je nach definition oben), Written, nil);
ReadLn ist es egal, es kommt allen Kombinationen zurecht, also CR, CR+LF oder LF (so wie die TStringList)
Nur CR geht NICHT
ReadLn ließt bis zum nächsten Zeilenumbruch und der ist unter Windows #13#10. Es gibt dazu auch die Konstante sLineBreak, mit der ist man dann plattformunabhängig, da sie automatisch den für die Zielplattform richtigen Wert enthält.
Es geht auch NUR #10
Aber sLineBreak geht wiederum nicht, da es WideString ist.
Danke Charly