2017-06-21 3 views
0

com Ich mache ein Projekt für meine Programmierprüfung, es wird eine einfache Prüfung sein, und deshalb werde ich nur eine einfache, grundlegende Konsolenanwendung erstellen müssen. Aber obwohl es einfach ist, möchte ich es wirklich aufpeppen. Ich habe bereits eine einfache Uhr:Wie kann ich eine kontinuierlich aktualisierende Uhr in einer Konsolenanwendung erstellen?

 static public void clock() 
    { 
     Console.SetCursorPosition(0, 0); 
     Console.WriteLine("{0:D} {0:t}", DateTime.Now); 
     Console.WriteLine(""); 
    } 

ich diese Methode in dem Programm verweisen, indem Sie den Namen mit „Uhr“; wie hier gezeigt:

     Console.Clear(); 
        clock(); 
        Console.WriteLine("┌───────────────────────────────────┐"); 
        Console.WriteLine("|  Welcome to the Festival  |"); 
        Console.WriteLine("└───────────────────────────────────┘"); 

Ist es möglich, Sekunden auf die Uhr an, und es ständig, machen zu aktualisieren und zu tun auf einfache Weise das? Ein Weg, den ein Anfänger-Programmierer erklären könnte, da ich das tun müsste. Vielen Dank!

+2

Ihre Frage wird verbessert, und wird in Betracht gezogen werden mehr Leute, wenn Sie Code als Text direkt in Ihre Frage einfügen, anstatt zu verlangen, dass Leute eine externe Site besuchen. – hatchet

+0

Danke Beil, ich habe die Frage mit Codeschnipsel anstelle von Bildern neu gemacht. – Tovleman

Antwort

0

Um die Sekunden in der Zeitausgabe umfassen Sie

Console.WriteLine("{0:D} {0:T}", DateTime.Now); 

Um die Zeit aktualisieren können Sie System.Timer verwenden könnte, oder wenn Sie etwas schnell und einfach (wenn auch ein wenig hacky) wollen, können Sie Verwenden Sie einfach eine Schleife mit einer System.Threading.Sleep(500) und rufen Sie Ihre Uhr Methode in ihm. Natürlich würde das für immer laufen (oder bis Sie das Befehlsfenster schließen).

0

Dies ist definitiv nicht narrensicher, da es kein „easy“ Weg, dies richtig zu tun ... aber es kann für Ihre Zwecke tun:

static void Main(string[] args) 
    { 
     Task.Run(() => { 
      while (true) 
      { 
       // save the current cursor position 
       int x = Console.CursorLeft; 
       int y = Console.CursorTop; 

       // update the date/time 
       Console.SetCursorPosition(0, 0); 
       Console.Write(DateTime.Now.ToString("dddd, MMMM d, yyyy hh:mm:ss")); 

       // put the cursor back where it was 
       Console.SetCursorPosition(x, y); 

       // what one second before updating the clock again 
       System.Threading.Thread.Sleep(1000); 
      } 
     }); 

     Console.SetCursorPosition(0, 2); 
     Console.WriteLine("┌───────────────────────────────────┐"); 
     Console.WriteLine("|  Welcome to the Festival  |"); 
     Console.WriteLine("└───────────────────────────────────┘"); 

     Console.WriteLine(""); 
     Console.Write("Please enter your name: "); 
     string name = Console.ReadLine(); 
     Console.WriteLine("Hello {0}!", name); 

     Console.WriteLine(""); 
     Console.Write("Press Enter to Quit..."); 
     Console.ReadKey(); 
    } 
Verwandte Themen