Gute Tag, ich bin noch sehr unbedarft in c#. Nun habe ich ein Programm geschieben um log dateien in csv zu parsen. Angefangen habe ich mit einer Konsolenanwendung, dort habe ich mir die "debug" infomationen per writeline ausgegeben. Aufgrund der besseren Handhabung habe ich nun den Code in eine Windows From Anwenung übernommen um eine schöne GUI zu basteln. Dort wird mir nur noch mit einer Messagebox mitgeteilt wenn die Umwandlung vollendet ist. Ich hätte aber gerne doch ein Debugfester, also z.B. ein Konsolenfenster das aufspringt und die Daten durchrasselt. Btw die logs sind durchaus groß 10-30MB textfiles. Welches element würde sich da am besten anbieten? Oder gibt es eine möglichkeit ein Konsolenfenster zu öffnen und dort die ausgabe wie gehabt zu realisieren? Tips reichen, brauch kein kompletten code, den bekomm ich schon selber hin. Herzlichen Danke Benedikt
Du kannst ja einfach ein Textfeld in die GUI reindröseln und dort die Ausgabe machen. Oder ist das nix? Ralf
ListView, TextBox, DataGridView oder selber zeichnen (und in ein UserControl verpacken). Allerdings geht bei diesen Datenmengen die Performance der Controls schnell in den Keller, wenn man's falsch macht. Z.B. nach jeder konvertierten Zeile ein Update des ListViews/der TextBox, statt nur alle 100-1000 Zeilen, oder Strings verwenden, statt des wesentlich schnelleren StringBuilder etc.
Hallo, ich hab momentan leider kein Visual Studio zur Hand aber unter den Projekteigenschaften gibt es eine Option um die Konsole zu aktivieren. Dann hat man nebmen seiner GUI noch die normale Konsole und sieht da die Ausgaben. Wenn du das Problem noch nicht behoben hast kann ich heute abend wenn ich daheim bin mal den genauen Ort und die Option schreiben. Mfg Michael
Wenn es wirklich nur zu Debug-Zwecken sein soll bietet .NET die Klasse System.Diagnostics.Debug. Diese hat die Methoden Write, WriteLine, unterstützt Einrückung, ... Die Ausgabe landet per Default im Output-Fenster von VisualStudio. Eigene Trace-Listener können angeschlossen werden, z.B. die Ausgabe in eine Datei, ... Ach ja, die Ausgaben erfolgen nur in der Debug-Version des Programms. Bei einem Releas-Build kommen sie nicht mehr. Falls das nicht ausreicht gibt es log4net. Das ist ein vergleichsweise einfach anzuwendendes Logging-Framework, das per Konfigurations-Datei aktiviert oder deaktiviert werden kann. Es unterstützt Formatierungen, diverse Ausgabeziele wie Konsole, Datei und selbst gestrickte Ausgabe-Listener. Zu finden unter http://logging.apache.org/log4net/index.html Gruß Markus
@Markus danke die System.Diagnostics.Debug ist für meine zwecke völlig ausreichend. Vielen Dank für eure Mühe und die schnelle Hilfe Benedikt
Markus schrieb: > Wenn es wirklich nur zu Debug-Zwecken sein soll bietet .NET die Klasse > System.Diagnostics.Debug. Diese hat die Methoden Write, WriteLine, > unterstützt Einrückung, ... Die Ausgabe landet per Default im > Output-Fenster von VisualStudio. und ist ca. um den Faktor 30 - 150 langsamer als eine optimierte TextBox-Version. > Falls das nicht ausreicht gibt es log4net. Das ist ein vergleichsweise > einfach anzuwendendes Logging-Framework, das per Konfigurations-Datei > aktiviert oder deaktiviert werden kann. Es unterstützt Formatierungen, > diverse Ausgabeziele wie Konsole, Datei und selbst gestrickte > Ausgabe-Listener. Zu finden unter > http://logging.apache.org/log4net/index.html Wenn Performance und einfache Konfiguration wichtiger sind: NLog > Gruß > Markus
Arc Net schrieb: > und ist ca. um den Faktor 30 - 150 langsamer als eine optimierte > TextBox-Version. Du hast sicherlich recht. Allerdings ist das für eine einfache Debug-Ausgabe, die man am Ende der Arbeit zumeist nicht mehr benötigt, mit Kanonen auf Spatzen geschossen. Ein einfacher Aufruf Debug.WriteLine(...) ist da im Bezug auf Programmieraufwand viel effizienter. Außerdem muß man sich nicht mit so Zeugs wie Worker-Threads, programmatischem Scrollen des Textes, ... kümmern. Zumal es wohl beim ursprünglichen Problem wirklich nur um die Kontrolle des Programmergebnisses geht. ;-) > Wenn Performance und einfache Konfiguration wichtiger sind: > NLog Kannte ich bislang nicht. Ich schaue es mir aber mal heute Abend an, ob das wirklich so viel einfacher zu konfigurieren ist, wie auf der Startseite behauptet wird. ;-) Gruß Markus
Btw.: Du musst nur in den Projektoptionen den Output Type auf Konsolenanwendung ändern und schon hast du eine Konsole.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.