Re: [DOS] Ausgabe abfangen
Dein Programm erwartet Daten auf STDIN. Wenn diese Daten nicht über eine Pipe angeliefert werden, dann kannst du sie per input redirection "prog < filename" bereit stellen. Oder per command line parameter:
Delphi-Quellcode:
Das Ende der Eingabe kannst du über die Tastatur mit Strg+Z signalisieren, wenn du keine Eingabe-Umleitung verwendet hast.
begin
AssignFile(input, ParamStr(1)); // ... end; |
Re: [DOS] Ausgabe abfangen
Zitat:
entweder hab ich den Aufruf meiner exe mit einem PIPE davor oder nicht... wenn meine Exe normal aufgerufen wird... soll sie den quellcode (siehe oben) nicht ausführen.. ah das ist aber schlecht, kann man nicht abfragen ob "aufruf mit pipe oder ohne" ? also
Delphi-Quellcode:
WENN PIPE DANN
AssignFile(input, ''); //stdin AssignFile(output, ''); //stdout Reset(input); Rewrite(output); while not Eof do begin ReadLn(line); WriteLn(line); end; CloseFile(output); CloseFile(input); END |
Re: [DOS] Ausgabe abfangen
Zitat:
Gammatester |
Re: [DOS] Ausgabe abfangen
Zitat:
|
Re: [DOS] Ausgabe abfangen
Zitat:
Zitat:
|
Re: [DOS] Ausgabe abfangen
aber das Programm soll ohne die Manuelle Eingabe des Benutzern laufen...
wenn ich dich jetzt richtig verstehe.. das heißt ich muss das Quellcodetechnisch abfangen... nur wie... |
Re: [DOS] Ausgabe abfangen
Zitat:
Du wolltest doch wissen, wie man ein EOF eingibt, wenn man das Programm interaktiv ohne Redirection startet! (Genauer Du hast behauptet "er hängt wenn ..."). Und nur darauf habe ich geantwortet. Wenn Du die ganze Zeit meinst, wie man feststellen kann, ob input umgeleitet ist oder eine Konsole ist: Es muß irgendwo eine API-Funktion geben, die in etwa sagt "handle is console" (jedenfalls gibt's das im DOS-API, und es würde mich wundern wenn's so eine Fkt. nicht für WIN32 gibt). Als Handle dann entweder TTextRec(input).Handle oder GetStdHandle(STD_INPUT_HANDLE) verwenden. (Ungetestet! Also ausprobieren, bzw. selbstfinden oder auf Hinweise von anderen DP-Usern warten). Gammatester Zusatz via Edit: Ein kurzer Test zeigt, daß
Delphi-Quellcode:
je nach Aufrufart unterschiedliche Werte liefert, hier für die Werte siehe Delphihilfe zu GetFileType
GetFileType(GetStdHandle(STD_INPUT_HANDLE))
|
Re: [DOS] Ausgabe abfangen
Zitat:
cool, danke^^ |
Re: [DOS] Ausgabe abfangen
Zitat:
|
Re: [DOS] Ausgabe abfangen
So was wie hier, das sind Threads, wo es schon fast zu blöd wird, zu antworten. :lol: @Fragesteller : warum ist LoadFromFile bei dir nicht möglich ? Nur, um Daten aus einer Textdatei im Programm auszuwerten ? :wall: Ja, echt sagenhaft. :mrgreen:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz