Delphi-PRAXiS
Seite 1 von 2  1 2      

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)

HPW 7. Jul 2004 14:53


Dateinamen aus Datei an der Kommandozeile mit '<'
 
Es gibt Programme/Tools bei denen kann man eine Datei mit Dateinamen auf der
Kommandozeile übergeben und das Tool verarbeitet jede Datei nacheinander.

Code:
tool.exe < prog.lst
Also das '<' Zeichen leitet den Inhalt der Datei einzeln dem Tool zu.

Wie kann ich das mit einer delphi-consol-Anwendung machen.

ParamStr(1) ist bei meinen Test leer.

rantanplan99 7. Jul 2004 15:48

Re: Dateinamen aus Datei an der Kommandozeile mit '<'
 
ParamStr(1) ist ja der übergebene Parameter. < prog.lst ist aber kein Parameter, sondern ein Pipe symbol.
< prog.lst heisst das er den inhalt der datei prog.lst in STDIN schreibt. Unter Linux müsstest du die Datei STDIN öffnen und auslesen, unter Delphi ist es INPUT

Schau mal in der Hilfe unter INPUT und OUTPUT nach.

neolithos 7. Jul 2004 15:54

Re: Dateinamen aus Datei an der Kommandozeile mit '<'
 
Eigentlich kann man den inhalt von prog.lst mittels Readln und Read lesen.

Delphi-Quellcode:
var s : string;
begin
  repeat
    readln(s);
    Writeln(s);
  until Length(s) = 0;
end;
NICHT GETESTET!

HPW 7. Jul 2004 16:49

Re: Dateinamen aus Datei an der Kommandozeile mit '<'
 
Danke für die Tips, beide sind richtig und funktionieren so weit.

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.

Also:
Code:
tool.exe < prog.lst

und

tool.exe file1.txt
Bei der einzelnen Datei will ich ja gar keine Abfrage-Schleife starten.

Chewie 7. Jul 2004 16:50

Re: Dateinamen aus Datei an der Kommandozeile mit '<'
 
Prüfe einfach mit eof, ob die "Datei" am Ende ist.

neolithos 7. Jul 2004 16:55

Re: Dateinamen aus Datei an der Kommandozeile mit '<'
 
Via EOF(Input) z.B.

HPW 7. Jul 2004 16:59

Re: Dateinamen aus Datei an der Kommandozeile mit '<'
 
Habe ich ja vorher versucht:

Code:
 Reset(Input);
  while not Eof(Input) do
    begin
      Readln(Input, s);
      Writeln(s);
    end;
  CloseFile(Input);
Geht aber trotdem in die while-Schleife.

Bin ich zu dumm?

Chewie 7. Jul 2004 17:00

Re: Dateinamen aus Datei an der Kommandozeile mit '<'
 
Und es wird nichts ausgegeben?
Vielleicht ein Leerzeichen?

d3g 7. Jul 2004 17:02

Re: Dateinamen aus Datei an der Kommandozeile mit '<'
 
Wenn ich mich richtig erinnere, gibt es eine Konstante StdIn. Wenn Input == StdIn, dann liegt kein Input über < an.

Chewie 7. Jul 2004 17:09

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

Zitat von d3g
Wenn ich mich richtig erinnere, gibt es eine Konstante StdIn. Wenn Input == StdIn, dann liegt kein Input über < an.

Davon steht in der DElphi-Hilfe nix. Und == gibts schon gar nicht ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:09 Uhr.
Seite 1 von 2  1 2      

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