AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Dateinamen aus Datei an der Kommandozeile mit '<'

Dateinamen aus Datei an der Kommandozeile mit '<'

Ein Thema von HPW · begonnen am 7. Jul 2004 · letzter Beitrag vom 7. Jul 2004
Antwort Antwort
Seite 2 von 2     12
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#11

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

  Alt 7. Jul 2004, 17:31
Wieso rufst du Reset.

Das dachte ich immer braucht man nicht?
Denn Input (in C StdIn) ist ja schon offen?
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von d3g
d3g

Registriert seit: 21. Jun 2002
602 Beiträge
 
#12

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

  Alt 7. Jul 2004, 17:42
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...
-- Crucifixion?
-- Yes.
-- Good. Out of the door, line on the left, one cross each.
  Mit Zitat antworten Zitat
HPW

Registriert seit: 28. Feb 2003
160 Beiträge
 
Delphi 7 Professional
 
#13

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

  Alt 7. Jul 2004, 18:03
>Und es wird nichts ausgegeben?
>Vielleicht ein Leerzeichen?

Nein, nichts.


>Wieso rufst du Reset.

Ohne geht auch nicht.

Hans-Peter
  Mit Zitat antworten Zitat
rantanplan99
(Gast)

n/a Beiträge
 
#14

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

  Alt 7. Jul 2004, 19:15
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;
  Mit Zitat antworten Zitat
HPW

Registriert seit: 28. Feb 2003
160 Beiträge
 
Delphi 7 Professional
 
#15

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

  Alt 7. Jul 2004, 20:03
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.
Hans-Peter
  Mit Zitat antworten Zitat
HPW

Registriert seit: 28. Feb 2003
160 Beiträge
 
Delphi 7 Professional
 
#16

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

  Alt 7. Jul 2004, 20:17
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.
Hans-Peter
  Mit Zitat antworten Zitat
rantanplan99
(Gast)

n/a Beiträge
 
#17

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

  Alt 7. Jul 2004, 20:41
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.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:45 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