Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Console als Textfile behandeln? (https://www.delphipraxis.net/143066-console-als-textfile-behandeln.html)

iphi 9. Nov 2009 08:30


Console als Textfile behandeln?
 
Hallo,

in meinem Programm schreibe ich mit
Delphi-Quellcode:
var F: Textfile;
...
Writeln(F,'DebugMeldung...');
...
an diversen Stellen Debugmeldungen in ein Textfile.

Manchmal wäre es aber nützlich, wenn die Debugmeldungen statt im Textfile in Echtzeit auf einem Konsolenfenster landen.

Frage: Ist es möglich, ein Konsolenfenster für die Ausgabe wie ein Textfile zu behandeln? Wie müsste ich dann F assignen?

P.S.
Ich glaube ich habs. Man muss wie im guten alten DOS die Datei "con" nennen, dann gehts auf die Console.

turboPASCAL 9. Nov 2009 08:34

Re: Console als Textfile behandeln?
 
Delphi-Quellcode:
Writeln('Hallo ich bnin eine DebugMeldung...');
;)

himitsu 9. Nov 2009 08:43

Re: Console als Textfile behandeln?
 
Zitat:

Zitat von iphi
Ich glaube ich habs. Man muss wie im guten alten DOS die Datei "con" nennen, dann gehts auf die Console.

Hast du es denn mal probiert?
genau dieses geht immernoch.

Delphi-Quellcode:
var T: TextFile;

AssignFile(T, 'CON');
Rewrite(T);
WriteLn('test');
genau aus diesem Grund sind auch einige Dateinamen (zumindestens als relativer Pfad und alleinstehend) nicht erlaubt
http://www.delphipraxis.net/internal...=429177#429177

Luckie 9. Nov 2009 08:51

Re: Console als Textfile behandeln?
 
Vorausetzung ist aber, dass es sich um eine Konsolenanwendung handelt. Tut es das nicht, muss erst eine Konsole erzeugen.

sirius 9. Nov 2009 09:00

Re: Console als Textfile behandeln?
 
Dafür dann MSDN-Library durchsuchenallocconsole verwenden.

nahpets 9. Nov 2009 09:17

Re: Console als Textfile behandeln?
 
Hallo,

ein anderer Ansatz wäre es, den ATViewer zu benutzen (http://atorg.net.ru/delphi/atviewer.htm. Dort gibt es eine Komponente, die auf Veränderungen von Dateien reagiert und diese Änderungen auch anzeigt. Damit kann man, während ein Prozess eine Datei schreibt, mit einem anderen Prozess "mitlesen". Ist zum Beispiel praktisch, wenn man Logfiles vom Exchangeserver, einem Webserver o. ä, "Live" mitlesen will. Für Deine Aufgabenstellung könnte das auch was brauchbares sein.
Ein Programm kann damit aber auch seine eigenen Logdateien mitlesen.

uligerhardt 9. Nov 2009 09:57

Re: Console als Textfile behandeln?
 
Probier mal System.Output.

iphi 10. Nov 2009 14:39

Re: Console als Textfile behandeln?
 
Hätte nicht gedacht, dass noch so viel Feedback kommt.

Delphi-Quellcode:
writeln('hallo');
geht natürlich auf die Konsole.

Delphi-Quellcode:
assignfile(F,'con');
rewrite(F);
...
writeln('hallo');
geht aber auch auf die Konsole.
Vorteil der letzteren Methode: Man kann die Ausgabe durch Ändern des Assignfile-Strings einfach in eine Datei umleiten.

himitsu 10. Nov 2009 15:11

Re: Console als Textfile behandeln?
 
Delphi-Quellcode:
AssignFile(F, 'CON');
Rewrite(F);
...
WriteLn(F, 'hallo');
Die Datei natürlich bei WriteLn nicht vergessen ... sonst bringt das Ändern von AssingFile nicht viel :zwinker:

iphi 11. Nov 2009 05:12

Re: Console als Textfile behandeln?
 
Ups, stimmt. Da hab ich mich vertippt! Writeln(F,...


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:21 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