Konsoleninhalt zusätzlich in Datei schreiben

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von singu.

    Konsoleninhalt zusätzlich in Datei schreiben

    Hallo,
    Ich würde gerne die Anzeige von meinem Konsolenprogramm, also das, was ich eingebe und das was die Konsole ausgibt, in einer Dateispeichern. Am besten auch erst, nachdem das ganze Programm durchlaufen wurde, ist aber nicht zwingend.
    Die Ausgabe in eine Datei schreiben zu lassen, ist ja nicht weiter schwierig (Console.SetOut(New StreamWriter([...]))), doch dann fehlen zum Einen noch die Eingaben, die ich während des Programmablaufs gemacht habe und zum Anderen ist auch nichts mehr auf der Konsole zu sehen.

    Ich hoffe das es für mein Problem eine Lösung gibt...
    Du kannst im Programmablauf die Eingaben und Ausgabe von deinem Programm in einem String speichern und diesen dann zu jeder Zeit in eine Datei schreiben.
    Am besten lagerst du den Code in ein Modul aus dann kannst du das auch immer wieder verwenden bei anderen Programmen wo du ein Log brauchst.

    Ich schau mal ob ich dir ein Beispiel basteln kann.
    Leite eine Klasse von Stream ab, und in der Input-Funktion (oder wie die heißt) schreibst du den Kram in einen StreamWriter oder/und gibst es über die Console aus.

    Gruß
    To make foobar2000 a real random music player, I figured out the only way to achieve this is to use Windows Media Player.

    At some point in time, you recognize that knowing more does not necessarily make you more happy.
    Das Beispiel von Microsoft hatte ich mir schon angesehen; da ist der Nachteil, dass ich alles doppelt ausgeben müsste.

    @Chrisber: Welche Input-Funktion meinst du? Die um etwas in die Konsole einzugeben (ReadLine) oder um etwas in den Stream zu schreiben? Hast du ein Beispiel oder ein Tutorial für deine Methode? Dann müsste ich nicht groß suchen ;)