Zähler soll langsam zählen nur wie???
-
1. Mit Sleep()
while(m_XAchse) { Sleep(100);// Millisekunden m_XAchse++; } MessageBox("1000 erreicht");Der Nachteil ist, dass bei Sleep das ganze Programm pausiert.
2. Mit clock()
while(m_XAchse) { if( ( clock() % 1000 ) > 100 ) m_XAchse++; } MessageBox("1000 erreicht");Deine while-Schleife ist auch falsch.
Ich denk du meinst das:
while(m_XAchse < 1000) { m_XAchse++; } MessageBox("1000 erreicht");EDIT: Zu langsam...
-
Baue nach
m_XAchse++;eine Zeile ein, die eine bestimmte Pause wartet. Wenn du mit der Bibliothek SDL (www.libsdl.org) arbeiten würdest, könnte ich dir da helfen (da gibt es Timer-Funktionen). In reinem C/C++ ist mir keine bekannt (bzw. die, die ich kenne, arbeiten meines Wissens nur max. mit 1s Genauigkeit - zu wenig nehme ich an).
In der WinAPI sollte es auch 100% eine solche Funktion geben, aber dort kenne ich mich 0 aus.
-
Ja sorry es müsste bei while so heißen.
while(m_XAchse >= 1000)Eigentlich ist es eine MFC Anwendung, dachte hier passt die besser rein.
Mit sleep hatte ich schon verucht nur mit 500, dass sind doch
500 Millisekunden oder? Das ist aber keine Veränderung gewesen.Ich werden mal das zweite Beispiel von Gap versuchen
Gruß und Danke
-
Also mit Clock geht es danke.
Aber noch mal na andere frage. Kann man folgendes machen???
while((m_XAchse < 1000)||(m_Stop != 1))Also zwei Bedienungen in einer Schleife??
Gruß Ronn
-
Einfach probieren haett es auch getan, aber es funktioniert!
-
Mmmhh geht nicht, da hängt sich das Programm immer auf, was solls.
Gruß
-
Zeig mal die komplette Schleife (mit "Umfeld"), womöglich ist da noch ein Fehler drin.
-
Hallo
Wolfgke schrieb:
Baue nach
m_XAchse++;eine Zeile ein, die eine bestimmte Pause wartet. Wenn du mit der Bibliothek SDL (www.libsdl.org) arbeiten würdest, könnte ich dir da helfen (da gibt es Timer-Funktionen). In reinem C/C++ ist mir keine bekannt (bzw. die, die ich kenne, arbeiten meines Wissens nur max. mit 1s Genauigkeit - zu wenig nehme ich an).
In der WinAPI sollte es auch 100% eine solche Funktion geben, aber dort kenne ich mich 0 aus.
Wie würdest du es denn mir SDL machen? Mit GetTicks(), oder gibt es noch andere nützliche Funktionen?
Danke chrische
-
Immer wieder nützlich, dieses MSDN:
-
Ne das mit dem Aufhängen hat wohl was mit der Hardware zu tun die ich anspreche. Da gibt es Problem mit einem Speicherbereich.
Das mit der Pause klappt wunderbar, das andere muß ich noch mal selber testen woran das liegt. Den Code hier einstellen na ja der wäre wohl etwas lang bzw. da sind Funktionen dabei die nur mit einer Bestimmten Hardware I/O Karten arbeiten. Von daher muß ich selber noch mal suchen.
Gruß Ronn
