![]() |
Re: Probleme mit Writeline
Zitat:
Delphi-Quellcode:
Die Verwendung der vordefinierten Dateivariablen input und output vermeide ich bei interaktiven Konsolanwendungen, da ich sie in der Regel für eine unabhängige I/O-Redirection benötige.
program Demo;
{$APPTYPE CONSOLE} uses SysUtils; var conIn, conOut: TextFile; n: Integer; begin AssignFile(conIn, 'con:'); Reset(conIn); AssignFile(conOut, 'con:'); Rewrite(conOut); Write(conOut, 'Number: '); ReadLn(conIn, n); // ... look ma - no hands Write(conOut, 'Press ENTER to proceed...'); ReadLn(conIn); CloseFile(conOut); CloseFile(conIn); end. Freundliche Grüße |
Re: Probleme mit Writeline
Noch mal: Warum dieser Umweg?
|
Re: Probleme mit Writeline
Hallo Michael,
Umweg scheint mir nicht das passende Wort zu sein. In meinen Konsolenanwendungen sind die beiden File-Variablen INPUT und OUPUT für Piping und Redirection reserviert, Fortschrittsanzeige, Meldungen und Benutzerabfragen sollen aber unbedingt auf der Konsole ausgegeben werden. Die Deklaration und Verwendung von conIn und conOut ist für mich eher eine Frage der Quelltext-Hygiene, aber das sind persönliche Wahrnehmungen. Hätte ich in meinem Beispiel input und output verwendet, dann hätte ich erklären müssen, warum das unter gewissen Umständen nicht das erwartete Ergebnis bringt. Das wollte ich vermeiden. Jetzt musste ich doch noch erklären - und sogar zweimal. Freundliche Grüße |
Re: Probleme mit Writeline
aha so funktioniert es also, ich habe gedacht, die Writeln öffnet sich wie im VB eine Inptubox
@Luckie: mit deiner Methode zeigt er mir die Konsole auch nur den Bruchteil einer Sekunde an und verschwindet dann wieder. mit der Methode von DeddyH funktioniert es Frage: kann man zu Beispiel eine Javakonsole damit öffnen (wills nur wissen ob es geht, wenn ja wie) Bitte keine Fragen 'Wofür?' :-D |
Re: Probleme mit Writeline
Zitat:
wenn du das Programm von einer bestehenden Konsole (z.B. direkt CMD.exe) aus aufrufst, dann bleibt der Text länger da oder du läßt das Programm selber warten.
Delphi-Quellcode:
program Project2;
{$APPTYPE CONSOLE} uses SysUtils; begin Writeln('Bitte geben Sie die Anzahl der Gäste ein:'); ReadLn(); // auf [Enter] drücken zum Beenden, oder Konsolenffenster schließen [X] end. Zitat:
und was ist 'ne Javakonsole? |
Re: Probleme mit Writeline
Java hat in der Entwicklungsumgebung keine Userform (oder Form wie in Delphi), sondern, man benötigt eine vorprogrammierte Konsole, die dann aussieht wie eine Lehre Delphikonsole (wenn man sie startet, mit dem Code, dass die Konsole nur geöffnet werden soll)
wirklichen Gedanken warum habe ich mir auch noch nicht gemacht, aber wenn, wie würde es funktionieren |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:38 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