Redirection de Console.WriteLine

scoubidou944 Messages postés 714 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 19 janvier 2017 - 12 sept. 2008 à 17:47
scoubidou944 Messages postés 714 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 19 janvier 2017 - 5 août 2009 à 10:33
bonjour,

comme mon ami Google  semble vexé aujourd'hui, je viens chercher refuge ici.

Si dans un même projet en mode console, on veut hooker les appels à Console.WriteLine() par exemple pour changer la couleur et écrire cette données dans un texte, on fait comment ?

La redirection flux semble être une mauvaise idée vu que l'on en pourra pas rediriger vers 2 endroits en mm tps (écran avec couleur + fichier texte).

Aurais-je loupé qql chose ?
Merci
++
Vince

----------------------------
C++ forever
C# amateur

6 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 62
14 sept. 2008 à 10:20
Salut,
Euh...... pas compris!
1
scoubidou944 Messages postés 714 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 19 janvier 2017
14 sept. 2008 à 20:58
bah en gros, tu as un bout de code qui fait un Console.WriteLine.
Tu ne veux pas modifier tous tes appels mais tu veux que Console.WriteLine, ca écrive à l'écran mais aussi dans un fichier texte.
Par exemple :

Ton code écrit :
Chargement de bidulle...
a la fin il doit afficher : [OK] ou [ECHEC]
sauf que si entre temps tu appelles du code qui fait Console.Write ("ERREUR bidulle machin truc sur 5 lignes"), bah visuellement ça  arrive comme un cheveu sur la soupe.

----------------------------
C++ forever
C# amateur
0
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
15 sept. 2008 à 13:46
Salut,

"Malheureusement" le plus simple dans ce cas est encore de ne pas faire directement les appels à Console.WriteLine et d'ajouter une surcouche, qui elle se chargera de faire les 2 actions si nécessaire.
Ce qui laisse aussi une bonne marge de manoeuvre pour la suite.

La piste de la redirection est en effet sans issue, car même si tu crée une implémentation de TextWriter pour l'occasion, lorsque tu vas écrire sur la console tu vas rerentrer dans ton implémentation de TextWriter etc etc.

/*
coq
MVP Visual C#
CoqBlog
*/
0
jb_exe Messages postés 15 Date d'inscription dimanche 8 mai 2005 Statut Membre Dernière intervention 3 août 2009
3 août 2009 à 09:05
Cela vient super en retard, mais si vous tomber sur cette page pendant vos rechercher, vos aurez au moins une réponse possible...

Tapez le texte de l'url ici.

Bonne continuation
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
scoubidou944 Messages postés 714 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 19 janvier 2017
5 août 2009 à 10:30
Glop, glop. Je viens d'y jeter un oeil (que j'ai récupéré après ;p).
Ca fonctionne pas mal, juste quelques petits points ou FxCop râle (nommage, IFormatProvider) mais rien de trop grave.

Par contre, je crois que je viens de trouver ma vie :
http://www.csharpfr.com/codes/REDIRECTION-SORTIE-APPLICATION-CONSOLE-EXTERNE-VERS-LISTBOX-WINFORM_43556.aspx

En effet, mon problème initial utilise des applications différentes que je n'ai pas forcément codé et dont il me faut rediriger les consoles.



----------------------------
C++ forever
C# amateur
0
scoubidou944 Messages postés 714 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 19 janvier 2017
5 août 2009 à 10:33
Autre source de SharpMao :

http://www.csharpfr.com/codes/LECTURE-LIGNE-LIGNE-SORTIE-STANDARD-PROGRAMME-CONSOLE_43555.aspx

----------------------------
C++ forever
C# amateur
0