At 13:33 29/11/2004 -0500, Frank D. Engel, Jr. wrote:

This helps to avoid another problem as well. If a one-second timer is started at, say, 1:31:32, then the minute will be about half-over by the time the display is updated, so that the time display is only accurate about half of the time.

Of course, the timer may drift somewhat if there is a delay in message-processing, depending on how it has been configured...

You can solve both of those problems by doing something like

    send myTimer to me in (1000 - (the millisecs mod 1000) ) millisecs

OK - it looks ugly, but it should line you up onto the second boundaries quite simply.

In fact, the following script (with the addition of the obvious scrolling field, and a "Stop" button") shows that there is some systematic drift of up to 8 milliseconds (on my very SLOW Win2000 laptop).

global gStop

on mouseUp
  put 0 into gStop
  put empty into field "Field"
  send myTimer
end mouseUp

on myTimer
  put (the millisecs mod 1000) into t
  put t & TAB & the secs & TAB & the millisecs & cr after field "Field"
  if gStop = 0 then
    send myTimer to me in (999 - (the millisecs mod 1000) ) millisecs
  end if
end myTimer

-- Alex.


_______________________________________________
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to