Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[C#] save/print command output

Pagina: 1
Acties:
  • 690 views sinds 30-01-2008

Verwijderd

Topicstarter
In mijn C# file wil ik een window maken waarin ik de output van een command prompt kan zetten.
Het maakt niet echt uit hoe....bv. eerst via een file opslaan en dan in dat window openen of een command prompt openen in dat window oid.
Ik ben beginner wat betreft C# en heb al een hoop gegoogled maar niks nuttigs gevonden.
Het is wel de bedoeling dat dat window regelmatig geupdate wordt!

b.v.d.

  • Hoogie2004
  • Registratie: Mei 2005
  • Laatst online: 12:12

Hoogie2004

Whohooooo

Kan je niet de functie die de commandprompt update, ook meteen die regels toe laten voegen in de textfile.

(of bedoel je het andersom, dat hij regelmatig de inhoud van het scherm ververst met de inhoud van de file?)

*kuch leren lezen

Bedoel je niet gewoon een console application? (ik snap niet helemaal wat je nu bedoelt denk ik)

[ Voor 75% gewijzigd door Hoogie2004 op 15-01-2008 08:40 ]

My iRacing profile | Strava


  • Vedett.
  • Registratie: November 2005
  • Laatst online: 07:47
heel even uit de losse hand

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void StartProcess()
{
    Process prc = new Process();
    prc.StartInfo.CreateNoWindow = true;
    prc.StartInfo.RedirectStandardOutput = true;
    prc.StartInfo.RedirectStandardError = true;
    prc.StartInfo.UseShellExecute = false;
    prc.StartInfo.FileName = "word.exe";
    prc.StartInfo.Arguments = "mydoc.doc";
    prc.OutputDataReceived += new DataReceivedEventHandler(prc_OutputDataReceived);
    prc.Start();
    prc.WaitForExit();
}

void prc_OutputDataReceived(object sender, DataReceivedEventArgs e)
{
     //Hier ga je heel waarschijnlijk niet onmiddelijk gebruik kunnen maken van een textbox oid. 
     //omdat deze methode uit een andere thread wordt opgeroepen. 
     //Hiervoor moet je maar eens zoeken naar InvodeRequired. Ik denk dat deze property zich op System.Windows.Forms.Conrol bevind.
     throw new Exception("The method or operation is not implemented.");
}

Verwijderd

Topicstarter
Hoogie2004:
Het is inderdaad andersom. als ik het in een tekstfile zou opslaan dan zou het scherm regelmatig geupdate moeten worden met de inhoud van de file

Vedett:
Iser nog een toelichting bij jou code want deze code pikt ie niet helemaal.
Zoals Process en DataReceivedEventHandler

  • Vedett.
  • Registratie: November 2005
  • Laatst online: 07:47
Nog even een using toevoegen dan.

using System.Diagnostics;

Verwijderd

Topicstarter
die stond er al had ik ook al naar gekeken:S

  • Mastermind
  • Registratie: Februari 2000
  • Laatst online: 19-11 19:37
Die zitten in System.Diagnostics.Process

http://www.developerfusion.co.uk/show/4519/2/

Verwijderd

Topicstarter
oepsie had het net ff verkeerd in de code staan maar nu herkend ie "DataReceivedEventArgs" niet.
Begreep comment van Vedett ook niet helemaal bij die code

  • Hoogie2004
  • Registratie: Mei 2005
  • Laatst online: 12:12

Hoogie2004

Whohooooo

Als je code zoekt die simpel in een console window een textfile print (vervang mijnbestand.txt met je eigen en pas zonodig het interval aan)

C#:
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
private static void Main()
        {
            while (true)
            {
                //Clear the window
                Console.Clear();

                //Open the file to write to a window
                StreamReader reader = new StreamReader("mijnbestand.txt");
                //Read the first line
                string line = reader.ReadLine();

                //Print the line and read the next until reached end of file
                while (!String.IsNullOrEmpty(line))
                {
                    Console.WriteLine(line);
                    line = reader.ReadLine();
                }

                //dispose the reader                
                reader.Dispose();
                reader = null;

                //Sleep for 10 seconds
                Thread.Sleep(10000);
            }
        }


Als je inderdaad iets wilt dat wordt getriggerd dan moet je verder kijken naar de oplossing van Vedett.

My iRacing profile | Strava


Verwijderd

Topicstarter
Het is de bedoeling dat eerst de output van de command prompt die naast mijn applicatie runt wordt opgeslagen in een file voordat ik die in een console window kan printen. Maar dit window moet dus wel regelmatig geupdate worden naar de inhoud van dat txt bestand

  • Hoogie2004
  • Registratie: Mei 2005
  • Laatst online: 12:12

Hoogie2004

Whohooooo

Verwijderd schreef op dinsdag 15 januari 2008 @ 09:05:
Het is de bedoeling dat eerst de output van de command prompt die naast mijn applicatie runt wordt opgeslagen in een file voordat ik die in een console window kan printen. Maar dit window moet dus wel regelmatig geupdate worden naar de inhoud van dat txt bestand
Kun je wat code posten van hoe je die data momenteel verwerkt naar een textfile? Als je het hebt over een commandprompt, is dit dan jouw eigen console programma?

(Je wil dus printen in het console window, en vervolgens dit opslaan in een textfile? precies andersom als mijn code nu is?)

My iRacing profile | Strava


Verwijderd

Topicstarter
op het moment maak ik nog geen textfile aan.
Het zou een oplossing kunnen zijn om de inhoud van een textfile in een console windows te zetten van mijn programma!
Deze textfile moet dan bestaan uit de output die een command prompt heeft. (cmd.exe)

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:08
Op deze manier werkt het hier in het forum niet. Dit is een scriptrequest, en dit laten we hier niet toe. 't Is niet de bedoeling dat je hier even een omschrijving neerzet van wat je zou willen, en dat iemand anders dan even een stukje code voor je schrijft.
Zowiezo mis je een pak basiskennis merk ik, want de code die vedett je geeft moet je toch -mits enige inspanning- aan de praat kunnen krijgen. (compiler-fouten lezen en begrijpen, etc.. ).
Als je dan ook nog eens zegt 'hij pikt de code niet helemaal', dan wordt het al helemaal giswerk.

Ik zou zeggen: neem de PRG Quickstart eens door, en open evt een nieuw topic adhv die Quickstart. Het is de bedoeling dat je zelf eerst eens eea probeert om tot een oplossing te komen...

Programmeren is trouwens iets meer dan stukjes code op 't Internet zoeken en deze aan elkaar lijmen. Ik zou zeggen: koop een goed boek en begin bij de basis.

[ Voor 9% gewijzigd door whoami op 15-01-2008 09:24 ]

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:08
TeeDee wou dit nog vermelden:
Afaik kan je alle output van cmd.exe pipen naar een .txt file met iets als:
code:

1


code:
1
dir > c:\test.txt



Als je dan ook nog in jouw applicatie dat .txt file inleest ben je imo al een eind.

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.