Jump to content

VisualC# ConsoleApplication


Recommended Posts

Geplaatst:

Hallo, Allemaal.

Ik heb een klein probleempje met de console application in visual C#:

Ik wil een leuke Grap uit halen met een vriend van me en heb daarom ff snel deze code gemaakt:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
   class Program
   {
    static void Main(string[] args)
    {
	    Console.WriteLine("Format Process Started");
	    Console.WriteLine("Press Any Key To Continue");
	    Console.ReadKey();
	    Console.WriteLine("Format The HardDrive");
	    Console.WriteLine("FORMAT");
	    Console.WriteLine("Format The HardDrive");
	    Console.Write("Format");
	    Console.WriteLine("Format The HardDrive");
	    Console.WriteLine("FORMAT");
	    Console.WriteLine("Format The HardDrive");
	    Console.Write("Format");
	    Console.WriteLine("Format The HardDrive");
	    Console.WriteLine("FORMAT");
	    Console.WriteLine("Format The HardDrive");
	    Console.Write("Format");
	    Console.WriteLine("Format The HardDrive");
	    Console.WriteLine("FORMAT");
	    Console.WriteLine("Format The HardDrive");
	    Console.Write("Format");
	    Console.WriteLine("Format The HardDrive");
	    Console.WriteLine("FORMAT");
	    Console.WriteLine("Format The HardDrive");

	    Console.Write("Format");
	    Console.WriteLine("Format The HardDrive");
	    Console.WriteLine("FORMAT");
	    Console.WriteLine("Format The HardDrive");

	    Console.Write("Format");
	    Console.WriteLine("Format The HardDrive");
	    Console.WriteLine("FORMAT");
	    Console.WriteLine("Format The HardDrive");

	    Console.Write("Format");
	    Console.WriteLine("Format The HardDrive");
	    Console.WriteLine("FORMAT");
	    Console.WriteLine("Format The HardDrive");


	    Console.Write("Format");
	    Console.WriteLine("Format The HardDrive");
	    Console.WriteLine("FORMAT");
	    Console.WriteLine("Format The HardDrive");
	    Console.Write("Format");
	    Console.WriteLine("Format The HardDrive");
	    Console.WriteLine("FORMAT");
	    Console.WriteLine("Format The HardDrive");
	    Console.Write("Format");
	    Console.WriteLine("Format The HardDrive");
	    Console.WriteLine("FORMAT");
	    Console.WriteLine("Format The HardDrive");
	    Console.Write("Format");
	    Console.WriteLine("Format The HardDrive");
	    Console.WriteLine("FORMAT");
	    Console.WriteLine("Format The HardDrive");
	    Console.Write("Format");
	    Console.WriteLine("Format The HardDrive");
	    Console.WriteLine("FORMAT");
	    Console.WriteLine("Format The HardDrive");
	    Console.Write("Format");

	    Console.WriteLine("Format The HardDrive");
	    Console.WriteLine("FORMAT");
	    Console.WriteLine("Format The HardDrive");
	    Console.Write("Format");
	    Console.WriteLine("Format The HardDrive");
	    Console.WriteLine("FORMAT");
	    Console.WriteLine("Format The HardDrive");
	    Console.Write("Format");
	    Console.WriteLine("Format The HardDrive");
	    Console.WriteLine("FORMAT");
	    Console.WriteLine("Format The HardDrive");
	    Console.WriteLine(
	    Console.WriteLine("Format The HardDrive");

	    Console.WriteLine("Format The HardDrive");
	    Console.Write("Format");



    }
   }
}

Nou zet de cmd Alles in 1 keer in het scherm, maar ik wil dat het ietsje langzamer gaat, ongeveer net zo snel als bij het "Tree"commando.

Dan wil ik tussendoor nog een andere cmd laten openen, waar bij hij gelijk het "cd.. cd.. Tree" commando in voert en op enter drukt.

Als iemand van jullie de code kan aanpassen en daarbij uitleg wil geven wat er nou veranderd is en wat de commando's zijn, zou ik heeeeel blij zijn haha.

MVG 10xl

Geplaatst:

In plaats van 10 keer dezelfde 2 regels te schrijven kan je beter gebruik maken van een forlus (google even als je dat niet kent..). Je programma even laten wachten kan je waarschijnlijk doen met System.Threading.Thread.Sleep(xxx), waarbij xxx het aantal milliseconden is dat je wilt wachten (1000 ms = 1 s) (ik kan zelf geen C#, gevonden door het googlen). Hoe je een nieuwe cmd start heb ik geen flauw benul van.

  • 2 weken later...
Geplaatst: (bewerkt)

Hoe je een nieuwe cmd start heb ik geen flauw benul van.

Ik weet niet hoe het in C# werkt, maar in C (op Linux -- weet niet zeker of dit uitmaakt) kan je een pipe openen om data naar een ander process, bijvoorbeeld de terminal te sturen:

/* C code voor uitvoeren van terminal command */

FILE *pipe;
pipe = popen("command here", "w");
fclose(pipe);

Een pipe is wel unidirectioneel, dit betekend dat je alleen kan lezen ( r ) of schrijven ( w ), het tweede argument van popen. Ik herhaal, dit is alleen in C en werkt waarschijnlijk alleen onder Linux, maar C# zal waarschijnlijk niet heel veel verschillen. Je zou in je programma dan iets als dit kunnen doen:

  1. Print valse statements
  2. Vraag commando van user, of kom op een andere manier aan een commando (random uit een array bijvoorbeeld?)
  3. Voer commando uit
  4. Herhalen? Dan terug naar 1

Succes :)

Bewerkt: door David22
Geplaatst:

Thread.Sleep gebruiken en zoiets gebruiken voor de andere cmd-vensters:

Process.Start("cmd /c \"dir C:\\\"");

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...