delay() problem
-
hi ich will mir einen "countdown" programm schreiben doch der delay() befehl wird von meinem compiler visual c++ 6.0 nicht erkannt an was kann des liegen ?
-
#include <windows.h> Sleep(1000);
Oder besser mit einem Timer (SetTimer)
-
ok danke
was meinst du mit Timer (SetTimer) wie geht des genau ?
-
Wenn du Fenster in irgendeiner Form benutzt, wirst du mit SetTimer und der entsprechenden Dokumentation in der MSDN wohl glücklich werden. Wenn nicht, reicht Sleep
-
Hallo,
das passt wohl besser nach WinAPI.
-
Sleep() ist scheiße! Das friert das Programm ein. Nene, du nimmst nen Timer. SChau dazu in der MSDN unter SetTimer() und KillTimer() nach.
-
Wenn er wirklich nur ein Countdownprogramm schreiben will ist die Sleep Methode ausreichend.
Der Begriff friert das Programm ein ist irreführend. Das Programm gibt die Kontrolle an das Betriebssystem ab und bekommt sie nach derin Sleep benannten Zeit wieder.
-
Wenn er wirklich nur ein Countdownprogramm schreiben will ist die Sleep Methode ausreichend.
Eben nicht!
Wie soll man das Programm denn vorzeitig beenden können? Oder auch nur die Größe oder Position des Fensters ändern?
-
Da er in regelmäßigen Abständen sowieso die Restzeit anzeigen will, können zu diesem Zeitpunkt auch die anderen Aktionen erfolgen.
Meistens ist es sinnvoll Sleep Aktionen nicht einmal mit 9000 milli Sekunden sondern 90 mal mit 100 m Sek durzuführen.
Wollen wir es aufwendiger lösen so spalten wir eine Thread ab in dem das Runterzählen erledigt wird. Das Hauptfenster ist somit für alle anderen Aktionen frei.
-
Nene, er wird nen Timer benutzen!
-
Hier ist ein schöner Artikel über Timers, welche Timers gibt es und wann setzt man welchen Timer ein.
Gruß WoWe
-
Fazit eines Artikels, den ich mal auf Codeguru gesehen habe, war, das man mit einem seperaten Thread, den man mit Sleep() schlafen legt auch ziemlich genau werden kann (kommt ziemlich nah an Multimedia´Timer ran).
Für diesen Zweck halte ich aber den normalen Windows Timer für vollkommen ausreichend. Der Codeproject Artikel ist auf alle Fälle gut für das allgemeine Verständnis