On Wednesday, March 13, 2002, at 09:36 AM, Kim L. Smith wrote: > I also need a countdown timer function if anyone has any ideas. I need > to use it for both Mac and PC so it can't be an XCMD, I think.
I'm a Revolution newbie, but I'm willing to comment. Take my ideas with a grain of salt. Do you mean you want something to happen in some time period? Then use send like this: send timesUp to me in 60 seconds Do you mean you want to call a function that returns the time until some some "timer" runs out? In the handler to set the timer for some time (in ms), get milliseconds(), add the time to that and save it in a variable. In the function subtract milliseconds() from the value in the variable and return that. Do you mean you want to display the time until something happens? Start with a field and add handlers to make it work as a timer. Display the remaining time on a regular basis. Calculate the remaining time and display text based on the above function. Set the "timer" for that function when the timer is started. Now for displaying on a regular basis... I read somewhere that using "send" is better than "idle". Make a handler that calls the display handler and takes care of those things that occur when the count gets to or past zero. If the count is not to or past zero, then it should also send a message to itself in some short time period (a fraction of the display resolution). The timer start handler should also call this after the timer is set up. You probably want to keep from calling the regular handler when the timer is restarted; keep a flag variable that indicates that the timer is on. You might want to handle what happens when the user goes to another card (or tries to). I don't have any good ideas here. Alternatives: If you don't mind accumulated errors, you can set the time in the send to the resolution you want and count down a timer. This puts the least load on the system. If you can't have accumulated errors, use the above method and either use a time in send that is several times smaller than the resolution you need or adjust it to lock in on just after a digit change. The first of these last two might make the display look a little ragged; you might need to make a judgment call. You might want to have something occur when the count gets to zero. The easiest way is to do a send just before calling start on the timer. However, if the timer can be paused or restarted, then it might be better to have the regular handler take care of what happens at zero. Yikes! It looks like I got to babbling. Dar Scott _______________________________________________ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
