![]() |
Re: Dateinamen aus Datei an der Kommandozeile mit '<'
Wieso rufst du Reset.
Das dachte ich immer braucht man nicht? Denn Input (in C StdIn) ist ja schon offen? |
Re: Dateinamen aus Datei an der Kommandozeile mit '<'
Zitat:
Zitat:
|
Re: Dateinamen aus Datei an der Kommandozeile mit '<'
>Und es wird nichts ausgegeben?
>Vielleicht ein Leerzeichen? Nein, nichts. >Wieso rufst du Reset. Ohne geht auch nicht. :-( |
Re: Dateinamen aus Datei an der Kommandozeile mit '<'
Zitat:
Delphi-Quellcode:
if ParamStr(1) <> '' then begin
// hier wurde mit tool.exe file1.txt aufgerufen end else begin // hier wurde mit tool.exe < prog.lst aufgerufen end; |
Re: Dateinamen aus Datei an der Kommandozeile mit '<'
Im Prinzip richtig und ausreichend.
Aber was wenn das Programm versehentlich ohne Parameter aufgerufen wurde. Dann erwartet das Programm in der Schleife und muss mit CTRL-C abgebrochen werden. Es muss doch eine Möglichkeit geben, das Vorhandensein von Input zu checken. |
Re: Dateinamen aus Datei an der Kommandozeile mit '<'
Nun habe ich eine Lösung:
Code:
Der Error zeigt an das ohne Parameter aufgerufen wurde.
Reset(Input);
Try IF Filesize(Input) = 0 THEN BEGIN while not Eof(Input) do begin Readln(Input, s); Writeln(s); end; END; except Writeln('Aufruf: Tool.exe file1.txt oder Tool.exe < file.lst'); END; CloseFile(Input); |
Re: Dateinamen aus Datei an der Kommandozeile mit '<'
na gut, dann eben so: *g*
Delphi-Quellcode:
var
s: String; dummy: integer; . . . begin if ParamStr(1) <> '' then begin writeln('mit Parameter "' + ParamStr(1) + '" aufgerufen'); end else begin Reset(Input); try dummy := filesize(input); // liefert 0 wenn Input vorlieg, ansonsten exception writeln('mit "< datei" aufgerufen...'); while not EOF(Input) do begin Readln(Input, s); Writeln(' ' + s); end; except on EInOutError do writeln('Ohne Parameter aufgerufen'); end; CloseFile(Input); end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz