[Newbies] Re: Implementing a simple timer
Andreas Raab
andreas.raab at gmx.de
Fri Dec 16 08:04:28 UTC 2011
There is absolutely no guarantee how often #step will actually be
called. The given #stepTime is just a recommendation to the system. To
make your code work you should use something like:
MyTimer>>startTimer
"Start the timer"
timerStarted := Time totalSeconds.
MyTimer>>step
"Update my timer"
self time: Time totalSeconds - timerStarted.
Cheers,
- Andreas
On 12/15/2011 23:51, Jan Teske wrote:
> I'm trying to write a simple timer using a TextMorph and its step
> method. It should count up every 1 second so I've set stepTime to 1000.
> My step method looks as follows:
>
> step
> self time: self time + 1.
> self contents: self time asString
>
> That should work. But I discover one problem: The timer counts up but it
> does so way to fast. If I print the numbers onto the Transcript
> everything works fine. So I think the problem lies within the TextMorph.
> It seems that during the sent of 'self contents:' the step method is
> called again so that it is executed long before the stepTime is up.
>
> Am I right with that suspicion? Can anyone think of a way to work around
> my problem?
>
> Thanks in advance!
More information about the Beginners
mailing list