Thank you both, I'm sure that answers my question.
Paul
On Monday, 17 November 2014 at 16:38:45 UTC, Rene Zwanenburg
wrote:
On Monday, 17 November 2014 at 16:24:10 UTC, Paul wrote:
I'm trying to write a program that involves simple timing; I
like to be able to execute some function at a point no sooner
than, say, 3500 milliseconds from now so I need to read the
current 'system time' in ticks and calculate the required
point in the future using ticks per sec. In other languages
I've done something like this (pseudo code).
now = currentTime;
target = now + 3500
do something
..
until currentTime > target
execute function
I'm completely new to D and find the help pages on this
subject very confusing (or at least a bit too detailed for a
beginner!). Can anyone point me to a simple example or tell me
how to go about this?
Many thanks
Paul
You can get the current 'system time' from std.datetime using
Clock.currTime.
Subtracting one SysTime from another results in a 'Duration',
which you can then compare to your target duration:
var startTime = Clock.currTime;
doSomething();
while(Clock.currTime - startTime < 3500.msecs)
{
executeFunction();
}
Clock.currTime uses a high performance timer,
QueryPerformanceCounter on Windows for example, so you
shouldn't have to worry about timer accuracy.