Re: system.timer() Überlauf Kategorie: Programmierung (von AndrĂ© H. - 2.08.2012 16:13) | ||
Als Antwort auf system.timer() Überlauf von Detlef - 6.07.2012 14:25 | ||
| ||
Hallo Detlef, > wie ist das mit dem Timerüberlauf genau: > Ich habe gelernt, wenn ich von system.timer() eine Long Variable abziehe, ist das Ergebnis immer > korrekt, egal ob Timerüberlauf. > timer = system.timer(); > ... > if system.timer()-timer >=500 > ... Korrekt. > Wie verhält es sich denn, wenn ich in diesem Spiel noch einen Offset addiere? > > timer = system.timer()+30000; > ... > if timer - system.timer() <=0 > ... > > Funktioniert das? Was ist mit dem Fall, da� system.timer() zusammen mit dem Offset einen �berlauf > produziert? Was steht dann in timer, wie läuft dann der anschlie�ende Vergleich? Das wird nicht immer Funktionieren, da das Ergebnis für bis zu 30sek. nicht stimmen kann. Wichtig ist bei der Timer-Berechnung mit �berläufen immer, da� binär gesehen vom grö�eren Wert immer der kleinere abgezogen wird. Also ohne beachtung des Vorzeichens. > Ich verwende das, weil ich in einem Thread mehrere verkette Abläufe nach gleichem Schema aber mit > unabhängig getriggerten Schrittfolgen abhandele. Dieser Thread muckt nach 14 Tagen - 2 Monaten > immer rum. Alternativ: Wie setze ich system.timer() zyklisch zurück? (Resettaste drücken ist die > heutige Lösung!) Den Timer kann man nicht zurücksetzen. Zumindest nicht direkt. Das sollte man auch nicht, da am Timer noch andere Dinge hängen. Aber warum benutzt Du nicht für den Offset eine Variable? Wenn Du nach Ablauf einer Zeit etwas auslösen willst, reicht folgendes: long Offset; ... Offset=30000; timer=system.timer(); ... ... if system.timer() - timer>=Offset { ... } MfG André H. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | ||
Antwort schreiben Antworten: Re: system.timer() Überlauf (von Detlef - 28.08.2012 8:28) |