Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Dateinamen aus Datei an der Kommandozeile mit '<' (https://www.delphipraxis.net/25493-dateinamen-aus-datei-der-kommandozeile-mit.html)

neolithos 7. Jul 2004 17:31

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?

d3g 7. Jul 2004 17:42

Re: Dateinamen aus Datei an der Kommandozeile mit '<'
 
Zitat:

Zitat von Chewie
Davon steht in der DElphi-Hilfe nix.

Könnte auch in der Windows.pas sein. Keine Ahnung, schon ewig kein Windows mehr verwendet.

Zitat:

Und == gibts schon gar nicht ;)
Argh, zu viel Java programmiert. Hast ja Recht...

HPW 7. Jul 2004 18:03

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.

:-(

rantanplan99 7. Jul 2004 19:15

Re: Dateinamen aus Datei an der Kommandozeile mit '<'
 
Zitat:

Ich habe jetzt nur noch das Problem festzustellen ob überhaupt 'Input'
anliegt. Es soll ja eine Datei als Parameter oder eine Dateiliste aus der
Umleitung möglich sein.

Delphi-Quellcode:
tool.exe < prog.lst

und

tool.exe file1.txt
Bei der einzelnen Datei will ich ja gar keine Abfrage-Schleife starten.
Ist eigentlich einfach:
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;

HPW 7. Jul 2004 20:03

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.

HPW 7. Jul 2004 20:17

Re: Dateinamen aus Datei an der Kommandozeile mit '<'
 
Nun habe ich eine Lösung:

Code:
  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);
Der Error zeigt an das ohne Parameter aufgerufen wurde.

rantanplan99 7. Jul 2004 20:41

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 14:56 Uhr.
Seite 2 von 2     12   

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