C# konsole löschen (wieder leeres fenster)

fishguts

Erfahrenes Mitglied
wenn ich ein paar ausgaben in der konsole gemacht haben, kann ich die dann auch irgendwie wieder löschen, so dass ich wieder ein leeres konsolenfenster vor mir habe?
 
b

#include "iostream.h"


void main(void)
{
cout << "hier ist ein text" // text wird in der konsole ausgegeben

clrscr(); // konsolen display wird geloescht
};


das geht aber nur bei Borland c++ soweit ich das weis. wenn das einer
in vc++ weis waere ich dankbar es zu wissen
bis denne
 
na, das geht ja mal einfach...
hab die klasse jetzt eingebunden und ales kompiliert, wenn ich das fertige programm direkt aus sharp develop starte, läuft alles prima - die ausgaben werden gemacht, der bildschirm wird gelöscht, es wird noch eine letzte ausgabe gemacht
wenn ich aber die .exe aus dem explorer starte, wird die letzte zeile des programms scheinbar ignoriert :(
man kann nicht erkennen, ob die konsole gelöscht wird, das fenster schlies sich nach der ersten Read() anweisung einfach wieder
wo könnte der fehler liegen?
Code:
using System;
using System.IO;
using nsClearConsole;

public class DateienErstellen
{
	public static void Main()
	{
		ClearConsole ClearMyConsole = new ClearConsole();
		
		string datei = "meineDatei.txt";
		string zweiteDatei = "meineZweiteDatei.txt"; 
		
		// Methode 1
		StreamWriter schreiber = new StreamWriter(datei);
		schreiber.Close(); // Datei wieder freigeben
		
		// Methode 2
		FileInfo fi = new FileInfo(zweiteDatei); // fi wird initialisiert
		StreamWriter sw = fi.CreateText(); // wie in M1 aber über FileInfo
		sw.WriteLine("Hier steht der Text!");
		sw.Close();
		
		fi.Refresh(); // Datei-Informationen holen
		
		Console.WriteLine("Zwei Dateien wurden erstellt!\n");
		Console.WriteLine("Die zweite Datei wurde ausserdem mit Inhalt gefüllt...");
		Console.Write("Sie ist jetzt {0}Bytes gross!", fi.Length);
		Console.Read();
		ClearMyConsole.Clear(); // Bildschirm löschen
		Console.WriteLine("Konsole wurde geloescht!");
		Console.Read();
	}
}
danke für eure hilfe
 
Wie wärs, wenn du mal erst ne Konsole aufrust, und dann dein Programm startest?

In Win98:
Start-->Auführen-->"command" eingeben

Win2k:
Start-->Ausführen-->"cmd" eingeben

Dann erscheint das böse,böse Konsolenfenster...

C:\>_ <-- da tipp ma den Namen deines Programms ein:

C:\>meinprogramm.exe [ENTER]

Und dann bleibt die Konsole auch auf...

Und ansonsten, versuch doch mal, den Puffer zu flushen (nach WriteLine, vor der Read Anweisung)...ich hab leider von C# net so den Plan, sonst würd ich dir auch sagen, wies geht...
 
Zuletzt bearbeitet:
auch wenn ich das programm direkt aus der konsole aufrufe, is nach der ausgabe "Konsole wurde gelöscht!" schluss
die konsole wird gelöscht --> die ausgabe wird gemacht --> das programm wird beendet
das program wartet also nicht auf eine eingabe, so wie es das eigentlich sollte
 
Ich sag ja, versuch mal, zwischen WriteLine() und Read() den Puffer der Console zu löschen...
 
wenn du mir sagst, wie ich den puffer lösche, würd ich das gern mal ausprobieren ;)
in der c#-doku hab ich nichts gefunden...
 
Ehrlich gesagt, mit der Standard "Console" - Klasse halte ich das für so ne Sache...es ginge mit FlushConsoleInputBuffer() wenn du das Handle zum InputBuffer hättest...

Ich hab leider auch kein C#, sonst würd ichs ma probieren. Hast du mal nen Blick in die Klasse "Console" geworfen? Vielleicht wird man da ja aus der Read-Methode schlau...



Btw, Menden im Sauerland? ;)
 
hab den fehler gefunden
ich hab die beiden Console.Read() anweisungen mal durch Console.ReadLine() ersetzt (wie in dem link weiter oben)
jetzt gehts
warum er aber nicht zwei Console.Read() anweisungen nacheinander ausführen kann, is mir allerdings ein rätsel :confused:

jeep, menden im sauerland :)
 
Zurück