Timer neu starten
-
Wie kann ich einen Timer mit einer bestimmten Zahl anfangen lassen? Und wie kann ich ihn stoppen, dass er bei 0 wieder anfängt?
-
mit einer bestimmten Zahl anfangen lassen? Wie meinst du das?
Der timer löst nach dem angegebenen Interval einen Tick aus. Wenn du unterschiedliche Interval-Zeiten haben willst, musst du diese vor dem Start ändern:
timer->Interval = 1000;
Um ihn zu stoppen:
timer->Stop();
Und wenn du ihn wieder startest, wird er nach dem angegebenen Interval die Ticks ausführen.
-
Ich will, das der Timer nicht bei 0 startet, sondern bei 5 oder so. Und ich will, dass wenn man den Timer stoppt, er nicht weiterzählt, sondern bei 0 ansetzt.
-
Dann musst du dir eine Art Timerverwaltung schreiben. Es wird wohl nicht ohne weiteres gehen, den Timer "bei 5 starten zu lassen". Woher weißt du eigentlich, dass er bis zum Interval hochzählt?
Keine Ahnung, was du vorhast, aber was spricht dagegen, das Interval um 5 runterzusetzen, der Tick wird einfach 5 ms schneller ausgeführt. Wenn du die alte Intervalzeit wieder haben willst, kannst du sie doch auch wieder hochsetzen.
-
Kann man den Intervall schneller werden lassen? z.B.: timer1->Intervall = +50;
Also bei mir klappt's nicht.
-
timer1->Interval = 1000;
das bedeutet, dass der Tick alle 1000 ms = 1 Sekunde ausgeführt wird.
timer1->Interval = 400;
dann sollte der Tick jeweils nach 400 ms ausgeführt werden.
Sollte klappen, auf jeden Fall Interval mit einem l und ohne +50 oder solche Scherze.
-
Es sei noch angemerkt, das der Intervall lediglich aussagt, wie lange Pause ist bis ein neuer Tick ausgelöst wird. Es stellt keine Garantie dar, das
die Methode die aufgerufen werden soll exakt zum Ablauf gestartet wird. Auch sollte man bedenken das es eine Untergrenze gibt. (War da was mit 50ms? )
-
Kommt drauf an was du alles machen willst zwischen den Ticks. Danach richtet sich die Untergrenze des Intervalls.