IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Rediriger Console WriteLine


Sujet :

C#

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 310
    Points : 132
    Points
    132
    Par défaut Rediriger Console WriteLine
    Bonjour,

    Je voudrais rediriger la sortie standard actuelle (quand je fais un appel à Console.WriteLine() ) vers une textbox.
    J'ai tenté ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    void Main()
    {
    Process currentProc = Process.GetCurrentProcess();
     
    currentProc.StartInfo.RedirectStandardOutput = true;
    currentProc.StartInfo.UseShellExecute = false; 
     
    currentProc.OutputDataReceived += proc_DataReceived;
     
    currentProc.BeginOutputReadLine();
     
    Console.WriteLine("test de redirection console  vers textbox ?");
     
    }
     
     void proc_DataReceived(object sender, DataReceivedEventArgs e)
     {
           textBoxMessageViewer.AppendText(e.Data);
     }


    Mais j'ai comme erreur :

    BeginOutputReadLine(); : StandardOut has not been redirected or the process hasn't started yet.
    MSDN me dit d'assigner RedirectStandardOutput à true et UseShellExecute à false, c'est ce que j'ai fait.

    Une idée ?

    Merci pour votre aide.

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    tu peux faire cela par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
     
            MyWriter writer = null;
            MemoryStream stream = null;
     
            private void Form1_Load(object sender, EventArgs e)
            {
                stream = new MemoryStream();
                writer = new MyWriter(stream);
                writer.SetTextBox(textBox1);
                Console.SetOut(writer);         
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                Trace.WriteLine("hello");            
                Console.Write("coucou");
            }
        }
     
        public class MyWriter : StreamWriter
        {
            private TextBox tb = null;
     
            public MyWriter(Stream st):base(st)
            {
            }
     
            public void SetTextBox(TextBox tb)
            {
                this.tb = tb;    
            }
     
            public override void Write(string value)
            {
                base.Write(value);
                tb.Text += value;
            }
        }
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 310
    Points : 132
    Points
    132
    Par défaut
    Merci ca marche nikel !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Console.WriteLine : Condition de concurrence critique d'E/S
    Par Arnard dans le forum Framework .NET
    Réponses: 0
    Dernier message: 19/11/2012, 15h56
  2. Console::WriteLine et type string
    Par hippodev dans le forum Langage
    Réponses: 0
    Dernier message: 12/08/2010, 15h57
  3. System Console WriteLine ?
    Par mastronic dans le forum Débuter
    Réponses: 8
    Dernier message: 06/11/2009, 14h40
  4. Console.WriteLine n'affiche rien
    Par tssi555 dans le forum VB.NET
    Réponses: 2
    Dernier message: 26/09/2008, 09h30
  5. [C#.NET EXPRESS][DÉBUTANT] Console.Writeline ?
    Par Xzander dans le forum Windows Forms
    Réponses: 7
    Dernier message: 05/07/2006, 21h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo