# C# konsole löschen (wieder leeres fenster)



## fishguts (7. Mai 2002)

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?


----------



## VIshNou (10. Mai 2002)

*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


----------



## Celvin (10. Mai 2002)

In C# geht das leider mal ganz anders...

Inner KB gibts dazu folgenden Artikel:

http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q319257


----------



## fishguts (11. Mai 2002)

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?

```
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


----------



## Celvin (11. Mai 2002)

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...


----------



## fishguts (11. Mai 2002)

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


----------



## Celvin (11. Mai 2002)

Ich sag ja, versuch mal, zwischen WriteLine() und Read() den Puffer der Console zu löschen...


----------



## fishguts (11. Mai 2002)

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...


----------



## Celvin (11. Mai 2002)

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?


----------



## fishguts (12. Mai 2002)

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 

jeep, menden im sauerland


----------



## Scope (27. Mai 2002)

nochmal eine frage dazu:
(bin noch ein ziemlicher newbie in c#)

bei mir findet er nsClearConsole nicht.
woran kann das liegen, 
ich arbeite mit ms visual studio .net enterprise architect.

scope.


----------



## fishguts (28. Mai 2002)

> _Original geschrieben von Scope _
> *nochmal eine frage dazu:
> (bin noch ein ziemlicher newbie in c#)
> 
> ...


scheinst ja ne menge geld zu haben... 
hast alles so gemacht wie auf der ms-website beschrieben steht?
da sollte es doch eigentlich keine probleme geben...
hast die klasse auch richtig eingebunden?
z.B. mit

```
using nsClearConsole;
```
nsClearConsole musst natürlich durch den jeweiligen klassennamen ersetzen


----------



## Scope (28. Mai 2002)

edit: vergiss es, hab mich ein bisschen dumm angestellt, ist jetzt klar..
trotzdem danke.
scope.


----------

