Sortie vers fenetre MS-DOS

Sortie vers fenetre MS-DOS - C#/.NET managed - Programmation

Marsh Posté le 12-12-2007 à 16:24:09    

Bonjour,
 
je cherche à faire quelque chose qui me semble simple mais impossible à trouver comment.
 
J'ai une application WinForms sous C#, et je voudrais pouvoir afficher ce qui est en train d'être fait dans mon programme. En fait je pourrais utiliser les classes Trace et Debugg mais je voudrais juste une fenetre MS-DOS qui s'ouvrirait et y afficher des phrases. Et quand l'appli se ferme avoir toujours la fenetre ouverte pour y jeter un oeil. C'est pas possible?

Reply

Marsh Posté le 12-12-2007 à 16:24:09   

Reply

Marsh Posté le 14-12-2007 à 06:44:15    

Une 2ème fenêtre avec un textbox multiligne et un accesseur pourrait faire l'affaire...
 
Ou alors tu crées un fichier log et tu écris dedans.

Reply

Marsh Posté le 14-12-2007 à 10:36:20    

J'ai jamais réussi à partir d'un projet WinForms à afficher la console.
 
Par contre, l'inverse, si.
 
Du coup je te conseille de migrer tout ton code vers un projet de type "Application Console".
 
Là tes fenêtres marcheront sans problème, et t'auras une console sous la main.

Reply

Marsh Posté le 14-12-2007 à 16:09:40    

Il y a des options de redirection pour out et err en .Net ?

Reply

Marsh Posté le 14-12-2007 à 17:08:58    

Oui, les StreamIn, StreamOut et StreamError sont 100% modifiables.
En revanche, pas trop compris l'article, mais y'a pas de moyen avec les streams par défaut d'écrire dans le StreamError, mais tu peux sans problème l'implémenter. Fait une recherche sur la classe "Console" dans la MSDN c'est tout bien expliqué.

Reply

Marsh Posté le 17-12-2007 à 11:43:55    

Faire un Process (et donc une appli console séparée) vu que tu peux rediriger les flux E/S...
Mais cette solution disparait si tu fermes l'appli...
 
Sinon si c'est du debug local, je ne vois pas pourquoi l'onglet "Sortie" du debugguer VS n'est pas suffisant...


---------------
H. - 48h en fiat et j'ai déjà perdu la maitrise de mon argent
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed